动态规划
文章平均质量分 64
Ivan_wb
我的ACM之路~~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最长不降奇偶交替子序列
动态规划强化的日子(1)最长不降奇偶交替子序列题目出处:BJFUOJ 1028 http://acm.bjfu.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1028这题一样是需要找到动态转移方程,我们假设序列长度为m,我们假设前面的m-1个数的答案是dp[m-1],那么if(a[m]>a[m-1]&&(a[m]+a[m-1])%2)原创 2015-10-22 23:38:24 · 585 阅读 · 0 评论 -
最长公共子序列
动态规划强化的日子一直遇到动态规划就绕道走,终于决定静静的刷一波DP了动态规划入门题自然应该是最长公共子序列了题目出处:BJFUOJ 1003 http://acm.bjfu.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1003动态规划最重要的应该是找到状态转移方程,那么这题的状态转移方程是什么呢?问题:我们要找到长度为n的序列A和长度原创 2015-10-22 13:13:09 · 370 阅读 · 0 评论 -
Pick The Sticks【背包 CCPC D题】
这题同样赛场上过了白人,不同的是这题我们有一点点思路,不过由于对背包问题一知半解,我们并没有找到正确的解法。 题意:给一个长度为L的平台,和n根金条的长度与价值,金条只能在平台上摆一长条,且每根金条的重心不能超出平台边缘。 这题的变化就在于金条并不是完全必须放在平台上,如果是完全必须放在平台上,则题目就是一个标准的01背包问题了,但是由于首尾两端可以放出去一半的长度,就是说有两原创 2015-10-24 10:18:22 · 707 阅读 · 0 评论 -
指定长度递增子序列计数【CCPC C题】
这题赛场上过了一百多人,然而我们一点思路都没有,并不是我们实力不够,而是之前总是逃避DP,于是就放过了这么一个简单的DP题。 题意:给一个长度为n的数组,找出其中长度为m的递增子序列的个数,答案对10^9+7取余。 样例输入 2 3 2 1 2 3 3 2 3 2 1 样例输出 3 0 这题乍一看,第一感觉是一个DP加上组合数学的题目,那么既然原创 2015-10-24 10:16:00 · 1677 阅读 · 1 评论 -
hdu 2159 FATE【二维完全背包】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 代码: /* * test.cpp * * Created on: 2016年1月30日 * Author: PC-100 */ #include #include #include #include #include #include #include #inclu原创 2016-01-30 14:12:49 · 360 阅读 · 0 评论 -
Hdu 1059 Dividing【多重背包】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059 题意:输入六种物品的数量,其中这六种物品的价值分别为1,2,3,4,5,6.问能否分成价值相等的两堆? 本题可以理解为一个多重背包的题目,问能否在一个背包容量为 tot/2 的背包中装价值为 tot/2 的物品,那么剩下来的就是另外一半,首先我们需要排除掉tot为奇数的情况,另外可理解成此题原创 2016-01-30 15:30:37 · 444 阅读 · 0 评论 -
RMQ算法
1. 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。 2.RMQ算法 对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大转载 2016-03-21 16:26:26 · 427 阅读 · 0 评论
分享