首页 > 其他分享 >CF1296D 题解

CF1296D 题解

时间:2023-02-10 15:55:55浏览次数:64  
标签:CF1296D puts int 题解 怪物 define

题目传送门

简单题做了好久,哈哈。

题目分析

首先,对于单个怪物,先将它的血量通过取余处理到小于 \(a+b\) 的时候,因为无论怪物血量多少,如果大于 \(a+b\) ,显然不可能出现最后一击。

设余数为 \(m\) ,在不用特殊能力的情况下就只能击杀 \(m \le a\) 且 \(m\) 不为 \(0\) 的怪物。

然后枚举对于每一个怪物,如果想要击杀它需要耗费多少次特殊能力。由于每一个怪物的贡献都为 \(1\) ,因此直接从小往大取即可。

时间复杂度:\(O(n \log n)\) 。

贴上代码

#include<bits/stdc++.h>
// #define int long long
#define debug puts("Shiina_Mashiro_kawaii")
#define ok puts("T")
#define no puts("F")
using namespace std;
int read(){
	int x=0,f=1;char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=x*10+c-48;
		c=getchar();
	}
	return x*f;
}
const int maxn=2e5+5;
int n,a,b,k;
int ans;
int h[maxn];
inline void init(){
	n=read();a=read();b=read();k=read();
	for(register int i=1;i<=n;++i) h[i]=read()-1;
	for(register int i=1;i<=n;++i){
		h[i]%=a+b;h[i]/=a;
	}
	sort(h+1,h+n+1);
}
int main(){
	init();
	for(register int i=1;i<=n;++i){
		if(h[i]<=k){
			ans++;k-=h[i];
		}
	}
	printf("%d",ans);
}

标签:CF1296D,puts,int,题解,怪物,define
From: https://www.cnblogs.com/yizhixiaoyun/p/17109226.html

相关文章

  • 关于node-sass和sass-loader版本不兼容的问题解决
    安装node-sass和sass-loader时,提示我版本不兼容如:ValidationError:Invalidoptionsobject.SassLoaderhasbeeninitializedusinganoptionsobjectth......尝试......
  • 问题解决:WARNING!The remote SSH server rejected X11 forwarding request.
    截图解决X11forwarding依赖xorg-x11-xauth软件包,安装xorg-x11-xauth软件包。yuminstallxorg-x11-xauth-y安装后重新连接即可......
  • 【题解】P5278 算术天才⑨与等差数列
    有趣的乱搞做法和一个没想到的trick,一起记一下。思路线段树+哈希/trick.首先是乱搞做法。意识到可以像P3792由乃与大母神原型和偶像崇拜那个被疯狂hack的题......
  • Codeforces Round #851 (Div. 2) 题解
    CodeforcesRound#851(Div.2)题解A.OneandTwo取\(\log_2\),变成加号,前缀和枚举\(s[i]=\dfrac{s[n]}{2}\)。B.SumofTwoNumbers对于每一位,如果是偶数则平均......
  • 问题解决:由于找不到msvcr110.dll,无法继续执行代码
    报错解决下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=30679......
  • CF1389E Calendar Ambiguity 题解
    可能更好的阅读体验题面传送门toluogu题目大意假设一年有\(m\)月,每个月有\(d\)天,每周有\(w\)天。保证一年的第一天一定是周一。求\((x,y)\),满足\(x<y\)并且......
  • 【题解】CF850F Rainbow Balls
    整体方向很常规,但是最后的处理比较仙,记一下。思路期望dp.首先意识到最终会变成同一种颜色,并且不同颜色的期望步数不同。考虑到\(n\leq2.5\times10^3\),考虑钦定最......
  • 【题解】CF1093G Multidimensional Queries
    记一下这种有趣的trick.思路线段树。绝对值按照惯例是可以拆的,并且可以拆出一正一负两个数。考虑到维数很小,可以考虑状压表示拆除绝对值之后每一维值的正负。并且因......
  • SAOI 题解汇总
    题解汇总A.Chery的魔法药水与lrc的韭菜所有部分分代码及标程均在这里。这个题目是我们前面的月考卷子改编后的idea,去年就出了,今年翻出来经过加强得到了这道入门题......
  • keepalived的状态不断切换的问题解决
    转载自:https://blog.csdn.net/weixin_43515220/article/details/104959814================= 笔者在搭建nginx+keepalived架构的过程中,发现存在keepalived的vip不断迁......