hdu 1692(枚举+剪枝)
题意:给你一些井的信息,井中原有的水,当井中的水满足一定量后会被破坏并且这些水全部流入下一个井中,用多少能量能直接破坏这个井。然后问要想破坏第n口井至少要多少能量。
解题思路:这题首先是要找到从哪口井开始破坏,因为要破坏第n口井,要么直接破坏n,要么n之前有连续的几口井一同被破坏,如果中间出现了一个不破坏的井,那么之前的能量就浪费了。
一般的思路肯定是两层循环就搞定,但看到这个数据量有点怕超时,结果绕了好大的弯去找一层循环的解决办法都错了。最后看别人的思路,还是之前的两层循环就可以搞定了。自己被数据给吓到了。这题网上分类为dp,其实我感觉这题dp不是很明显。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 100005;
const int inf = 0x7fffff;
int n,w[maxn],l[maxn],p[maxn];int main()
{int t,cas = 1;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i = 1; i <= n; i++)scanf("%d%d%d",&w[i],&l[i],&p[i]);int ans = inf;for(int i = 1; i <= n; i++){int sum = 0, carry = 0;for(int j = i; j <= n; j++){carry += w[j];if(carry <= l[j])sum += p[j];if(sum > ans)break;}if(sum < ans) ans =sum;}printf("Case %d: Need to use %d mana points.\n",cas++,ans);}return 0;
}
hdu 1692(枚举+剪枝)相关推荐
- POJ 1054 恼人的青蛙 [ 枚举+剪枝 ]
主要思想就是:先排序(按行号升序,若行号相等就按列号升序):再枚举每两个点,以两个点分别为青蛙所走路线上的第一个点和第二个点(在枚举的过程中的剪枝非常重要): // 枚举 + 剪枝 #include ...
- hdu4876 深搜+(随机枚举剪枝)
题意: 给你n个数,让你从选择k个数,然后排成一个环(k个数的顺序随意,但是排成一个环后就不能变了),然后可以在这个环上任意的找连续w个数(w<=k),可以找多次,得到一个值等于当前 ...
- hdu 5305 回溯+剪枝
思路:对每一条边涂上颜色1或-1,颜色值加到关联的两个点上,则一种成功的方案必须满足最后每个点的值为0. 剪枝:统计出和某个点i相关联的边的个数,如果枚举到某一条边的时候发现:abs(sum[i]) ...
- POJ 1054 The Troublesome Frog(枚举 + 剪枝)
题意: http://blog.csdn.net/politropix/article/details/8456551 思路: 1. 首先针对 x 从小到大排序,然后枚举,这样为后面的剪枝提供了方便; ...
- hdu 4681(枚举+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 思路:首先预处理出串C在A,B中的所有的位置,然后从前向后求一次最长公共子序列,从后向前求一次最 ...
- hdu 4421(枚举+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4421 思路:枚举32位bit,然后2-sat判断可行性,这里给出2-sat矛盾关系构图: 1.a&am ...
- [HDU] 1175 连连看 - 剪枝优化后的性能飙升
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1175 方法:在每一步都要维护4个信息,当前坐标,当前方向(垂直还是水平),当前已经折了多少次和携带的 ...
- hdu 3006 枚举集合可以产生的所有并集的集合
http://acm.hdu.edu.cn/showproblem.php?pid=3006 刚买的CHERRY键盘 手感真好 可惜不习惯 写代码老是打错,一个题写了一上午,都是各种按错键DEBUG. ...
- poj 1564 Sum It Up | zoj 1711 | hdu 1548 (dfs + 剪枝 or 判重)
Sum It Up Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Sub ...
最新文章
- Codeforces Round #307 (Div. 2) D. GukiZ and Binary Operations (矩阵高速幂)
- 针对CMS中的tag标签理解
- iOS开发之Runtime关联属性
- oracle数据库安装跳坑
- 系统和服务器的关系图,服务器与客户端关系图
- 无法卸载_六月累积更新又出问题:打印机故障 部分程序无法打开和卸载
- redis怎么不让存byte_Redis 删除数据后不能自动释放内存么?
- VCS命令行选项总结简单脚本实例
- ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别
- 百度云OCR身份证识别
- panabit 流控大师
- android手机控制电视,类Siri语音控制技术 Android手机也能控制电视
- bzGhost 打造跨平台即时聊天软件之websocket
- 求和(单例模式,初始化列表,容器,迭代器)
- 小程序分享,禁用分享,解除禁用分享
- 用Freeman码链表示图像边界
- css 设置背景图一半_img只显示图片一部分 或 css设置背景图片只显示图片指定区域...
- 从“账房先生”到“中国巨型计算机之父”,慈云桂先后主导了中国四代计算机的研发...
- 将整个网站(包括子页)变为黑白色
- Android Editable
热门文章
- 中原证券携手神策数据,筑就线上线下融合的数字化运营体系
- 常用SQL Server 小语法、函数 等的实例汇总
- [20160813]12c开启附加日志问题.txt
- bzoj4514[Sdoi2016]数字配对
- OpenSwitch操作系统成为Linux基金会官方项目
- [转]Windows的批处理脚本
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(11月9日~11月13日)...
- springmvc+mybatis+ajax 批量插入数据
- 【Leetcode】Palindrome Number
- CSS学习笔记(十四) 我们前端是怎么跟设计师沟通的