
【kuangbin】
ACMerszl
一事精致,便能动人
展开
-
kuangbin专题十二 HDU1029 Ignatius and the Princess IV
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1029 被专题的第一题吓到了,以为还是一道难题,就复杂考虑了。排序,然后 dp[i] = (a[i] == a[i-1]) ? dp[i-1] + 1 : 1 后来才发现必定有解,直接输出就可以了 AC代码: #include <iostream> #include <stdi...原创 2018-08-04 20:45:46 · 155 阅读 · 0 评论 -
kuangbin专题十二 HDU1078 FatMouse and Cheese
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1078 题目大意:和滑雪比较类似,只是多了一个最多k步的限制。dp + dfs即可 记忆化搜索。dfs一个点,求k步之内的最大值。 还是对搜索发怵!!!! AC代码:(见注释) #include <iostream> #include <stdio.h> #include...原创 2018-08-18 16:11:22 · 172 阅读 · 0 评论 -
kuangbin专题十二 HDU1069 Monkey and Banana
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题目大意:给出n种长方体的x,y,z(任意个),然后堆起来(要求严格小于自己下面的长方体),求能达到的最大高度。 经典的矩形嵌套:把每种长方体的6种方法都存储起来,然后排序,然后再像上升子序列dp一样。见注释 AC代码: #include <iostream> #include...原创 2018-08-07 09:27:37 · 146 阅读 · 0 评论 -
kuangbin专题十二 HDU1087 Super Jumping! Jumping! Jumping!
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意:给出一个序列,求严格上升子序列的最大和。 看到题目,发现是之前做过的题目,但是读了题之后,发现不是普通的,(可能是状态不好,就不想做了)。dp[i] 表示 以 i 结尾的最大和。 状态转移方程:dp[i] = max(a[i], max{dp[j] | 0 <= j <...原创 2018-08-08 09:14:00 · 132 阅读 · 0 评论 -
kuangbin专题十二 HDU1074 Doing Homework
传送门http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:给出一系列的作业,还有每一门作业的截止日期和做完需要的时间,老师规定每超过一天,就要扣一分,让你求一个做作业的顺序,使最后扣分最少。如果扣分相同,输出字典序最小的序列。 思路:本来以为只是贪心,但是发现没有解释的过的策略。然后搜了题解,发现是状压dp,然后就放了几天,今天终于想通了。 ...原创 2018-08-09 10:44:58 · 200 阅读 · 0 评论 -
kuangbin专题十二 HDU1114 Piggy-Bank
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1114 题目大意:给出存钱罐的容量,和各种货币的价值的重量,然后求存钱罐里放满的最坏情况(里面钱最少)。 思路:乍一看就是完全背包,但是用贪心一发WA,然后就学习了完全背包。注意一点,这里是求最小的价值。所以初始化条件要注意一下。 AC代码: #include <iostream> ...原创 2018-08-10 10:55:46 · 201 阅读 · 0 评论 -
kuangbin专题十二 HDU1176 免费馅饼
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1176 之前的dp专题有这道题,当时没有写出来,刚才第一次写了正推的代码。没有考虑到只能从5开始,WA。后来改了倒推。改了中间的小bug,过了。 思路:在一个点,可以接到 左中右 三个位置的馅饼,为了避免边界处理,把可能下落的点0~10变为 1~11。 这样1的 左中右 就是 0 1 2了。比较方便...原创 2018-08-10 16:47:00 · 199 阅读 · 0 评论 -
kuangbin专题十二 HDU1260 Tickets
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1260 题目大意:给出n个人,n个数表示每人单买的价格,n-1个数,表示相邻的两个人合买的价格。 思路:画了画,感觉挺难的。然后深搜写了,感觉得记忆化,然后发现可以用dp[pos], 表示到达该点之前的所有和的最小值。(具体见注释) dp递推的状态方程没有写出来。 dp[i] = minn(dp[i...原创 2018-08-11 10:44:38 · 135 阅读 · 0 评论 -
kuangbin专题十二 POJ1661 Help Jimmy
传送门:http://poj.org/problem?id=1661 思路:本来以为是dp二维x, y, 但是不可能开那么大,状态也不好规划。无奈之下看了题解。 dp[i][0]表示从左边到达i的最小花费 dp[i][1]表示从右边到达i的最小花费 然后考虑怎么转移。 例: ----------------------------------- ...原创 2018-08-15 19:09:11 · 267 阅读 · 0 评论 -
kuangbin专题十二 POJ3186 Treats for the Cows
传送门:http://poj.org/problem?id=3186 题目大意:给一个长度为n的序列,每次只能从队首或队尾取一个数,第几次取 * f[i] 就是利润,求最大利润。 看到题目果断贪心,只能局部最优,因为是dp专题,但是丝毫不会dp,看了题解发现是区间dp,然后看着理解了一下, dp[i][j] 表示 从第i个数到第j个数的最大利润,由于只能从dp[i+1][j] 和 dp[i]...原创 2018-08-17 10:48:38 · 150 阅读 · 0 评论