首页 > 其他分享 >Circle of Monsters[*1600][暴力][构造]

Circle of Monsters[*1600][暴力][构造]

时间:2023-02-21 18:33:48浏览次数:59  
标签:怪兽 int 1600 up 爆炸 Circle Monsters

Circle of Monsters[*1600][暴力][构造]

Problem - C - Codeforces

有 \(N\) 头怪兽,他们围成一个环,顺时针编号 \(1,2,3,4,\dots ,N\) 每一头怪兽都有 2 个属性,一个是它的生命值 \(a_i\),第二个是它的爆炸值 \(b_i\)。

你有一把手枪,每开一枪可以对你选定的一只怪兽造成 \(1\) 伤害(使其生命值 \(-1\))

当一个怪兽死后(生命值 \(\leq 0\)),它会发生爆炸,并对下一个怪兽(假设当前怪兽为编号 \(i\),则下一个为 \(i+1\)。如果 \(i=n\),则下一个为 \(1\) 号)
造成 \(b_i\) 点伤害。如果下一个怪兽已经死了,则没有事发生。如果下一个怪兽被炸死了,那么他也会爆炸,并对下下个怪兽造成伤害。以此类推。

询问你最少开几枪可以杀死所有怪兽。

每个测试点多组数据,\(\sum N\leq 3\times 10^5\),\(a_i,b_i\leq 10^{12}\)

思路

因为前面做了一道树的题用的贡献做的感觉很妙

所以这个题我也用贡献考虑的

因为要手动打爆一个怪兽

那么前面那个怪兽爆炸的值就扑空了

那么我们要让扑空的爆炸值最小

每一个怪兽爆炸的贡献是\(Min\)(这个怪兽爆炸所产生的伤害,下一个怪兽的血条)

我们找到最小的贡献,然后让他扑空以后,加上每一头怪兽需要补充的伤害就可以了

这道题思路口胡用了2分钟

敲码用了3分钟

然后交上去WA8了哈哈哈,本来打算去看题解了

然后发现是数组开小了,把数组开到3e5然后居然AC了

五分钟AC了1600的题后的反应是这题真水哈哈

key code

const int N=3e5+10;
int n,m;
PII a[N];
void solve(){
	//try it again.
	cin>>n;
	up(1,n){
		int x,y;
		cin>>x>>y;
		a[o]={x,y};
	}
	a[0]=a[n];
	int minn=INF;
	int sum=0;
	up(1,n){
		minn=min(min(a[o-1].se,a[o].fi),minn);
	}
	up(1,n){
		sum+=max(0ll,a[o].fi-a[o-1].se);
	}
	cout<<sum+minn<<endl;
}

标签:怪兽,int,1600,up,爆炸,Circle,Monsters
From: https://www.cnblogs.com/liangqianxing/p/17142011.html

相关文章

  • 1600 - 请假时间计算
         ......
  • CF1784C Monsters (hard version) 题解
    为了便于表述,下文中用"数"替代怪物的血量。我们换一种不同于easyversion中的计算答案的方法。我们先还是按照easyversion中的贪心操作来消除,当一个数能通过这种贪......
  • 好客租房173-地图找房createCircle方法
    1复用之前创建覆盖物的代码逻辑在覆盖物的单击事件中调用renderOverLays(id)方法importReactfrom'react'//导入axiosimportaxiosfrom'axios'//导入封装好的NavHeade......
  • 我们从 CircleCI 安全事件获得的3个经验教训
    CircleCI作为业内最受欢迎的CI/CD平台提供商之一,有超过20万个DevOps团队使用其平台。该公司在今年1月在其官网报告了一起安全事件引起客户恐慌。在此事件中,有身份不明......
  • circle 题解(思维+堆)
    题目有\(n\)个圆心在\(x\)轴上的不相交的圆(存在边界重合),求这些圆将平面分为几部分。保证\(1\leqn\leq3\times10^5\),\(-10^9\leqx_i,y_i\leq10^9\)。一个......
  • 自定义 CircleView - 继承 View 重写 onDraw
    一、画一个圆形的View如图,该圆形控件的宽为match_parent,高150dp,为了看到控件的整体宽高效果,为控件加了背景色即浅绿色:#3300aa00该页面的布局<?xmlversion="1.0"encodi......
  • [LeetCode] 1828. Queries on Number of Points Inside a Circle
    Youaregivenanarray points where points[i]=[xi,yi] isthecoordinatesofthe ith pointona2Dplane.Multiplepointscanhavethe same coordinat......
  • CF构造题1600-1800(2)
    H.HotBlackHotWhite(COMPFEST14-PreliminaryOnlineMirror(Unrated,ICPCRules,TeamsPreferred))题意有\(n\)个石头,每个石头有一个值\(a_i\),现在需要给这......
  • CF构造题1600-1800(1)
    D.SameCountOne(PolynomialRound2022(Div.1+Div.2,Rated,Prizes!))题意给定\(n\)个长度为\(m\)的01序列,每次操作可以选择两个序列a1,a2,并选择一个\(p......
  • CF1771C 质数分解+思维技巧题 *1600 (普及+/提高)
    Problem-1771C-Codeforces有 T 组数据,每组数据给出 n 和长度为 n的数列 a[i]​,判断有没有两个数不互质,如果有输出"YES",没有输出"NO"n≤2e51≤a[i]≤1e9难......