您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 0浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[abc] AtCoder Beginner Contest 255 C,D

*DDL_GzmBlog 发布时间:2022-06-19 20:39:25 ,浏览量:0

前言

传送门 :

C ±1 Operation 1

t a g : tag : tag:等差数列 分类讨论 数学分析 题意 : 给定 x , a , d , n x,a,d,n x,a,d,n你可以对 x x x进行操作,询问最少多少次数使得 a , d , n a,d,n a,d,n表示的等差数列中的某一项正好等于 x x x

a , d , n a,d,n a,d,n表示 首项 a a a, d d d公差, n n n表示项数 思路 : 显然这个数是个定值,并且这题需要分类讨论

首先对 d d d进行讨论,我们发现如果 d < 0 d0 d>0的情况,所以我们只需要考虑 d > 0 d>0 d>0的情况

然后显然 x < a 1 ∣ ∣ x > a n xa_n xan​的值肯定是两边的最小

而中间的,我们只需要通过等差数列公式变形一下即可

code :

ll x,a,d,n;

void solve(){
	cin>>x>>a>>d>>n;
	
	ll _an = a + (n-1) * d;
	
	if(d  _an) cout            
关注
打赏
1657615554
查看更多评论
0.0446s