码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
usaco-3.4-rockers-passed
又是一个背包问题,动态规划求解:/*ID: qq104801LANG: C++TASK: rockers*/#include #include #include #include #include #include #include using namespace std;#define nmax ...
分类:其他好文   时间:2014-09-16 23:27:51    阅读次数:238
POJ 3208 Apocalypse Someday 二分答案+数位DP
这题应该是POJ最强大的一道数位DP了吧 正解是AC自动机 不会 还是写数位DP吧 题目大意:我们令含有666的数字为不吉利数字,则可以得到一个递增数列: {an}=666,1666,2666,3666,4666,5666,6660,6661,.... 给定n,求an 首先我们把这个问题转化成另一个问题:给定n,求1~n中有多少个数含有666 解决了这个问题,把原问题二分答案即可 首先...
分类:其他好文   时间:2014-09-16 17:28:00    阅读次数:243
usaco-3.3-range-passed
呵呵,这个可用动态规划,d(i,j)=min(d(i-1,j),d(i,j-1),d(i-1,j-1)+1/*ID: qq104801LANG: C++TASK: range*/#include #include #include #include #include #include #includ...
分类:其他好文   时间:2014-09-16 15:55:11    阅读次数:302
最长递增子序列-动态规划(引用编程之美)
测试用例:输入:1,-1,2,-3,4,-5,6,-7输出:4 1 int lis(int array[]){ 2 int n=sizeof(array); 3 //定义lisMax存放当前的最长递增序列 4 int nMax=1; 5 //list[i]中放着从ar...
分类:其他好文   时间:2014-09-15 22:32:29    阅读次数:302
最长公共子串
最长公共子串(Longest Common Substring)是一个非常经典的问题,它的基本描述为“给定两个字符串,求出它们之间最长的相同子字符串(要求连续)的长度”。求N个最长为L的字符串的的LCS的方法大致可分为以下几类:1.枚举法显然是简单但极端低效的算法,改进一些的算法是用一个串的每个后缀对其他所有串进行部分匹配,用KMP算法,时间复杂度为O(NL2)。2.动态规划解法:平方的时间算法。3.后缀数组与高度数组解法,利用二分查找技术,时间复杂度为O(NLlogL)。3.广义后缀树方法,时间复杂度为可...
分类:其他好文   时间:2014-09-15 21:22:49    阅读次数:389
hdu 2192 MagicBuilding(简单的水题,sort排序)
MagicBuilding Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1314    Accepted Submission(s): 599 Problem Description As the incr...
分类:其他好文   时间:2014-09-15 16:01:09    阅读次数:217
hdu 2200 Eddy's AC难题 (排列组合 就是求(a+b)的n次方的展开式)
Eddy's AC难题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3770    Accepted Submission(s): 1765 Problem Description Eddy是个ACMer,他不...
分类:其他好文   时间:2014-09-15 16:00:09    阅读次数:221
UVa 116 - Unidirectional TSP
题目:给你一个n*m的数字表格,找到一条从左到右的路径,使得上面的数字和最小。            (每次可以从(i,j),走到(i,j+1),(i+1,j),(i-1,j)可以越界。) 分析:dp,动态规划。因为要字典序最小,所以采用从右向左的方式dp;            状态:f(i,j)表示走到(i,j)的最小和,则有转移方程:            f(i,j)= min(f...
分类:其他好文   时间:2014-09-15 14:20:59    阅读次数:177
UVa 10003 - Cutting Sticks
题目:有一个长l的木头,切成n+1段,切割的代价是当前段长度,求最小代价和。 分析:dp,区间动态规划。石子合并的逆过程。            状态:设F(i,j)为从点i切到j长度的木头切割成对应的小段代价,则有转移方程:             F(i,j)= min(F(i,k)+F(k,j)+cost(i,j)) {其中 i            这里注意,dp过程按区间大小递...
分类:其他好文   时间:2014-09-15 11:20:48    阅读次数:187
POJ 2486 Apple Tree 树形DP+分组背包
分组背包思想与树形DP的结合,极为机智的动态规划。...
分类:移动开发   时间:2014-09-13 00:49:34    阅读次数:303
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!