上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3466题目大意是说n个物品每个物品的花费是p,但是如果你现在的钱少于q就买不了这个物品,每个物品的价值是v,求有钱M时的最大价值。一看这个题,就觉得直接按p背包还是按q背包都不对,然后就没有然后了。。。然后看了题解:是说按q-p贪心,其实是这样,每次取q-p最小的,那么每次留下的自然就是最多的金钱。至于严格的证明。。。。。。。待研究剩下的就是01背包了。。,。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 ... 阅读全文
posted @ 2013-12-01 00:54 再见~雨泉 阅读(259) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3635题目意思是说n个球在n个城市。每次操作把编号i的球所在的城市的所有的求全部一道另一城市B每次询问访问编号i的球的城市,以及这个城市的球的数量,以及这个球被移动了多少次。方法就是用一个结构体记录每个球的父节点和移动次数以及这个节点的球的个数(球和城市可以堪为一个整体),然后每次操作就行。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 ... 阅读全文
posted @ 2013-12-01 00:45 再见~雨泉 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题目意思是说给你一列数,每次可以将相邻的两个数交换,这一步的代价是这两个数的和,求将所有数排好序的最少代价。题解:我们可以这么思考,由于每次都是交换相邻的两个数,所以将一个数放到它自己的位置去后,其他的数的相对位置没变,那么排序其他的数所需要消耗的代价将与这个数没关系,所以排序过程将相当于是冒泡排序。这样的话我们用树状数组可以记录第i个数之前有多少个比它小的的数x再记录这些比它小的数的和是多少sum然后这个数移动到他自己的位置的代价就是 x*a[i]+sum。最后的复杂度就是nlogn以后排序和求和的题应该多想想树状数组~恩恩 1 #include 2 #include 3 #inclu... 阅读全文
posted @ 2013-12-01 00:28 再见~雨泉 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=6346密码acmore这次比赛实在有点寒酸,11题我就弄出个最简单的题(还是找规律找出来的==!),反正那就以后慢慢来吧。1001病毒侵袭HDU2896 听说是AC自动机,反正我是不会,先放这里1002邂逅明下 HDU2897 最简单的博弈(结果是找规律弄出来的= =)点击1003MAX Average Problem HDU2993 斜率DP,暂时还不会...1004Visible TreesHDU2841素数对,不会- -1005Cow SortingHDU2838树状数组 阅读全文
posted @ 2013-11-30 23:48 再见~雨泉 阅读(119) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1338第一反应就是DP,DP[i] = min{2*DP[j], 3*DP[k], 5*DP[p] j,k,p 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b... 阅读全文
posted @ 2013-11-26 09:17 再见~雨泉 阅读(292) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2533在经典不过的DP题目了。。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b ? a : b)17 #define MIN(a... 阅读全文
posted @ 2013-11-26 09:05 再见~雨泉 阅读(241) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3033本题的意思就是说现在有n种牌子的鞋子,每种品牌有一些不同的鞋,每双鞋子都有一个特定的权值,现在要求每种品牌的鞋子都至少收集一双,有一定量的钱,问获得的最大的权值是多少。这个题与普通的分组背包不同就在于每一组都至少选一个,(正好这个难道我了= =)网上找了解题报告,解题方法很巧妙,就是先将每一个DP值初始化为一个值,比如-1,表示所有的状态都不合法那么转移方程就是 if(DP[i][k-cost[i][j]] != -1) ... 阅读全文
posted @ 2013-11-26 08:46 再见~雨泉 阅读(1123) 评论(0) 推荐(0) 编辑
摘要: HDU1712http://acm.hdu.edu.cn/showproblem.php?pid=1712简单的分组背包 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b ? a : b)1... 阅读全文
posted @ 2013-11-24 21:37 再见~雨泉 阅读(183) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1014最简单之多重背包 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #... 阅读全文
posted @ 2013-11-24 21:31 再见~雨泉 阅读(199) 评论(0) 推荐(0) 编辑
摘要: POJ1384http://poj.org/problem?id=1384最简单的完全背包问题,注意下初始化为INF就可以。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b ? a : b... 阅读全文
posted @ 2013-11-24 21:26 再见~雨泉 阅读(223) 评论(0) 推荐(0) 编辑
摘要: POJ1948http://poj.org/problem?id=1948题目大意就是说给你n个木棍让你用它们摆成一个三角形 使得这个三角形的面积最大。这个题我之前想的时候一直纠结怎么通过之前的三角形面积推导出加上一条木棍后的面积,结果一直没有想明白,而且总周长达到了1600,他的平方肯定会超时才对... 阅读全文
posted @ 2013-11-24 21:15 再见~雨泉 阅读(1116) 评论(5) 推荐(0) 编辑
摘要: POJ1837http://poj.org/problem?id=1837题目大意就是说有一个称上有C个挂钩,告诉你每个挂钩的位置,现在有G个重物,求是之平衡的方法数。转化一下:DP[i][j]表示第i个物品挂上之后偏移量为j的方法数,所以最后结果就是DP[C][0]。下标不能有负数,所以整体往右移动7500即可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #includ... 阅读全文
posted @ 2013-11-24 21:05 再见~雨泉 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 第一周:经过漫长的时间,终于有时间来写一下结题报告。地址http://acm.hust.edu.cn/vjudge/contest/view.action?cid=36180#overview A:POJ 1837 Balance 按偏移量DP 题解 B:POJ 1948 Triangular Pastures 按边长DP 题解 C:POJ 1384 Piggy-Bank 完全背包(初始化为INF) 题解 D:POJ 1014 Dividing 多... 阅读全文
posted @ 2013-11-24 20:51 再见~雨泉 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 简单维护前导和 1 #include 2 int main() 3 { 4 int sum,a[100005],cas,key=1; 5 scanf("%d",&cas); 6 while(cas--){ 7 int n,i,max_sum,max_index... 阅读全文
posted @ 2013-09-12 22:08 再见~雨泉 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 大数加法c++版: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #inclu... 阅读全文
posted @ 2013-09-12 22:03 再见~雨泉 阅读(218) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页