求解题目:有条件限制的LIS(导弹拦截改编)
  • 板块灌水区
  • 楼主czm708033
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/12/10 12:17
  • 上次更新2023/11/5 06:19:55
查看原帖
求解题目:有条件限制的LIS(导弹拦截改编)
94046
czm708033楼主2020/12/10 12:17

问题如下,求思路与代码

铺垫

小L翻出来小W领地的地图,打算使用导弹摧毁小W的城市。由于你是小W的军师,你不想看到城市被毁灭,所以你打算建一个能量发生器,提供能量盾。

问题描述

你把能量罩架好之后,从小W的武器库里发现了一个导弹拦截武器。为了测试这个武器是否管用,你打算用它去拦截一部分的导弹,减少能量盾的负荷。

经过尝试,你发现:它拦截的后一颗导弹必定比前一颗高,也就是说,每当你的武器拦截了编号为i的导弹,你下一次可以拦截的导弹高度AjA_j必须高于或等于这枚导弹的高度AiA_i。不过,这个武器的好处在于,它可以拦截太阳系外飞来的导弹,即对导弹的高度没有限制。

这天,面对小L的导弹时,你拿出了这个拦截武器。你发现,由于导弹型号的不同,你的武器拦截这枚导弹所需的代价也不同。你的武器耐久为T,每当你的武器拦截了编号为i的导弹,你的武器都会失去拦截这枚导弹所需的代价PiP_i。如果你的武器拦截了某一颗导弹后耐久不为正,那么你的武器就需要送去维修,无法拦截接下来V发导弹。当你的武器维修好后,它的耐久度恢复为T,且初始可以拦截任意高度的导弹,不过仍然不能拦截比前一发高度低的导弹。

现在敌方有n枚导弹袭来,编号为i的导弹高度为AiA_i,拦截这枚导弹所需代价为PiP_i。求能量盾至少需要承受多少枚导弹的攻击。

输入格式

第一行,三个由空格分开的整数n,T,V,含义如上;

接下来n行,每行两个由空格分开的整数Ai,PiA_i, P_i,含义如上。

输出格式

一个整数,代表能量盾最少需要承受的导弹数。

样例输入

8 6 3
1 4
2 1
3 2
4 1
5 5
6 3
7 2
8 1

样例输出

3

样例解释

可以拦截第1、2、3、7、8号导弹,能量盾需要承受3颗导弹。

数据规模与约定

测试点编号:n:n\le :Ai:A_i\le :Pi:P_i\le :T:T\le :V:V\le :
11010100100 1010 1010 00
2101010310^3 1010 1010 00
3101010410^41010 100100 00
410010010610^610310^310410^411
5100100 10310^31010 100100 1010
610310^310410^4100100 10410^41010
710410^410610^610310^310410^4100100
810410^410710^710310^310410^4100100
910510^510810^810310^310610^610410^4
1010510^510810^810410^410710^710410^4
2020/12/10 12:17
加载中...