【HDU4970】Killing Monsters
题意
数轴上有n个点,有m座炮塔,每个炮塔有一个攻击范围和伤害,有k个怪物,给出他们的初始位置和血量,问最后有多少怪物能活着到达n点。n<=100000
分析
对于某个怪物,什么情况下它可以活着到达N点?
对于每个怪物,求他出现的位置到结尾的这段区间的炮塔的伤害总和,如果它的血量大于这个和,那么它就可以活着到达N点。
也就是说,先更新m个区间的值,然后对于每个怪物求一个后缀和。
想到了什么?线段树?树状数组?不存在的。差分就可以解决这个题。因为这个题区间更新和查询时分开的,所以不需要动态的进行修改。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std;
const int maxn=+;
int n,m,k,ans;
int cha[maxn],a[maxn];
long long sum[maxn];
int main(){
while(scanf("%d",&n)!=EOF&&n){
memset(cha,,sizeof(cha));
scanf("%d",&m);
int l,r,v;
for(int i=;i<=m;i++){
scanf("%d%d%d",&l,&r,&v);
cha[l]+=v;cha[r+]-=v;
}
sum[]=;
for(int i=;i<=n;i++){
sum[i]=sum[i-]+cha[i];
a[i]=sum[i];
}
sum[]=;
for(int i=;i<=n;i++){
sum[i]=sum[i-]+a[i];
}
ans=;
scanf("%d",&k);
long long a;
int b;
for(int i=;i<=k;i++){
scanf("%lld%d",&a,&b);
if(sum[n]-sum[b-]<a)
ans++;
}
printf("%d\n",ans);
}
return ;
}
【HDU4970】Killing Monsters的更多相关文章
- 【CF526F】Pudding Monsters cdq分治
[CF526F]Pudding Monsters 题意:给你一个排列$p_i$,问你有对少个区间的值域段是连续的. $n\le 3\times 10^5$ 题解:bzoj3745 Norma 的弱化版 ...
- 【CF526F】Pudding Monsters
题意: 给你一个排列pi,问你有对少个区间的值域段是连续的. n≤3e5 题解: bzoj3745
- hdu4970 Killing Monsters (差分数列)
2014多校9 1011 http://acm.hdu.edu.cn/showproblem.php?pid=4970 Killing Monsters Time Limit: 2000/1000 M ...
- Killing Monsters(hdu4970)
Killing Monsters Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- 【Android】一种提高Android应用进程存活率新方法
[Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...
- 【Android】Android 移动应用数据到SD
[Android]Android 移动应用数据到SD 在应用的menifest文件中指定就可以了,在 <manifest> 元素中包含android:installLocation 属性, ...
- 【AIX】AIX内存机制
[AIX]AIX内存机制 1 虚拟内存 虚拟内存是物理内存和交换空间(Paging Space)组合形成的虚拟内存空间, 通过虚拟的地址空间映射到物理内存或者 Paging Space. 在 AIX ...
- C程序员必须知道的内存知识【英】
C程序员必须知道的内存知识[英] 时间 2015-03-08 14:16:11 极客头条原文 http://marek.vavrusa.com/c/memory/2015/02/20/memory ...
- 【DATAGUARD】物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置
[DATAGUARD]物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各 ...
随机推荐
- Go语言的序列化与反序列化(gob)
encoding/gob包实现了高效的序列化,特别是数据结构较复杂的,结构体.数组和切片都被支持. 实现代码如下://定义一个结构体type Student struct { Name string ...
- Java8新特性Optional、接口中的默认方法与静态方法
Optional Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念 ...
- MpVue解析
前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程序,或开发 ...
- ZooKeeper初探之安装和配置
1. ZooKeeper简介 Zookeeper是Hadoop下的一个子项目,它是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护,名字服务,分布式同步,组服务等,Zookeeper是可 ...
- 在vue项目中正确的引入jquery和bootstrap
<script>标签引入jquery在vue脚手架里并不适用,需要利用webpack引入jquery 一.第一种方法 1:因为已经安装了vue脚手架,所以需要在webpack中全局引入jq ...
- Maven无法上传到到私服
在pom.xml中插入如下代码: <distributionManagement> <repository> <id>nexus</id> <ur ...
- JDBC预编译语句表名占位异常
有时候,我们有这样的需求,需要清空多个表的内容,这样我们有两种做法,可用delete from table 或 truncate table table,两种方法视情况而定,前者只是一条条的删除表数据 ...
- (转)【Android】获取Mac地址【2】
[Android]获取Mac地址[2] 之前写了[Android]获取Mac地址[1]有些不够详细,现在贴上一些其他代码,仅供参考. (1) 调用android 的API: NetworkInterf ...
- 在PHP中对查询出得数据库数据进行json编码
select.php <?php $con = mysql_connect("localhost","Thh","920920thh" ...
- mysql导入导出表结构
mysql导入导出表结构 导出整个库的表结构如下:mysqldump -uroot -p -d databasename > createtab.sql 如果只想导出表: test1,test2 ...