CF1244C】的更多相关文章

题目链接 problem 给定\(n,p,w,d\),求解任意一对\((x,y)\)满足\[xw+yd=p\\ x + y \le n\] \(1\le n\le 10^{12},0\le p\le 10^{17},1\le d<w \le 10^5\) solution 注意到\(n,p\)非常大,\(w,d\)比较小.而且\(w>d\).所以我们就想让\(y\)尽量小. 实际上如果最终有解,那在\(y\le w\)中肯定有解. 证明如下: 如果有\(y'=aw+k(a\ge 1,0\le…
题目描述 给出n,p,w,d,求(x,y,z)使得 xw+yd=p x+y+z=n 其中d<w<10^5^ 题解 显然扩欧啊( 来自天国的long long y如果大于等于w,则显然可以把y-w,把x+d,这样会更优 所以y=0~w-1 code #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio>…
可惜cf不能用int128,不然这个题就是个exgcd的板子题 这是exgcd的解法,但是只用ll的话会溢出 #include<bits/stdc++.h> using namespace std; #define ll long long ll x,y,z,a,b,c,d,n; ll exgcd(ll a,ll b,ll &x,ll &y){//返回(a,b) ){x=,y=;return a;} ll d=exgcd(b,a%b,x,y); ll z=x;x=y,y=z-a…
Online Judge:Luogu,Codeforces Round #592 (Div. 2) C Label:数学,思维题, 枚举 题目描述 某球队一共打了\(n\)场比赛,总得分为\(p\),已知赢一场得\(w\)分,平局一场得\(d\)分,输一场不加分也不减分,问一共赢了几场(x),平局了几场(y),输了几场(z)?如果不存在合法方案输出"-1",如果存在多组可能的方案,任意输出一组(Special Judge). 也就是任求一组符合条件的非负整数三元组\((x,y,z)\)…