摘要:
SuperHyperMarket(优先队列+重载) 具体见代码注释 阅读全文
摘要:
唯一分解定理:每一个大于1的正整数均可分解为有限个素数的积,如果不计素因数在乘积中的次序,则分解方式是唯一的。将n的素因数分解中相同的素因子收集到一起,可只每个大于1的正整数n可唯一地写成 n = p1a1p2a2p3a3...pkak,其中,p1,p2,p3,...,pk ,是互不相同的素数,而a 阅读全文
摘要:
欧拉函数:小于x的整数中与x互质的数的个数,一般用φ(x)表示,φ(1)=1 计算公式:φ(x)=x*(1-1/p1)(1-1/p2)...(1-1/pn),其中x的所有素因子数分别为p1,p2,p3,...,pn. 常用性质:1.对于素数p,φ(p) = p-1, φ(pk) = pk-pk-1 阅读全文
摘要:
题目链接:Good Morning 题目大意:按键盘上的数字,只能在此位置的基础上往右往下按,要求输出与所给值差的绝对值最小的数 AC代码如下: 阅读全文
摘要:
费马小定理:若p是素数,a是正整数且不能被p整除,则ap-1 == 1(mod p) 费马小定理的拓展:ap == a(mod p) 欧拉定理:对任意互素的a和n. 设Φ(n) 为小于n且与n互素的正整数的个数,有aΦ(n) == 1(mod n) 欧拉定理的拓展:aΦ(n)+1 == a(mod 阅读全文
摘要:
题目链接:Almost Sorted Array 不用任何算法的做法:样例:1 3 6 5 7 8 9 9 8 7 5 6 3 2 2 7 1 1 AC代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #incl 阅读全文
摘要:
定义:在最长上升序列的基础上,允许相同的若干元素出现在子序列中 DP做法: 1 //DP 2 int LDNS(int a[], int n) 3 { 4 int DP[n]; 5 int Cnt=-1; 6 memset(DP, 0, sizeof(DP)); 7 for(int i=0; i<n 阅读全文
摘要:
求一个数列的最长上升序列 动态规划法:O(n^2) 1 //DP 2 int LIS(int a[], int n) 3 { 4 int DP[n]; 5 int Cnt=-1; 6 memset(DP, 0, sizeof(DP)); 7 for(int i=0; i<n; i++ ) 8 { 9 阅读全文
摘要:
I Count Two Three 二分查找用lower_bound 这道题用cin,cout会超时。。。 AC代码; 1 /* */ 2 # include <iostream> 3 # include <cstring> 4 # include <string> 5 # include <cst 阅读全文
摘要:
Keywords Search 指针方式: 1 /* Keywords Search */ 2 # include <iostream> 3 # include <stdio.h> 4 # include <string.h> 5 # include <string> 6 # include <cs 阅读全文