专栏文章
题解:AT_abc434_c [ABC434C] Flapping Takahashi
题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimxlstv
- 此快照首次捕获于
- 2025/12/01 17:13 3 个月前
- 此快照最后确认于
- 2025/12/01 17:13 3 个月前
小蒟蒻的第二篇题解。
题目传送门:AtCoder 洛谷(待更新)
题目传送门:AtCoder 洛谷(待更新)
我们注意到任务是按照时间顺序给出的,所以依次考虑即可。
注意:判断该组数据答案为
No 之后,一定要把数据全部读入完,否则会影响下一组数据的读入!(本蒟蒻赛时调了 分钟)下面上代码,结合注释食用更佳。
CPP#include<bits/stdc++.h>
using namespace std;
void solve(){
bool ok=1;//记录该组测试数据的答案
int n,h,prev=0;//上一个任务的时间
cin>>n>>h;
int l=h,r=h,t,a,b;//l,r记录高度的上下界,初始均为 h
for(int i=1;i<=n;i++){
cin>>t>>a>>b;
l-=t-prev;//更新下界
l=max(l,0);//防止下界爆负数
r+=t-prev;//更新上界
if(r<a || l>b) ok=0;//[l,r]与[a,b]无交集,任务不可能完成
l=max(l,a);
r=min(r,b);//取[l,r]与[a,b]的交集作为新的上下界
prev=t;//更新prev
}
if(ok) cout<<"Yes\n";
else cout<<"No\n";
}
int main(){
int t;//多测
cin>>t;
while(t--) solve();
return 0;
}
/*
Terabyte's code.
Remember_Me();
*/
最后附上提交记录。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...