
math
文章平均质量分 74
NightRaven
cust
展开
-
sgu 140 Integer Sequences 扩展GCD
两个长度为N序列A和X,有sum(Ai*Xi)≡B (mod M),先给出序列A,整数B,M,求一组可行的序列X,无解输出NO。 首先如果N为1,a*x≡B (mod M),这个式子等价与 a*x+M*y=B,显然这个式子是可以用扩展gcd求出来的。 若N为2 既,a*x+by≡B(mod M),等价于a*x+b*y+M*=B,此时首先求式子a*x+b*y=gcd(a,b),记原创 2014-01-22 19:22:06 · 782 阅读 · 0 评论 -
hdu4689 Turn the pokers 组合
m张相同的扑克牌,n个操作,每次操作可以选择fa原创 2014-07-23 21:00:31 · 763 阅读 · 0 评论 -
ural 1996. Cipher Message 3 KMP+FFT
长度为N,M的两个字符串,每个串的单位元素是一个8位的01串,现在允许修改第二个串的每个单位元素的最后一位(0变1或者1变0),问最少要修改几个字符可以使得第二个串在第一个串中匹配,并输出最靠前的匹配位置。 首先把单位元素分成前七位和最后一位两部分,前七位可以看成一个0-127的数存起来,得到前七位组成两个串A,B和最后一位组成的两个串a,b。然后对A,B跑一边KMP,剩下的就是在匹原创 2014-03-07 15:20:54 · 952 阅读 · 0 评论 -
2013长沙网络赛G Goldbach FFT
先贴题目连接:http://acm.zju.edu.cn/changsha/showProblem.do?problemId=28 题意是给一个数n(1 首先筛素数,之后a,a*b,a*b*c,a*b+c都可以暴力求出来,那么难处理的主要就是a+b和a+b+c这两种情况,这里用两次fft来计算,第一次求出k=a+b中每个k各有多少中表示方法,这里注意判一下重,删掉原创 2014-03-05 18:18:36 · 1059 阅读 · 0 评论 -
hdu1402 A*B 快速傅里叶变换(FFT)
两个不超过50000位的数,求乘积。高精度乘法,但是写暴力高精的话复杂度是O(n^2),不压位估计是要T掉的=,这里介绍一种新的方法,可以在O(nlogn)的复杂度内求出答案。先来说一下我对fft的理解吧,fft其实就是一个求多项式乘法的快速算法,两个n阶多项式相乘,传统的方法是循环相乘再累加,复杂度是O(n^2),而用fft去实现的话,复杂度可以降到O(nlogn)。对于n阶多项式,我们可以原创 2014-03-05 15:21:22 · 1882 阅读 · 0 评论 -
hdu4609 3-idiots FFT
跟n条边,求任选三条边可以组成三角形的概率。求出n条边组成三角形的方案数,再除以C(n,3)就可以了,所以这题转化成n条边求可组成的三角形数。首先用一个数组num[i]记录长度为i的边出现了几次,之后求num的卷积,即可得到n条边中任取两条边的和的长度各出现了多少次,拿第一组样例来说a[]={1 3 3 4}转化成num={0,1,0,2,1},{0,1,0,2,1}*{0,1,0,2,1原创 2014-03-05 15:41:44 · 788 阅读 · 0 评论 -
sgu 169 数学推导,找规律
贴个网址:http://hi.baidu.com/zyz913614263/item/478ce4dd244300ca251f40fc推导过程给的很清楚,最后只好讨论最低位的情况就行了...#include #include using namespace std;int main(){ int k; scanf("%d",&k); if (k == 1)原创 2014-01-17 21:01:26 · 717 阅读 · 0 评论 -
Codeforces 380D Sereja and Cinema
#223Div1的第四题,题意大致是一排n个座位,每个座位两侧有个电源(那么总共就是n+1个电源),每来一个人坐在某个位置上后,他就会占用这个座位两侧的电源,如果只剩一个可用就用一个,如果两个都被占了,他就会生气的离开,现在如果个别位置上的人是第几个入场确定的话,问如何安排省下位置上的人的进场顺序,可以使所有人都能有至少一个电源用而不至于生气的离开。 这题一直没什么思路,昨天拿去原创 2014-01-17 01:42:12 · 1135 阅读 · 0 评论 -
sgu 141 Jumping Joe 扩展GCD
一维的数轴上,初始位置在原点,四种移动方式,左移a,右移a,左移b,右移b,问是否可以恰好K步移动到点P,若可以择输出一种可行的方案。 实际上就是解方程 ax+by=P,abs(x)+abs(y)=K 用扩展GCD可以求出一组解,但这组解的绝对值的和不一定是最小的,那么可以通过x+=k*b/gcd,y-=k*a/gcd来尝试收缩出一组绝对值的和最小的解,之后记录原创 2014-01-22 19:33:30 · 981 阅读 · 0 评论 -
hdu5017 Ellipsoid 三分套三分
题意大概是给一个椭球方程,求椭球面上到原点(0,0,0)的最小距离。 三分x然后三分y,用原创 2014-09-17 15:37:12 · 612 阅读 · 0 评论