题意: 给出一个形如(P)/D的多项式,其中P是n的整系数多项式,D为整数. 问是否对于所有的正整数n,该多项式的值都是整数. 分析: 可以用数学归纳法证明,若P(n)是k次多项式,则P(n+1) - P(n)为k-1次多项式. P是n的一次多项式时,P是一个等差数列,只要验证P(1)和P(2)是D的倍数即可. P是n的二次多项式时,只要验证第一项为D的倍数,且相邻两项的差值也是D的倍数即可.相邻两项的差值为一次多项式,所以要验证两项,加上前面验证的第一项,所以共验证P(1).P(2)和P(3)…
转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Always an integer Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Combinatorics is a branch of mathematics chiefly concerned with counting discrete objects. For instanc…
Codeforces Round #262 (Div. 2) C C - Present C. Present time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little beaver is a beginner programmer, so informatics is his favorite subject. Soon…
2014多校9 1011 http://acm.hdu.edu.cn/showproblem.php?pid=4970 Killing Monsters Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 331    Accepted Submission(s): 198 Problem Description Kingdom Rush…
题意: 有数列a[ ]; 操作op[ ] = { l, r, d }; 询问q[ ] = { x, y }; 操作表示对a的[ l, r ] 区间上每个数增加d; 询问表示执行[ x, y ]之间的op. 打印最终数列. 思路: 用两次差分数列, 先处理出对于每个op调用了几次, 再对数列执行操作. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const i…
题意: 给出n项的数列A[ ], q个询问, 询问 [ l, r ] 之间项的和. 求A的全排列中该和的最大值. 思路: 记录所有询问, 利用差分数列qd[ ], 标记第 i 项被询问的次数( 每次区间增1 ). 最后对qd, A 进行升序排序, 对应项相乘, 求和. 理由是: 越大的数被询问覆盖的次数越多那么总和就越大. 差分数列简单易用. #include <cstdio> #include <cstring> #include <algorithm> using…
ACM-ICPC Live Archive 一道模拟题,题意是问一个给出的多项式代入正整数得到的值是否总是整数. 这题是一道数论题,其实对于这个式子,我们只要计算1~最高次项是否都满足即可. 做的时候,模拟出了点小错误,一直wa.幸亏最后还是能找到错误的位置. 代码如下: #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cct…
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2120 假设式子的最高幂次为k 则只需要测试1到k+1就可以了 原理见 刘汝佳的<算法竞赛入门经典入门指南> P123 字符串需要自己处理,比较繁琐 一定要细心 代码: #include <iostream> #include <cstdio>…
传送门 解题思路 区间加等差数列+单点询问,用差分+线段树解决,线段树里维护的就是差分数组,区间加等差数列相当于在差分序列中l位置处+首项的值,r+1位置处-末项的值,中间加公差的值,然后单点询问就相当于在差分数列中求前缀和. #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; ; typedef long long LL;…
差分数列+字符串处理 题意:是让你判断一个整系数多项式的值是否一直都能被一个所给的正整数所整除. 通过对差分数列的不断求导,我们可以发现,对于任意多项式P,我们只需要判断n从1到k+1是否满足就行了,其中,k为多项式P中的最高次数. 可以先了解一下差分数列. #include <iostream> #include <cstdio> #include<cstdlib> #include<cctype> #include<string> #incl…