反思
a735147264
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA11461Square Numbers
题意:求a到b区间中,能开尽平方的数,比如,1,4,9,16 思路:智障题目。统计转化为区间。 代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#define DB puts("*原创 2016-07-18 21:57:42 · 230 阅读 · 0 评论 -
UVA 11426GCD - Extreme (II)
题意:计算G的值G=0;for(i=1;i<N;i++)for(j=i+1;j<=N;j++){ G+=gcd(i,j);}思路:设答案为F[n],F[n]=F[n-1]+gcd(1,n)+gcd(2,n)+…+gcd(n-1,n) 设G[n]=gcd(1,n)+gcd(2,n)+…+gcd(n,n), F[n]=F[n-1]+g[n].关于G[n]的求法。若是gcd(原创 2016-08-07 19:16:08 · 293 阅读 · 2 评论 -
UVA11489Integer Game
题意:从一串数里面选一个,使得剩下的数之和为3的倍数,若没有数可以选则对面赢了。 思路:简单博弈论。如果第一次取能取,那么之后取的都必须是3的倍数。可以从3的倍数的数的个数的奇偶性得出结果。 代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#incl原创 2016-07-18 21:55:20 · 235 阅读 · 0 评论 -
UVA11609Teams
题意:从N个人里面选出一个或者多个组成队伍,并选出一个作为队长,求所有的分组的可能数。 思路:瞎做。用组合数学加推导推导。Ans=sum(C(n,k)*k,1<=k<=n)然后将K乘进去,并且把最前面的N提出来,就变成了 Ans=sum(n*C(n-1,k-1),1<=k<=n) Ans=n*2^(n-1) 代码:#include <iostream>#include <cstring>原创 2016-07-18 21:50:01 · 287 阅读 · 0 评论 -
UVA11076Add Again
题意:给出N个一个数字,求这N个数字组成的所有N位数的和。 思路:瞎做。将每一个数字分开看,i作为第k位出现的数字的数量乘i再乘pow(10,k),从i=0,到i=9求和便是答案。 代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <原创 2016-07-18 21:40:14 · 218 阅读 · 0 评论 -
UVA10892LCM Cardinality
题意:给出N,求LCM(A,B)为N的A和B的对数。 思路:本垃圾暴力拆解…然后一个一个试乘起来是不是等于N。。。 代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#define D原创 2016-07-18 21:30:12 · 207 阅读 · 0 评论 -
UVA10780Again Prime? No Time.
题意:给定m和n,找到最大的ans,使得m的ans次幂是n!的约数。 思路:瞎做。质因数分解,将m进行质因数分解,再对n!进行质因数分解。设prime[]为素数表。 设pi为将m质因数分解后prime[i]的number。设qi为将n!进行质因数分解后prime[i]的number。那么 ans=min(qi/pi) 代码:#include <iostream>#include <cstd原创 2016-07-18 21:15:17 · 196 阅读 · 0 评论 -
UVA10943 How do you add?
题意: 求用K个不超过N的非负整数组成N的组合有多少种。思路:瞎求。DP或者数论都行。本弱用了自顶向下的带备忘的DP,捡方便。设F(N,K)为答案, 那么F(N,K)=Sum(F(i,K-1),0<=i<=N)代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmat原创 2016-07-18 21:00:05 · 244 阅读 · 0 评论 -
uva11889 benifit
题意:给出A和C,求使得LCM(A,B)=C的最小的B 。思路:质因数分解。如果C%A!=0,那么肯定是没有答案的。否则设B=C/A。如果gcd(B,A)!=1那么LCM(A,B)肯定是小于C的。所以要使得gcd(B,A)==1成立的B才是符合条件的。代码:`#include include include include include include include define DB puts原创 2016-07-18 20:25:52 · 219 阅读 · 0 评论 -
Lucas定理C递归实现
int lucas(LL n,LL k,int p){ return k?lucas(n/p,k/p,p)*C(n%p,k%p,p):1;}附带逆元线性递推求法:inv[i]=-(p/i)*inv[p%i];原创 2016-08-07 19:21:54 · 513 阅读 · 3 评论
分享