[codeforces 1379B] Dubious Cyrpto 公式推导
Codeforces Round #657 (Div. 2) 参与排名人数8684 错过了难得17:00比赛,可惜
[codeforces 1379B] Dubious Cyrpto 公式推导
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址https://codeforces.com/contest/1379/problem/B
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
B - Dubious Cyrpto | GNU C++17 | Accepted | 78 ms | 3900 KB |
题目大意:有如下关系n*a+b-c=m,l<=a,b,c<=r,给出l,r,m,推出a,b,c.
样例模拟如下:
n*a+b-c=m可得n*a=m+c-b
l<=b<=r可得-r<=-b<=-l
l<=c<=r
可得l-r<=c-b<=r-l
继续可得m+l-r<=m+c-b<=m+r-l4 6 134 6 5m=13,l=4,r=6
13+4-6<=m+c-b<=13+6-4
即11<=m+c-b<=15n*a=m+c-b
l<=a<=r,即4<=a<=6
a=4时,m+c-b=11时,
n=11/4=2,2*4=8<11,丢弃a=4时,m+c-b=12时,
n=12/4=3,n*a=3*4=12,11<=12<=15,
此时12=13+c-b,可得c-b=-1.
让b=r,即b=6,可得c=5.2 3 12 2 3m=1,l=2,r=3
1+2-3<=m+c-b<=1+3-2
即0<=m+c-b<=2,因0<n*a,改进范围1<=m+c-b<=2n*a=m+c-b
l<=a<=r,即2<=a<=3a=2时,m+c-b=1时,
n=1/2=0,丢弃a=2时,m+c-b=2时,
n=2/2=1,n*a=1*2=2,1<=2<=2,
此时2=1+c-b,可得c-b=1.
让b=l,即b=2,可得c=3.
根据上述样例模拟过程,编写的AC代码如下:
#include <cstdio>
#include <algorithm>
#define LL long long
using namespace std;
int main(){int t,flag;LL l,r,m,a,b,c,mn,mx,i,x,y,na,delta;scanf("%d",&t);while(t--){scanf("%lld%lld%lld",&l,&r,&m);mn=max((LL)1,m+l-r);//m+1-r<=m+c-b<=m+l+rmx=m+l+r;for(a=l;a<=r;a++)//枚举a{x=mn/a,y=mx/a,flag=0;//n*a==m+c-b,n=(m+c-b)/a.x代表n的左边界,y代表n的右边界for(i=x;i<=y;i++){na=i*a;if(mn<=na&&na<=mx){delta=na-m;if(delta<0)b=r,c=r+delta;else b=l,c=l+delta;//delta>=0if(l<=c&&c<=r){//c落在范围内printf("%lld %lld %lld\n",a,b,c);flag=1;break;}}}if(flag)break;}}return 0;
}
[codeforces 1379B] Dubious Cyrpto 公式推导相关推荐
- Codeforces 1379B.Dubious Cyrpto
1 题目描述(题目链接) 2 题解 由题意得,na=m+c−bna=m+c-bna=m+c−b,则na∈[m+l−r,m+r−l]na\in [m+l-r,m+r-l]na∈[m+l−r,m+r− ...
- Codeforces B. Dubious Cyrpto (枚举 / 模拟) (Round #657 Div.2)
传送门 题意: 已知存在三个数a,b,c满足l <= a,b,c <= r,且m = n * a + b - c.现在告诉你l,r和m的值,需要你找到一组可行的a,b,c. 思路: 枚举a ...
- Codeforces Round #657 (Div. 2)B. Dubious Cyrpto
思路 题目要求: na+b−c=mna+b-c=m na+b−c=m 我们可以转换为 na−m=c−bna-m=c-b na−m=c−b 然后c−bc-bc−b是固定不变的,我们去枚举a,在枚举的a的 ...
- 1379A. Acacius and String + 1379B.B. Dubious Cyrpto
1379A 传送门 Acacius is studying strings theory. Today he came with the following problem. You are give ...
- Codeforces Round #657 (Div. 2) B题 Dubious Cyrpto
m是被除数,a是除数,n的商,b-c是余数.切记,考虑b-c是负数的情况.切记 !切记 ! 二话不说上代码: #include <iostream> #include <algori ...
- Codeforces Round #657 (Div. 2) B. Dubious Cyrpto(思维,数学)
题目链接 题意: m=n⋅a+b−c(n为任意正整数),给出m的值a,b,c的范围l,r(l<=a,b,c<=r),求出a,b,c. 思路: 由推倒知0<=|b-c|<=r-l ...
- B. Dubious Cyrpto
https://codeforces.com/contest/1379/problem/B 如果m>i,则有两种情况,m%i在范围内或者i-m%i在范围内,m<i,只有i-m%i的情况. ...
- codeforces1379B Dubious Cyrpto
https://codeforces.com/contest/1379/problem/B 可以想到其实就是让n*a=(m-(r-l),m+r-l)中的一个数 然后直接枚举a=l->r 令l2= ...
- Long Path CodeForces - 407B(动态规划+思维+公式推导)
题意: 起点为1,终点为n+1,对应第i个各点,如果我奇数次到达i点,那么下一步走到a[i]的位子,如果是偶数次到达,那么下一步走到i+1的位子. 问从1走到n+1一共需要走多少步?结果对1e9+7取 ...
最新文章
- retinaface tensorRT
- 神经网络的梯度消失和过拟合产生原因及其解决方案
- 当PDF页面总数不确定的时候导出PDF增加页码(i of n)
- Transformation HDU - 6726(百度之星复赛2019 dfs)
- angular.js国际化模块
- 5.Underfitting and Overfitting
- emlog-FLY主题模板1.4版本免费完全开源
- 《iOS网络编程与云端应用最佳实践》微博转发送书了!
- 安卓案例:View动画——弹球碰壁
- 20200802:力扣200周周赛题解
- windows10更新后网络无法连接的问题
- python差异性分析_差异性分析
- 机器学习数学基础十:相关分析
- stm32cube 和 RTX v5一起用的方法
- python菜鸟教程官网绘图-Python Tkinter 画布(Canvas)
- 数据挖掘:实用案例分析 下载_真经阁丨萌低龄,超实用“萌系”呈现技巧及设计案例分析...
- Python可以制作植物大战僵尸,你还不知道吗?
- 【论文阅读|cryoET】Isotropic reconstruction for electrontomography with deep learning (解决缺失楔问题降噪)
- 丑数(Ugly Number)的判别和证明
- python opencv写视频——cv2.VideoWriter()