
数学
文章平均质量分 78
yaa123_
学生
展开
-
hdu6053-容斥+莫比乌斯函数+优化
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6053题意:给一个序列A,要求构造序列B,使得 Bi 1, 1 思路:求出序列A的最大值Max,最小值Min枚举整个序列的{d| 2 所以每个d对最后结果的贡献值为 π(Ai/d), 如果不考虑重复,答案为Σd*π(Ai/d),但是最后会有重复,例如d = 2时原创 2017-08-16 15:31:09 · 396 阅读 · 0 评论 -
uva12298(Super Poker II)-FFT(快速傅里叶变换)
题目链接:Super Poker II题意:有一副超级扑克牌,超级扑克牌由四个花色组成,每个花色都有无数张牌,扑克牌的面值p满足条件:p的约数的个数大于2,即扑克牌的面值为:4,6,8,9,10,12,...(不包括1和素数的自然数)现在这幅扑克牌丢失了c张,问你从剩余的扑克牌的4个花色中各选出一张牌来,四个花色的面值之和组成一个新的值,问分别有多少种选法能组成值a,原创 2017-08-23 16:04:40 · 520 阅读 · 0 评论 -
UVALive5009(Error Curves)-三分求极值
题目链接:Error Curves题意:给出n个开口向上的二次函数(或一次函数,常数函数)Si(x),F(x) = max(Si(x)), i = 1,2,3,...,n,F(x)的定义域为[0,1000],求F(x)的最小值,输出保留四位小数。思路:开口朝上的二次函数是下凸函数,两个开口朝上的二次函数在定义域内取最大值得到的函数还是一个下凸函数,若多个开口朝上的原创 2017-08-27 10:51:06 · 410 阅读 · 0 评论 -
hdu-6158-圆的反演
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6158题意:给你两个内切的圆的半径,一大一小,在两个圆之间放n个小圆(如图),求n个小圆的总面积。思路:设给定的两个圆,大圆的半径为r1,小圆的半径为r2,那么r1与r2之间圆1的半径为r2-r1,由于每个小圆的半径求法类似,只要能求出原创 2017-08-22 23:42:28 · 1522 阅读 · 0 评论 -
HihoCoder1388(Periodic Signal)-fft(快速傅里叶变换)
题目链接:Periodic Signal题意:求思路:求题目所给的最小值转化为了求的最大值。构造序列两个求这两个序列的卷积,就可以得到,k = 0, 1, 2, ..., n - 1,求卷积用fft来实现,复杂度为o(n*log(n))由于用fft算出来的数精度误差会比较大,可以用这个方法先算出k的位置,然后将k代原创 2017-08-25 14:18:16 · 548 阅读 · 0 评论 -
CodeForces-707C-勾股定理
题目链接:Pythagorean Triples题意:给你一个n,问你是否能找到m,k,使得n,m,k是一个直角三角形的三边长。思路:假设n是直角边,则设A = (k + m), B = (k - m),则因为n,m,k为三角形三边,所以要保证都是整数并且大于0,所以A,B奇偶性应相同,且所以:当n = 1 或 n = 2时,无解,n原创 2017-08-25 13:18:43 · 523 阅读 · 0 评论 -
hdu6172(Array Challenge)-Berlekamp-Massey算法
题目链接:Array Challenge题意:给出数列h,b,a的递推公式,求。今天学了个新东西,Berlekamp-Massey算法,可以用这个猜出序列的递推关系为,然后用矩阵快速幂就可以了。。。代码:# include # include # include # include using namespace st原创 2017-08-24 21:54:00 · 871 阅读 · 1 评论 -
uva1069-数学归纳法
题目链接:https://cn.vjudge.net/problem/UVA-1069题意:给出一个多项式(P) / D,P = Am * n^m + Am-1 * n^(m-1) + ... + A2 * n^2 + A1 * n + A0, 判断是否对于所有的正整数,其结果都为整数思路:判断对于所有的正整数,(P) / D 的结果是否都为整数,等价于判断对于所有的正整数,(P) m原创 2017-08-14 19:01:52 · 371 阅读 · 0 评论 -
hdu6134-莫比乌斯反演+思维
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134题意:让你求直接枚举求前缀和是o(n^2)的复杂度,肯定会超时,应该想办法优化的复杂度,然后求前缀和,就可以得到要求的f(n)设,则,根据莫比乌斯反演,求得计算时,直接枚举复杂度太高,可以枚举j和t,,这样时间复杂度为原创 2017-08-21 14:54:38 · 467 阅读 · 1 评论 -
莫比乌斯反演总结
终于弄明白莫比乌斯反演是怎么回事了,来总结一下...首先是莫比乌斯函数的定义, p1,p2,p3,...,pk为互不相等的素数莫比乌斯函数有一个很重要的性质:, [m = 1]的意思是, m等于1时, 结果为1, 否则, 结果为0证明如下:根据唯一分解定理,任何一个大于1的自然数 N,如果N不为素数,那么N可以唯一分解成有限个素数的乘积,那么枚原创 2017-08-21 10:54:46 · 1505 阅读 · 0 评论 -
hdu3625-第一类斯特林数
第一类斯特林数S(n, m)是将n个物品分成m个非空循环排列的方法数对于第n个物品,可以单独构成一个非空循环排列,这样前n-1个物品构成m-1个非空循环排列,方法数是 S(n - 1, m - 1),也可以前n - 1个物品构成m个非空循环排列,第n个物品插入第i个物品的左边,方法数是 (n - 1) * S(n - 1, m),所以递推公式为S(n, m) = S(n - 1, m原创 2017-08-19 10:32:17 · 667 阅读 · 0 评论 -
hdu6097-反演点+相似三角形
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6097题意:给一个圆C和圆心O,P、Q是圆上或圆内到圆心距离相等的两个点,在圆上取一点D,求|PD| + |QD|的最小值反演点定义:https://baike.baidu.com/item/反演点/5735267?fr=aladdin做点P、Q的反演点P'、Q'原创 2017-08-11 15:45:19 · 769 阅读 · 0 评论 -
uva11728-约数的和
给一个S, 求满足正约数的和是S的最大整数直接预处理一个答案数组即可代码:# include # include # include # include # include using namespace std;typedef long long LL;const int maxn = 1e3 + 5;int ans[maxn];int s;vo原创 2017-08-17 20:35:02 · 328 阅读 · 0 评论 -
uva10673-扩展欧几里得
给出x, k, 求 x = p * 下取整(x / k) + q * 上取整(x / k) 的一组解p, q直接用扩展欧几里得即可代码:# include # include # include # include # include using namespace std;typedef long long LL;int x, k;int exgcd(int原创 2017-08-17 19:24:40 · 326 阅读 · 0 评论 -
poj2417(Discrete Logging)-Baby Step Giant Step
题目链接:Discrete Logging题意: ,给你P(P为素数),B,N,让你求满足条件的最小的L,无解输出 no solution.思路: ,求满足条件的最小x,若p为素数,可用Baby Step Giant Step算法令m = sqrt(n), 则,先预处理出,存入haxi(hash)表里,,,枚举i,看a^j是否在hash表中,如果找到了,就输原创 2017-08-30 11:33:17 · 363 阅读 · 0 评论