1.课程安排表:1. 线性表2. 字符串3. 栈和队列4.树5.查找6.排序7.暴力枚举法8.广度优先搜索9.深度优先搜索10.分治11.贪心12.动态规划13.图14.数学方法与常见模型15.大整数运算16. 基础功能2.编程技巧:1.把较大的数组放在main 函数(全局变量)外,作为全局变量,这...
分类:
其他好文 时间:
2014-09-06 15:58:43
阅读次数:
255
呵呵,这又是一个动态规划问题,d(j)=d(j-vv[i])+d(j)/*ID: qq104801LANG: C++TASK: money*/#include #include #include #include #include #include using namespace std;int N...
分类:
其他好文 时间:
2014-09-06 01:02:22
阅读次数:
222
最大音量 动态规划 题意:给出一个初始值和一个变化序列 c,在第 i 步可以加上或减去 c[i],求 n 步之后能达到的最大值。有一个限定值 maxlevel,在变化过程中值不能超过 maxlevel 也不能低于 0。初步解法:搜索。每一步两种决策,及时阻止无效状态的搜索。然后是(来自 lzw 大神...
分类:
其他好文 时间:
2014-09-05 23:39:22
阅读次数:
462
最长公共子串也是一个动态规划的问题,先求出子问题的解,然后才能求出最优解。首先我们来看设X = , Y= ,设C[i][j]为串 Xi和 Yj的最长公共子串长度,则C[i][j] = C[i-1][j-1] +1, Xi== YjC[i][j] = 0,Xi!= Yj申请一个m*n的数组,同时计算出...
分类:
其他好文 时间:
2014-09-05 17:48:01
阅读次数:
167
区间动态规划是从区间的角度来考虑问题的。对于每段区间,它的最优值是由几段更小的区间的最优值得到,这算是分治思想的一种应用吧。就拿http://acm.fafu.edu.cn/problem.php?id=1502合并石子这一题来说。要求得区间1-->n石子合并的最小花费设dp[1][n] 为合并区间...
分类:
其他好文 时间:
2014-09-05 12:54:41
阅读次数:
176
杭电ACM题目分类 基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、 1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、 1093...
分类:
其他好文 时间:
2014-09-04 22:14:20
阅读次数:
321
动态规划法
经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。
为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。
【问题】 求两字符序列的最长公共字...
分类:
其他好文 时间:
2014-09-04 19:07:10
阅读次数:
197
比较水的动态规划
dp[i][j] 将原串 i ~ j 之内的字符转化为回文字符所需要的最小操作次数
其中删除操作和添加操作本质上是一样的。
三个状态转移方程:
dp[i][j] = min(dp[i][j] ,dp[i + 1][j]);
dp[i][j] = min(dp[i][j] ,dp[i + 1][j - 1]);
dp[i][j] = min(dp[i][j] ,dp...
分类:
其他好文 时间:
2014-09-04 19:05:40
阅读次数:
189
【题意简述】:
输入:
2
2
20 25
40
1
8
输出:
这里的数据依次表示的意思为:第一个2,代表两组数据,然后下面的2表示两个人,如果单买票的话,其中第一个人会花费20S,另一个人会花费25S,如果两人一起买要花费40S(注意这里的两人一起买必须是相挨着的两个人才可以),因为题目是求得是最短的时间是多少,所以输入40S。具体的时间就是:
08:00:40 a...
分类:
其他好文 时间:
2014-09-04 19:03:30
阅读次数:
178