首页 > 其他分享 >AT_abc180_d

AT_abc180_d

时间:2024-01-20 18:14:27浏览次数:31  
标签:增长 int long && abc180 include

贪心思想,STR 值增长得越慢,可能得到的 EXP 值就越多。

根据此,我们在 \(x\) 较小时,可以乘 \(a\) 也可以加 \(b\),选择运算后较小的一种情况。在某一时刻,当 \(x \times a > x + b\) 时,可知一直到最后都应选择加 \(b\)(前者是几何级增长,后者是算术级增长)。然后计算能加的次数即可。

具体实现如下:

#include <iostream>
#include <cstdio>
#define int long long

using namespace std;
signed main()
{
	int x,y,a,b,k,ans=0;
	cin >> x >> y >> a >> b;
	while(x < y/a && x*a < x+b)//注意,这里不可写成 x*a<y,否则会因超过极限最大值变为负数,从而导致死循环	
		x *= a,ans++;
	k = y - x - 1;
	ans += k / b;
	cout << ans;
	return 0;
}

标签:增长,int,long,&&,abc180,include
From: https://www.cnblogs.com/-lilong-/p/17976884

相关文章

  • 【题解 ABC180F】 Unbranched
    [ABC180F]Unbranched题面翻译求\(N\)个点,\(M\)条边且满足以下条件的图的数量:图中无自环;每个点度数最多为\(2\);连通块大小的最大值恰好为\(L\)。答案对\(10^9+7\)取模。\(2\leN\le300\),\(1\leM,L\leN\)。题目描述頂点にラベルが付き辺にはラベルが付い......
  • AT_abc180_d 题解
    洛谷链接&Atcoder链接本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读。题目简述现有\(STR\)和\(EXP\)两个变量,初始化分别为\(X\)和\(0\),可对变量\(STR\)做以下两种操作:将\(STR\)乘\(A\),并将\(EXP\)自加\(1\)。将\(STR\)加上\(B\),并将\(E......
  • ABC180F
    由于点的度数最大为\(2\),于是这张图由链,孤立点,大小至少为\(2\)的环组成,为了方便把孤立点也看成链。考虑容斥掉第三个条件,最大连通块大小恰好为\(L\)的方案数即为最大......