Atcoder Beginner Contest153F(模拟)
2024-09-05 20:21:23
应该也可以用线段树/树状数组区间更新怪兽的生命值来做
#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
long long pre[];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
long long n,d,a;
cin>>n>>d>>a;
vector<pair<long long,long long> >v;
for(int i=;i<=n;++i){
long long x,y;
cin>>x>>y;
long long z=(y-)/a+;
v.push_back({x,z});
}
sort(v.begin(),v.end());
long long ans=;
long long sum=;
int r=;//打不到的最近范围
for(int i=;i<n;++i){
while(r<n&&v[r].first<=v[i].first+*d)
++r;
sum-=pre[i];//sum为当前位置已经预先承受的伤害总量
v[i].second-=sum;
if(v[i].second<=)
continue;
sum+=v[i].second;//累计伤害
pre[r]+=v[i].second;//r位置以前承受的伤害总量
ans+=v[i].second;
}
cout<<ans;
return ;
}
最新文章
- thinkphp配置文件路径
- Ubuntu 15.10下droidbox安装使用
- Oracle数据库锁表及解锁进程
- storm kafka整合
- HNU 12833 Omar’s Bug(分情况讨论)
- 例题:超市买东西的程序。输入商品信息,计算价格,价格满多少元打折。这道题用到结构体,集合,for循环,if else语句
- USB枚举过程
- HW3.23
- FireMonkey 使用Webbrowser
- C++域宽设置
- POJ 1185 炮兵阵地(动态规划+状态压缩)
- 从一个模板函数聊聊模板函数里面如何获得T的名字
- HTML5简易在线画图工具
- Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas
- SpringMVC_第一个程序
- 【转】mac环境下Android 反编译
- Debug程序的使用
- TensorFlow走过的坑之---数据读取和tf中batch的使用方法
- 用python写MapReduce函数——以WordCount为例
- MarkDown基础语法记录