numbers专题

计蒜客 Half-consecutive Numbers 暴力打表找规律

The numbers 11, 33, 66, 1010, 1515, 2121, 2828, 3636, 4545 and t_i=\frac{1}{2}i(i+1)t​i​​=​2​​1​​i(i+1), are called half-consecutive. For given NN, find the smallest rr which is no smaller than NN

高精度打表-Factoring Large Numbers

求斐波那契数,不打表的话会超时,打表的话普通的高精度开不出来那么大的数组,不如一个int存8位,特殊处理一下,具体看代码 #include<stdio.h>#include<string.h>#define MAX_SIZE 5005#define LEN 150#define to 100000000/*一个int存8位*/int num[MAX_SIZE][LEN];void

leetcode#628. Maximum Product of Three Numbers

题目 Given an integer array, find three numbers whose product is maximum and output the maximum product. Example 1: Input: [1,2,3]Output: 6 Example 2: Input: [1,2,3,4]Output: 24 Note: The lengt

leetCode#448. Find All Numbers Disappeared in an Array

Description Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this

【codeforces】55D. Beautiful numbers 数位DP

传送门:【codeforces】55D. Beautiful numbers 题目分析:被每一位整除则用二进制记录已经包括的数字的个数,以及对2520取模后的状态。由于对5整除当且仅当最后一个数为0或5,对2整除当且仅当最后一个数为偶数,且1~9的最小公倍数为2520,不包括2,5后的最小公倍数为252,所以除最后一层对2520取模,其余时候都对252取模即可。由于整除的状态有限,最多只有

【SGU】113. Nearly prime numbers 合数分解

传送门:【SGU】113. Nearly prime numbers 题目分析:O(sqrt(N))。。 代码如下: #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std ;#define rep( i , a , b ) for

USACO Section 3.1 Humble Numbers

题意: 已知一个集合S  由S的任意子集作为因子  可构造出一个数字  求  这些构造出的数字中第k大的数字是多少 思路: 拿到这题就被“数字不是很多而且比较连续暴力枚举就好”这个思路迷惑了  果断TLE… 跪了一次后想到通过bfs构造可取  这时用了queue维护bfs  用priority_queue维护答案(大顶堆  内部最多k个数字)  用set判重复(5*2=2*5)  写

Sum of Square Numbers

Given a non-negative integer c, your task is to decide whether there're two integers a and b such that a2 + b2 = c. Example 1: Input: 5Output: TrueExplanation: 1 * 1 + 2 * 2 = 5 Example 2: Inpu

JavaScript - First step - Numbers and operators

Types of numbers Integers 整数Floating point numbers 单精度浮点数Doubles 双精度浮点数Binary 二进制Octal 八进制Hexadecimal 十六进制 Arithmetic operators 算术运算符 + 加法- 减法* 乘法/ 除法% 求余** 指数 (次方 5 ** 5 = 5 * 5 * 5 * 5 * 5) Oper

leetcode 902. Numbers At Most N Given Digit Set

题目链接 Given an array of digits which is sorted in non-decreasing order. You can write numbers using each digits[i] as many times as we want. For example, if digits = ['1','3','5'], we may write number

HDU 5522 Numbers (暴力枚举)

题意:在一个数组里找是否有三个不同位置的数满足A=B+C 解答:先排序然后从大到小枚举i,把右边的数用一个数组标记其出现过,再枚举左边的数判断其加上Ai是否出现过. #include<bits/stdc++.h>using namespace std;#define LL long long#define pb push_back#define cl(a,b) memset(a,b,s

ural Threeprime Numbers(dp)

http://acm.timus.ru/problem.aspx?space=1&num=1586 题意没看懂,看了别人的翻译。threeprime number的意思是任意三个连续的数组成的一个三位数是素数,注意必须是三位数。给出n,问满足条件的n位数有多少个。 先把三位数的素数筛选出来并标记,设dp[i][j][k]表示到i位为止,最后两位是j和k的满足条件的数的个数。 那么

Humble Numbers 丑数

http://acm.hdu.edu.cn/showproblem.php?pid=1058 很多人都说这道题是水题,但对于我来说还是很有用的,它教会我在处理这种问题的时候为了节省时间我们可以先把所有的满足范围的丑数找出来,再进行下面的操作。和去年吉林省省赛那道素数题相似。 #include<iostream>#include<cstring>#include<algorithm>#in

codeforce 9C(Hexadecimal's Numbers)

来   看谁的代码短 C. Hexadecimal's Numbers time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output One beautiful July morning

UESTC 1712 Easy Problem With Numbers 除法对和数取模,分解,线段树

附上神牛原版思路: 如果这个题只有乘法,那么你肯定会做吧?线段树更新区间查找区间。 那么有除法呢?当一个数x和m互质的时候,除以x可以改为乘以x的逆元。(至于互质的数求逆元用扩展欧几里德,这个网上可以随便找到) 但是这题并不能保证除的数与m互质吧?什么时候x与m不互质呢?就是x与m含有公因子吧? 那么我们一开始就把m分解,分解出来m有p1,p2,p3,p4...pn等一

CF——Average Numbers

Average Numbers Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Description You are given a sequence o

Ural 1009 K-based Numbers(DP)

题目地址:Ural 1009 DP水题。。二维DP,第一维只用0和1来表示0和非零就可以。 代码如下: #include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <q

Codeforces Round #FF (Div. 1) C. DZY Loves Fibonacci Numbers

用线段树维护 记录三个值,一个是区间和,一个是该区间 1 , 2 位置的斐波那契数列前两项大小(因为两个斐波那契数列相加得到的还是一个斐波那契数列,且该数列只与两个首项和项数有关,另外斐波那契数列前N 项和  与  该斐波那契数列第N+2减去第二项  的值 相同) 该线段树的pushdown有一些改变,直接利用已有的update函数将懒标记下传,下传时改变的区间是传入pushdown的区间大

UVA10006 - Carmichael Numbers(筛选构造素数表+快速幂)

UVA10006 - Carmichael Numbers(筛选构造素数表+快速幂) 题目链接 题目大意:如果有一个合数,然后它满足任意大于1小于n的整数a, 满足a^n%n = a;这样的合数叫做Carmichael Numbers。题目给你n,然你判断是不是Carmichael Numbers。 解题思路:首先用筛选法构造素数表,判断n是否是合数,然后在用快速幂求a^2-a^(n

UVA138 - Street Numbers(等差数列)

UVA138 - Street Numbers(等差数列) 题目链接 题目大意:找十组这样的数(a,b) 满足 1到a-1的和等于 a + 1到b的和。 解题思路:根据等差数列的性质可以得到:a (a - 1) == (a + 1 + b) (b - a)化简得 b^2 + b - 2a^2 = 0; 这样b = (sqrt(1 + 8a^2) - 1) / 2; 代码: #i

386. Lexicographical Numbers

Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9]. Please optimize your algorithm to use less time and space. The input s

leetcode 题解 2. Add Two Numbers

leetcode的第二题,这一题实际上已经将问题做了简化,链表已经进行了逆序,因此只要从后向前处理即可。 这里有几点需要注意的问题: 两个数相加后结果可能大于10,因此需要主要进位的问题。 两个链表的长度可能不同,若一个链表为空,则将其值设为0。 若最后的结果仍然大于10,则还要再进一位。 直接将结果贴出来。 struct ListNode* addTwoNumbers(struc

URAL 1002. Phone Numbers

题意就是,已知一串数字,按照题目给的对应表,转换成字母之后,能否由给定的单词组成。要求 输出单词数最小的任意一组答案,或输出无解。 用的DP。 dp[ i ]表示以前i个字母可以组成的最少单词数量。 最后dp [ 总字符数量 ] 就是最少单词个数。 再根据path[ i ] 记录的路径,返回去输出每个单词。 具体见代码: #define K2(a,b,t) case a:c

[leetcode]386. Lexicographical Numbers

Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9]. Please optimize your algorithm to use less time and space. The input size ma

Bitwise AND of Numbers Range问题及解法

问题描述: Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive. 示例:given the range [5, 7], you should return 4. 问题分析: 寻找n和m的最左侧的公共位。

Compare Version Numbers问题及解法

问题描述: Compare two version numbers version1 and version2. If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0. You may assume that the version strings are non-em