【HDOJ 4970】 Killing Monsters
2015-08-02 21:17
477 查看
【HDOJ 4970】 Killing Monsters
数据很大 立马想预处理
每只怪物会从点x出现移动到点n(终点) 问能剩几只怪物
预处理求出每个位置到终点所受伤害 出现一只怪物直接判断死活即可
代码如下:
数据很大 立马想预处理
每只怪物会从点x出现移动到点n(终点) 问能剩几只怪物
预处理求出每个位置到终点所受伤害 出现一只怪物直接判断死活即可
代码如下:
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <cmath> #define LL long long #define INF 0x3f3f3f3f using namespace std; int st[233333],en[233333]; LL atc[233333]; int main() { int i,j,n,l,r,x,k,cnt,m; LL h,mm; while(~scanf("%d",&n) && n) { memset(st,0,sizeof(st)); memset(en,0,sizeof(en)); scanf("%d",&m); while(m--) { scanf("%d %d %d",&l,&r,&x); st[l] += x; en[r] += x; } mm = 0; atc[0] = 0; for(i = 1; i <= n; ++i) { mm += st[i]; mm -= en[i-1]; atc[i] = atc[i-1] + mm; } cnt = 0; scanf("%d",&m); while(m--) { scanf("%I64d %d",&h,&x); if(h - (atc - atc[x-1]) > 0) { cnt++; } } printf("%d\n",cnt); } return 0;
相关文章推荐
- C语言:通过函数指针来完成两个数的加减乘除
- 使用 VirtualBOX 虚拟机安装 OS X 10.10 Yosemite
- 《MFC游戏开发》笔记二 建立工程、调整窗口
- 在blade中定义一个可以被模版使用的变量
- MySql命令导入导出数据方法分享
- STRUTS2为ACTION配置METHOD属性
- ThinkJAVA_方法上的泛型
- 【图的连通性】poj2117Electricity
- lock synchronized 区别
- 《MFC游戏开发》笔记一 系列简介
- ZOJ 3641 Information Sharing 并查集
- JSP+servlet生成验证码并验证
- JAVA基础一大堆0802拷贝文件流+网络连接
- HDFS 的Trash回收站功能的配置、使用
- Android五大布局
- Unreal 关于优化
- 《演说之禅》笔记
- 关于在使用tomcat做开发测试的某些时候无端报ClassNotFound异常的解决方法
- 添加路由规则
- 文本分块切割