1.动态规划和子序列 1.1 动态规划的特征: a)最优子结构,求问题的解必须获取子问题的最优解; b) 重叠子问题,使用原始的递归存在大量的重复计算。 1.2 子序列的概念: a)子序列中的元素都是原字符串中的元素; b)子序列中元素的排列顺序,与他们在原字符串中的顺序...
分类:
其他好文 时间:
2014-08-05 03:00:08
阅读次数:
177
第一次做动规题目,以下均为个人理解以及个人方法,状态转移方程以及状态的定义也是根据个人理解,请过路大神指教。
状态:每一列的每一个数[ i ][ j ]都是一个状态;
然后定义状态[ i ][ j ]的指标函数d[ i ][ j ]为从[ i ][ j ]向右出发的可以得到的最小的整数和;
状态转移方程:d[ i ][ j ]=min(d[ i+1 ][ j+1 ][ i-1 ][ j+1 ...
分类:
其他好文 时间:
2014-08-04 21:43:48
阅读次数:
292
1、pow函数
#include
pow(x,y)用来计算以x 为底的 y 次方值,然后将结果返回。
注意:pow函数返回值为double型
printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) );
(他也可以计算小数的小数次方)
2、动态规划:
动态规划过程是:每次决策依赖于当前状态,...
分类:
其他好文 时间:
2014-08-04 17:52:40
阅读次数:
206
1. 编程入门2. 数据结构3. 字符串4. 排序5. 图遍历6. 图算法7. 搜索:剪枝,启发式搜索8. 动态规划/递推9. 分治/递归10. 贪心11. 模拟12. 算术与代数13. 组合问题14. 数论15. 网格,几何,计算几何【编程入门】PC 110101, uva 100, The 3n...
分类:
其他好文 时间:
2014-08-04 17:31:37
阅读次数:
461
第一遍,刘汝佳提示+题解;回头再看!!!POINT: dp[time][sta]; 在time时刻在车站sta还需要最少等待多长时间; 终点的状态很确定必然是的 dp[T][N] = 0 ---即在T时刻的时候正好达到N站点 我们可以 从终点的状态往起始的状态转化, 一步步走就可以了。 h...
分类:
其他好文 时间:
2014-08-04 17:26:17
阅读次数:
267
/*
ID: lucien23
PROG: subset
LANG: C++
*/
#include
#include
using namespace std;
int main()
{
ifstream infile("subset.in");
ofstream outfile("subset.out");
if(!infile || !outfile)
{
cout << ...
分类:
其他好文 时间:
2014-08-04 14:35:27
阅读次数:
200
Floyd算法
Dijkstra算法是用于解决单源最短路径问题的,Floyd算法则是解决点对之间最短路径问题的。Floyd算法的设计策略是动态规划,而Dijkstra采取的是贪心策略。当然,贪心算法就是动态规划的特例。
算法思想
点对之间的最短路径只会有两种情况:
两点之间有边相连,weight(Vi,Vj)即是最小的。
通过另一点:中介点,两点相连,使weight(Vi,Vk)+weight(Vk,Vj)最小。
Min_Distance(Vi,Vj)=min{weight(Vi,Vj)...
分类:
其他好文 时间:
2014-08-04 14:25:07
阅读次数:
275
动态规划求取连续数组最大和,非优化版,适合新同学理解学习。...
分类:
其他好文 时间:
2014-08-04 14:20:27
阅读次数:
235
解题思路:本题为动态规划题目,用01背包即可解决。 其实本题一眼看去像是贪心的题目,但是用贪心解却是错的,因为每个菜式的价钱一定,不可分隔。若用贪心,可能买了教贵的菜,剩下的钱不能买任意菜式,买某些便宜的菜,又使得贵的菜拉掉,最终不能最大限度的使用m-5元钱。 首先 ,按要求输入一组数据,输入完.....
分类:
其他好文 时间:
2014-08-04 13:23:07
阅读次数:
246