A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) make_pair(a,b) #define pb push_back using namespace std; typedef long long ll; ; ; ]; int main() { int n; cin >> n; ;i<=n;i++) { cin >> num…
根据拓展欧几里得对于同余方程 $ax+by=c$ ,有解的条件是 $(a,b)|c$. 那么对于构造的序列的数,前一个数 $a$  和后一个数 $b$ ,应该满足 $a*x=b(mod m)$ 即 $ax+my=b$; 建图时,遍历 $0 \to m-1$,对于没有标记的数 $i$ ,在 $gcd(i,m)$ 和 $i$ 之间连边. 但是,仅仅如此只是把每个数和其与m的最大公因数相连,还有些情况没有考虑.只要满足 $(a,m)|b$,那么 $a,b$就可以连边. 对于一个点,如果他指向的点也是一…
https://codeforces.com/contest/1114/problem/C 题意 给你一个数n(<=1e8),要你求出n!在b进制下的后缀零个数(b<=1e12) 题解 a在b进制下的后缀零个数? \(a=p_1^{x_1}*p_2^{x_2}*p_3^{x_3}...*p_n^{x_n}\), \(b=q_1^{y_1}*q_2^{y_2}*q_3^{y_3}...*q_n^{y_n}\) p,q为素因子,后缀零个数为min(floor(\(x_i/y_i\))) 求p在n!…
A. Div. 64 time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Top-model Izabella participates in the competition. She wants to impress judges and show her mathematical skills. Her problem is f…
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11672&courseid=0 题目大意: 给定任意一个N,(N<=109)求斐波那契—卢卡斯数列的前两项A和B.(先满足B最小再满足A最小,A<=B) 斐波那契—卢卡斯数列是斐波那契数列的推广,斐波那契数列f[0]=0,f[1]=1,斐波那契—卢卡斯数列f[0]=A,f[…
题目链接: http://codeforces.com/problemset/problem/710/D 题目大意: 两个等差数列a1x+b1和a2x+b2,求L到R区间内重叠的点有几个. 0 < a1, a2 ≤ 2·109,  - 2·109 ≤ b1, b2, L, R ≤ 2·109, L ≤ R). 题目思路: [数论][扩展欧几里得] 据题意可得同余方程组 x=b1(mod a1) 即 x=k1*a1+b1 x=b2(mod a2) x=k2*a2+b2 化简,k1*a1=k2*a2…
补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without Fear and Reproach http://codeforces.com/gym/100812/problem/L time limit per test 2.0 s memory limit per test 256 MB input standard input output standard output Th…
题目出自 Codeforces Round #126 (Div. 2) 的E. 题意大致如下:给定a,b,c,s,求三个非负整数x,y,z,满足0<=x<=y<=z,ax+by+cz=s,使得f(x,y,z)=|ax-by|+|by-cz|最小 思路:枚举z,得到一个方程ax+by=s-cz,用扩展欧几里得求出这个方程的一个解,然后三分通解的整系数,求出最小f值.至于为什么可以三分画画图就清楚了,两个绝对值函数叠加在一起最多只有三种状态(第一维表示临界点较小的那个绝对值函数):(降,降)…
扩展欧几里得是计算 ax + by = gcd(a,b) 的 x,y的整数解. 现在是ax + by + c = 0; 只要 -c 是 gcd(a,b) 的整数倍时有整数解,整数解是 x = x*(-c)/gcd(a,b) ; y = y*(-c)/gcd(a,b); #include <bits/stdc++.h> using namespace std; typedef long long ll; void gcd(ll a,ll b,ll& d,ll& x,ll&…
B. Proper Nutrition time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vasya has n burles. One bottle of Ber-Cola costs a burles and one Bars bar costs b burles. He can buy any non-negative in…