随笔分类 -  DP

上一页 1 2 3 4 5

HDU 1257 最少拦截系统 dp + 贪心
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1257 一开始的时候还用了单调栈维护,toNext[i] 表示第i个往右边,第一个比它小的数。 我还以为一路这样弄下去就搞定了。 但是有数据卡我了。 6 5 6 5 4 3 2 1 5 4 3 2 1 这样其实只需 阅读全文

posted @ 2016-10-27 19:30 stupid_one 阅读(173) 评论(0) 推荐(0)

HDU 1260 Tickets DP
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1260 用dp[i]表示处理到第i个的时候用时最短。 那么每一个新的i,有两个选择,第一个就是自己不和前面的组队,第二就是和前面的组队。 那么dp[i] = min(dp[i - 1] + a[i], dp[i - 阅读全文

posted @ 2016-10-27 14:50 stupid_one 阅读(134) 评论(0) 推荐(0)

HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1176 首先可以处理出整张地图的状态。 book[T][POS]表示第T秒,在第pos个地方有多少个馅饼。 dp[i][j]表示第i秒的时候,在第j个位置能得到的最大值。 边界值:dp[1][4] = book[1 阅读全文

posted @ 2016-10-27 14:16 stupid_one 阅读(167) 评论(0) 推荐(0)

HDU 1114 Piggy-Bank 完全背包 dp
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1114 完全背包的题目,要求输出最小价值。然后一定要把给出的背包重量全部用完。 就是问一个背包为k的大小,n件物品,能装的最小价值,并且一定是用了k个背包容量。 用dp[i]表示背包容量为i得时候,能收录的最小价值 阅读全文

posted @ 2016-10-27 13:46 stupid_one 阅读(160) 评论(0) 推荐(0)

HDU 1069 Monkey and Banana DP LIS变形题
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1069 意思就是给定n种箱子,每种箱子都有无限个,每种箱子都是有三个参数(x, y, z)来确定。 你可以选任意两个参数作为长和宽,第三个是高。 然后要求把箱子搭起来,使得高度最高。 能搭的前提是下面那个箱子的长和 阅读全文

posted @ 2016-10-26 23:32 stupid_one 阅读(233) 评论(0) 推荐(0)

HDU 1087 E - Super Jumping! Jumping! Jumping! DP
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1087 设dp[i]表示去到这个位置时的最大和值。(就是以第i个为结尾的时候的最大值) 那么只要扫描一遍dp数组,就能得到ans,因为最后一步可以无条件到达终点。 那么可以用O(n^2)转移,枚举每一个位置,其中要 阅读全文

posted @ 2016-10-26 19:51 stupid_one 阅读(173) 评论(0) 推荐(0)

HDU 1074 Doing Homework 状态压缩dp
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目是给定n个科目(n <= 15)然后每个科目有最迟完成时间和需要多少天去完成。 现在要你安排一个顺序去做这些科目,使得扣分最小,要求输出字典序最小的解。 考虑用dp[i]表示完成了i的二进制那些科目时, 阅读全文

posted @ 2016-10-26 10:37 stupid_one 阅读(129) 评论(0) 推荐(0)

HDU 1024 A - Max Sum Plus Plus DP + 滚动数组
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1024 刚开始的时候没看懂题目,以为一定要把那n个数字分成m对,然后求m对中和值最大的那对 但是不是,题目说的只是选出m对,所以有些数字是可以不用的。 那么就用 dp[i][j]表示前j个数,分成了i段,其中第a[ 阅读全文

posted @ 2016-10-24 20:23 stupid_one 阅读(180) 评论(0) 推荐(0)

D. Time to Raid Cowavans 分块暴力,感觉关键在dp
摘要:http://codeforces.com/contest/103/problem/D 对于b大于 sqrt(n)的,暴力处理的话,那么算出每个的复杂度是sqrt(n),就是把n分成了sqrt(n)段, 其他的,b小于sqrt(n)的,那么不同 b值最多只有sqrt(n)个,但是询问可能达到q个。考 阅读全文

posted @ 2016-10-02 13:32 stupid_one 阅读(214) 评论(0) 推荐(0)

HDU 5904 LCIS DP
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5904 给定两个序列,要求算出其最长的公共上升子序列, 并且这个子序列公差是1. 考虑dp dpa[val]表示在a数组中,以val这个数字结尾,最长上升1的子序列。dpa[val] = dpa[val - 1] 阅读全文

posted @ 2016-09-25 10:14 stupid_one 阅读(395) 评论(0) 推荐(0)

D - 稳住GCD DP
摘要:http://acm.uestc.edu.cn/#/problem/show/923 给定一堆数字,求其所有数字的gcd。 现在要删除最多的数字,使得剩下的数字的gcd和原来的一样。 设dp[i][val]表示在前i个数中,得到val这个数字所需的最小数字,怎么得到val这个数字?就是gcd得到。 阅读全文

posted @ 2016-09-25 00:22 stupid_one 阅读(316) 评论(0) 推荐(0)

Abbreviation ---- hackerrank
摘要:恢复内容开始 https://www.hackerrank.com/contests/world-codesprint-6/challenges/abbr 给定两个串str和sub。 对于每个str中的小写字母,可以变成大写,其他小写字母,能无条件删除,问其能否变成sub 一开始的时候贪心,用个数组 阅读全文

posted @ 2016-09-03 19:20 stupid_one 阅读(518) 评论(0) 推荐(0)

UVALive 5983 二分答案+dp
摘要:想了很久都想不出怎么dp,然后发现有些例子,如果你开始不确定起始值的话,是不能dp的,每种状态都有可能,所以只能二分一个答案,确定开始的val值,来dp了。 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath 阅读全文

posted @ 2016-08-27 10:00 stupid_one 阅读(183) 评论(0) 推荐(0)

HDU 5763 Another Meaning dp+字符串hash || DP+KMP
摘要:题意:给定一个句子str,和一个单词sub,这个单词sub可以翻译成两种不同的意思,问这个句子一共能翻译成多少种不能的意思 例如:str:hehehe sub:hehe 那么,有**he、he**、和hehehe三种不同的意思, 考虑一下aaadaaa这种情况?sub:aa 前面的aaa有三种,后面 阅读全文

posted @ 2016-08-22 19:22 stupid_one 阅读(219) 评论(0) 推荐(0)

上一页 1 2 3 4 5

导航