Chain Reaction

题意:有n(1 ≤ n ≤ 100 000) 个灯泡,每个灯泡有一个位置a以及向左照亮的范围b (0 <= a <= 1e6 ,1<= b <= 1e6);(题目是按照灯泡位置递增的顺序输入的)每个灯泡的毁坏范围就是灯泡的照亮范围(包括左边界,但是自己不会毁坏)。要你在所有灯泡的右边(不能有灯泡的位置相同)任意位置设置一个向左照亮范围任意的灯泡,使得先开设置的灯泡再从右往左开启题给的灯泡时毁坏的灯泡数最少。很绕,但是题目真的很好~~~

思路:dp+递推
pre[i]:位置为i时最多能保留的灯泡数;当位置没有灯泡时,设置照亮距离为1的”灯泡”(其实就是为设置的灯泡dp出最优的覆盖的左边界),递推到右边界,同时记录下所有位置的最大保留的灯泡数ans即可;(一般1e7完全可以在1s内A的,1e8要是系数小点也是有可能的)

//Accepted    61 ms   7836 KB
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i = 0;i < (n);i++)
const int MAXN = 1e6 + ;
int scope[MAXN],pre[MAXN];
int main()
{
int n,a,r,i,ans = ;
cin>>n;
rep(i,n){
scanf("%d%d",&a,&r);
scope[a] = r;
}
rep(i,MAXN){
int p = i - scope[i] - ;//看似范围时1,其实递推出了设置灯泡的左边界~
if(p < ) pre[i] = ;//不能直接max(p,0)注意a ?= 0
else pre[i] = pre[p];
if(scope[i]) pre[i]++;
ans = max(ans,pre[i]);
}
cout<<n - ans;
}

Codeforces Round #336 (Div. 1) A - Chain Reaction的更多相关文章

  1. Codeforces Round #336 (Div. 2) C. Chain Reaction set维护dp

    C. Chain Reaction 题目连接: http://www.codeforces.com/contest/608/problem/C Description There are n beac ...

  2. Codeforces Round #336 (Div. 2)C. Chain Reaction DP

    C. Chain Reaction   There are n beacons located at distinct positions on a number line. The i-th bea ...

  3. Codeforces Round #336 (Div. 2) 608C Chain Reaction(dp)

    C. Chain Reaction time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  4. Codeforces Round #336 (Div. 2) D. Zuma

    Codeforces Round #336 (Div. 2) D. Zuma 题意:输入一个字符串:每次消去一个回文串,问最少消去的次数为多少? 思路:一般对于可以从中间操作的,一般看成是从头开始(因 ...

  5. Codeforces Round #336 (Div. 2)【A.思维,暴力,B.字符串,暴搜,前缀和,C.暴力,D,区间dp,E,字符串,数学】

    A. Saitama Destroys Hotel time limit per test:1 second memory limit per test:256 megabytes input:sta ...

  6. Codeforces Round #336 (Div. 2)

    水 A - Saitama Destroys Hotel 简单的模拟,小贪心.其实只要求max (ans, t + f); #include <bits/stdc++.h> using n ...

  7. Codeforces Round #336 (Div. 2)B 暴力 C dp D 区间dp

    B. Hamming Distance Sum time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  8. Codeforces Round #336 (Div. 2) D. Zuma 记忆化搜索

    D. Zuma 题目连接: http://www.codeforces.com/contest/608/problem/D Description Genos recently installed t ...

  9. Codeforces Round #336 (Div. 2)B. Hamming Distance Sum 前缀和

    B. Hamming Distance Sum 题目连接: http://www.codeforces.com/contest/608/problem/A Description Genos need ...

随机推荐

  1. 牛一网ecshop家电数码模板(仿易迅网)for ecshop 2.7.3

            本模板尤其适用于家电数码行业. 本模板已经开发.测试完毕,并开放演示. 本模板支持全站静态.销售数量后台自定义.首页商品独立图片.品牌独立展示.商品精美团购.宽屏窄屏自动识别并切换.分 ...

  2. gitservergitlab之搭建和使用

    gitserver比較有名的是gitosis和gitolite,这两个管理和使用起来略微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私有仓库,而且 ...

  3. 教你用笔记本破解无线路由器password

    近期非常多人问我怎么破解WiFipassword…看来大家都对免费的东西比較有兴趣.要么也可能是我太招摇了…囧… 好吧,我就写篇小小的教程,看完后,你应该可以破解大部分无线路由器password了,写 ...

  4. 一个IO的传奇一生 系列 存储之道

    http://alanwu.blog.51cto.com/3652632/1286553

  5. 客户端脚本语言javascript

    2015.11.27  客户端脚本语言javascript. (叫这个名字的原因.想要攀高枝,希望变得和他一样通用.关于名字之间的关系类似于雷锋和雷峰塔,巴基斯坦和卡巴斯基,苏格拉底跟格拉苏蒂的关系一 ...

  6. 20160501--struts2入门3

    一.自定义拦截器 要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: public class PermissionInterc ...

  7. SEVERE: Class [ com/mysema/query/dml/DeleteClause ] not found

    SEVERE:   Class [ com/mysema/query/dml/DeleteClause ] not found. Error while loading [ class org.spr ...

  8. JDBC——架构层、驱动

    JDBC(java Datebase Connector) jdbc驱动程序 四种类型: jdbc-odbc桥接驱动程序 Native-API JDBC-Net Native-Protocol (常见 ...

  9. html-----009

    </head> <!-- 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. <p> 垂直框架</p> 本例演示:如何使用三份不同的文档制作一个垂直框 ...

  10. postgres create table default now

    key_time timestamp without time zone default timestamp 'now()' see http://wordpress.factj.com/