codeforces 1010 C. Border【exgcd】】的更多相关文章

题目链接:戳这里 学习博客:戳这里 题意:给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). 因…
[CodeForces - 1225D]Power Products [数论] [分解质因数] 标签:题解 codeforces题解 数论 题目描述 Time limit 2000 ms Memory limit 524288 kB Source Technocup 2020 - Elimination Round 2 Tags hashing math number theory *1900 Site https://codeforces.com/problemset/problem/1225…
A. Crazy Computer time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Coder is coding on a crazy computer. If you don't type in a word for a c consecutive seconds, everything you typed…
卡片 题目描述 你有一叠标号为1到n的卡片.你有一种操作,可以重排列这些卡片,操作如下:1.将卡片分为前半部分和后半部分.2.依次从后半部分,前半部分中各取一张卡片,放到新的序列中.例如,对卡片序列(1,2,3,4,5,6)操作后的结果为(4,1,5,2,6,3).现在你有一个初始为(1,2,3,⋯,n)的卡片序列,你需要求出进行m次操作之后第x个位置上的卡片的标号. 输入 第一行包含三个非负整数n,m,x. 输出 输出一行一个数,表示答案. 样例输入 6 2 3 样例输出 6 提示 对于60%…
Codeforces 1027E Inverse Coloring 题目链接 #include<bits/stdc++.h> using namespace std; #define N 1010 #define LL long long #define Mod 998244353 int n,k; LL dp[N][N],ans=; LL sum[N][N]; int main(){ cin>>n>>k; dp[][]=; ;i<=n;i++) ;j<=i…
首先矩阵快速幂可以算出来第k项的指数,然后可以利用原根的性质,用bsgs和exgcd把答案解出来 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll N = 1e2 + 10; const ll Mod = 998244353; ll add(ll a, ll b, ll mod = Mod) { return (a += b) >= mod ? a - mod : a; } ll sub…
推导过程存在漏洞+exCRT板子没打熟于是期望得分÷实际得分=∞? 题目描述 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照编号 \(1\sim n​\) 顺序杀掉 \(n​\) 条巨龙,每条巨龙拥有一个初始的生命值 \(a_i​\).同时每条巨龙拥有恢复能力,当其使用恢复能力时,它的生命值就会每次增加 \(p_i​\),直至生命值非负.只有在攻击结束后且当生命值恰好为 \(0​\) 时它才会死去. 游戏开始时玩家拥有 \(m\) 把攻击力已知的剑,每次面对巨龙时,玩家只…
比较裸的$exgcd$的应用? $exgcd$可以算出在$x$和$y$分别是最小正整数时的解.注意在这里因为有$a(x+\frac{b}{d})+b(y-\frac{a}{d})=c$,$d=gcd(a,b)$,所以$\frac{b}{d}$和$\frac{a}{d}$一定是整数,所以最小$x$的整数解%的应该是$\frac{b}{d}$而不是$b$,$y$同理. 算出两种情况的最小整数解后,$x$为最小正数时$x$一直在加,$y$一直在减,所以$x$最小时$y$都为非正数,则无解.判$y$时同…
时间限制:40000ms 单点时限:2000ms 内存限制:256MB 描述 给定一个长度为 n 的非负整数序列 a[1..n]. 你每次可以花费 1 的代价给某个 a[i] 加1或者减1. 求最少需要多少代价能将这个序列变成一个不上升序列. 输入 第一行一个正整数 n. 接下来 n 行每行一个非负整数,第 i 行表示 a[i]. 1 ≤ n ≤ 500000 0 < a[i] ≤ 109 输出 一个非负整数,表示答案. 样例解释 [5,3,4,5] -> [5,4,4,4] 样例输入 4 5…
BZOJ1407 NOI2002 Savage Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci, Pi, Li表示每个野人所住的初始洞穴编号,每年走过的洞穴数及寿命值. (1<=Ci,Pi<=100, 0<=Li<=10^6 ) Output 仅包含一个数M,即最少可能的山洞数.输入数据保证有解,且M不大于10^6. Sample Input 3 1 3 4 2 7 3 3 2 1 Samp…