[Codeforces 1011E] Border】的更多相关文章

[题目链接] https://codeforces.com/contest/1011/problem/E [算法]  裴蜀定理 : 设为n个整数,d是它们的最大公约数,那么存在整数 使得  显然 , 我们只需求出a1,a2...an模k意义下的最大公约数G,然后枚举G的倍数即可 时间复杂度 : O(NlogK) [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 200010 int n , k; int a[MAXN]…
题目链接:http://codeforces.com/gym/100431/ 考虑到对于一个串β,能cover它的最短的α必然是它的border的某个前缀,或者是这个β本身. 所谓border,就是next[len(β)],直观含义是除了串本身以外,使得前缀等于后缀的最长的一段前缀. 发现如果border的两倍就能覆盖整个串,那么问题的规模就减半了,只要求出能cover这个border的最短的串即可.这个关系是具有传递性的,只要border够长,就一直可以推下去.而这种关系可以通过一个last数…
这道题大致题意是给定\(n\)个十进制整数和一个进制数\(k\),可以用无数多个给定的十进制整数,问这些十进制整数的和在模k意义下有多少种不同的结果(\(k\)进制下整数的最后一位就是这个数模\(k\)的余数). 这明显是个数学题(但是不会做又有什么办法[逃]),既然是求模k意义下的可能结果,我们可以让所有数对k取模,这样可以得到末位数字.但是对于蒟蒻来说这有什么用呢(反正本蒟蒻取模之后也还是看不出来).其实这道题并不是要取模,也不是要用进制,而是在十进制下求最大公约数(下面详细解释). 众所周…
一直第9个样例WA,发现事情没有这么简单的时候只剩20分钟了...... 看了一些大神提交的代码,发现还能这么玩..... 这个题目可以转化成这个问题:给一堆[0,m)之间的数,可以随意组合成新的数(当然新的数要%m),问这个区间有多少个数?分别是哪些数? 解法:求所有数的(包括m)的gcd,那么元素个数就是m/gcd(所有的数),每个元素分别是gcd的倍数. 这种做法可以覆盖所有情况,因为求出所有数的gcd后,gcd的某一个倍数可以表示任何一个读入数,自然也可以表实任何读入的数的各种组合,而这…
没想出来QAQ....QAQ....QAQ.... 对于一般情况,我们知道 ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b) 时方程是一定有解的. 如果改成 ax+by=cax+by=cax+by=c 的话该方程有解当且仅当 ccc % gcd(a,b)==0gcd(a,b)==0gcd(a,b)==0 . 这个结论在大于2个个未知数的时候也是成立的,即对于: a1x1+a2x2+a3x3+......anxn=gcd(a1,a2,a3,...an)a_{1}…
[链接] 我是链接,点我呀:) [题意] 给你n个数字,每个数字可以无限用,每种方案可以组成一个和,问你%k的结果有多少种不同的结果. [题解] 相当于给你一个方程 \(x_1*a_1+x_2*a_2+...+x_n*a_n=c\) 然后根据裴蜀定理 设a1,a2,a3......an为n个整数,d是它们的最大公约数,那么存在整数x1......xn使得x1a1+x2a2+...xnan=d c只能为d的倍数. 因为把那个式子两边同乘上倍数就能构造出id了 可能会有些xi<0 但如果数字足够大的…
题目链接 题意 : 给出 N 种纸币.并且给出面值.每种纸币的数量可以任选.问你得出来的数在 k 进制下.末尾位的数有多少种可能.输出具体方案 分析 : 纸币任意选择组成的和 可以用一个一次多项式来表示 A1*B1 + A2*B2 + A3*B3 + ... + An*Bn ( A 为面值.B 为数量 ) 根据裴蜀定理.这个一次多项式的结果集应当是 gcd( A1.A2 .... An ) 的倍数 然后考虑怎么得到每个数 k 进制下的最后一位数 实际上你考虑一下十进制是怎么转化为 k 进制的 就…
题目链接:戳这里 学习博客:戳这里 题意:给n种数,n种数取任意个任意组合相加为sum,求sum%k有哪些值. 解题思路: 由exgcd可知(具体用到的是贝祖定理),ax + by = c,满足gcd(x,y)|c.那么我们可以设sum=a1*x1+a2*x2+a3*x3...an*xn,即sum%k=a1*x2+a2*x2+a3*x3...+an*xn-ak*xk=a1*x1+a2*x2+a3*x3+...+an*xn+ak*xk,满足gcd(x1,x2...xn,xk)|(sum%k). 因…
A. Watching a movie time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You have decided to watch the best moments of some movie. There are two buttons on your player: Watch the current minute…
B - Hongcow Solves A Puzzle 题目连接: http://codeforces.com/contest/745/problem/B Description Hongcow likes solving puzzles. One day, Hongcow finds two identical puzzle pieces, with the instructions "make a rectangle" next to them. The pieces can be…