摘要:
考虑暴力递归求解的情况:f(i)=min(a(i),f(i-1),f(i-2),...,f(1))由于只要参数相同,f()函数的返回值是一样的,因此导致了大量的重复计算,所以我们可以记忆下来。 1 #include 2 #include 3 #include 4 using namespace st... 阅读全文
摘要:
http://www.cnblogs.com/BLADEVIL/p/3490321.htmlhttp://www.cnblogs.com/zyfzyf/p/3997986.html翻了翻题解,这两个合起来比较明白……题意:求1~n!中与m!互质的数的数量(mod R)。∵由欧几里得算法得gcd(a,... 阅读全文
摘要:
由图可知,一个人无法被看到时,当且仅当有 人与原点 的斜率与他相同,且在他之前。∴一个人可以被看到,设其斜率为y/x,当且仅当y/x不可再约分,即gcd(x,y)=1。考虑将图按对角线划分开,两部分对称,对其中的下半部分来说,枚举x,其所对应的y值(y 2 using namespace std; ... 阅读全文
摘要:
好吧……我不会欧拉筛也就罢了……傻逼筛法竟然这么长时间以来 一直RE ……源头竟然是 int 爆了。 1 #include 2 #include 3 using namespace std; 4 bool vis[70000]; 5 int a,b; long long ans; 6 void Sh... 阅读全文
摘要:
素数判定模板。 1 #include 2 #include 3 using namespace std; 4 int a[2001],ans=-2147483647,l,r,n,sum[2001]; 5 bool is_prime(const int &x) 6 { 7 for(int i=... 阅读全文
摘要:
O(sqrt(n))枚举约数,根据定义暴力判断友好数。 1 #include 2 #include 3 using namespace std; 4 int n; int limit; 5 int main() 6 { 7 scanf("%d",&n); 8 for(;;n++) 9... 阅读全文
摘要:
裸快速幂取模,背诵模板用。 1 #include 2 using namespace std; 3 typedef long long LL; 4 LL n=1,m,q; 5 LL Quick_Pow(LL a,LL p,LL MOD) 6 { 7 if(!p) return 1; 8 ... 阅读全文
摘要:
新GET了一种卡特兰数的应用……在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次。在满足这些线段将圆分成最少部分的前提下,请计算有多少种连线的方法。不会证明,当结论记住吧。f(i)=f(i-1)*(4*n-2)/(i+1) (2 2 using namesp... 阅读全文