木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

随笔分类 -  DP

摘要:大致题意:给定一个字符串,添加字符,使该字符串左右对称,求添加字符数最少。设原序列S的逆序列为S' ,则这道题目的关键在于,最少需要补充的字母数 = 原序列S的长度 — S和S'的最长公共子串长度静态数组开销大小为5001*5001的int是铁定超的.据说用short int的话不会MLE,有兴趣的同学可以试试这里重点讲一下滚动数组在这个题目中的应用.自己目前理解的应用滚动数组的目的就是减少空间开销.首先可以在纸上简单模拟一下DP的转移过程.确定好最少行数或者列数之后,重点就是在如何进行"滚动"以及如何用表达式控制这个滚动.对于本题,我用的是行数以0--1- 阅读全文
posted @ 2013-07-06 21:30 C语言程序 阅读(222) 评论(0) 推荐(0) 编辑
摘要:题意:是求最长公共子序列的一个变型题;此题中的字符只有A,G,C,T四个,再加上'-';它们之间的不同匹配有对应的不同权值W;而且只有字符相同的匹配的权值为大于0;其他都为负值。此题就是求权值最大的匹配。f[i][j]: 表示第一个字符串的前 i 个字符和第二个字符串的前 j 个字符的最大权值。状态方程:f[i][j]=max(f[i-1][j]+w[a[i]]['-'],f[i][j-1]+w['-'][b[j]],f[i-1][j-1]+w[a[i]][b[j]]);// Time 16ms; Memory 324K#include usin 阅读全文
posted @ 2013-07-06 10:18 C语言程序 阅读(222) 评论(0) 推荐(0) 编辑
摘要:大致题意:输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线。规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个数中的一个。f[i][j]:表示第 i 行第 j 列到最后一行的最大权值和;状态方程:f[i][j]=w[i][j]+max(f[i+1][j],f[i+1][j+1]);// Time 157ms; Memory 1236K#include using namespace std; int max(int a,int b) { return a>b?a:b; } int main() { int i,j,n,w[355][35 阅读全文
posted @ 2013-07-06 09:17 C语言程序 阅读(203) 评论(0) 推荐(0) 编辑
摘要:大致题意:求最长升子序列。f[i]:前i+1个元素中包括第i+1个的最长升子序列。// Time 32ms; Memory 224K#include using namespace std; int main() { int i,j,n,a[1010],f[1010],max; cin>>n; for(i=0;i>a[i]; f[0]=1; for(i=1;ia[j] && f[i]<=f[j]) { f[i]=f[j]+1; } } max=0; for(i=0;i<n;i++) if(max<f[i]) max=f[i]; cout< 阅读全文
posted @ 2013-07-05 17:18 C语言程序 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题意:给出几类珍珠,以及它们的单价,要求用最少的钱就可以买到相同数量的,相同(或更高)质量的珍珠。规定买任一类的珍珠n个(价格为p),都要支付(n+10)*p的钱,即额外支付10*p。(1) 要求要买的珍珠的数量是一定的(2) 所买的珍珠的质量允许提高,但不允许下降(即可以用高质量珍珠替代低质量)(3) 输入时,后输入的珍珠价格一定比前面输入的要贵(4) 由(2)(3)知,珍珠的替代必须是连续的,不能跳跃替代。因为,假如方案是用第 i+2 类去替代第 i 类珍珠,而用第 i+1 类去替代第 i 类珍珠会使最终的支付价格更加低;所以,一定是因为第 i+2 类代替了第 i+1 类后会使最终的支付价 阅读全文
posted @ 2013-07-05 08:55 C语言程序 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意: 令原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。就是使新队列呈三角形分布就对了。要求最少出列数,就是留队士兵人数最大,即左边的递增序列人数和右边的递减序列人数之和最大因而可转化为求“最长降子序列”和“最长升子序列”问题。// Time 79ms; Memory 268K#include using namespace std; int main() { int i,j,n,fl[1010]={0},fr[1010]={0},max=0; double h[1010]; cin>>n; for(i=0;i>h[i]; fl[0]=1;fr 阅读全文
posted @ 2013-07-04 14:04 C语言程序 阅读(165) 评论(0) 推荐(0) 编辑
摘要:题意:就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列。PS:是匹配单词序列,而不是一个单词。f[i]表示从message中第i个字符开始,到第L个字符(结尾处)这段区间所删除的字符数,初始化为f[L]=0由于我的程序是从message尾部向头部检索匹配,所以是下面的状态方程:1、f[i]=f[i+1]+1 不能匹配时(最坏情况)2、f[i]=min(f[i],f[p]+(p-i)-q) 可以匹配时(取最优)// Time 94ms; Memory 268K#include using namespace std; int main() { int w... 阅读全文
posted @ 2013-07-04 12:10 C语言程序 阅读(173) 评论(0) 推荐(0) 编辑
摘要:动态规划,多重背包题目大意:有各种不同面值的货币,每种面值的货币有不同的数量,请找出利用这些货币可以凑成的最接近且小于等于给定的数字cash的金额。// Time 79ms; Memory 640K #include using namespace std; int v,f[100010]; void zeroone_pack(int c) //01背包 { for(int i=v;i>=c;i--) if(!f[i]) { f[i]=f[i-c]; } } void complete_pack(int c) //完全背包 { for(int i=c;i=v) { com... 阅读全文
posted @ 2013-07-03 21:47 C语言程序 阅读(212) 评论(0) 推荐(0) 编辑
摘要:转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove做了几个非常基础的数位DP,很水。弱爆了,接下来要进行进阶训练了HDU 2089 不要62http://acm.hdu.edu.cn/showproblem.php?pid=2089不能出现4,或者相邻的62,这题可以暴力打表解决具体的在代码里都有解释#include #include #include #include #include #include #define N 55 #define inf 14) //高位可... 阅读全文
posted @ 2013-06-11 09:30 C语言程序 阅读(294) 评论(0) 推荐(0) 编辑
摘要://Time 0ms, Memory 288K#include #include int main() { int i,j,la,lb,t,map[20][20],dp[105][105],x,y,z; char a[105],b[105]; memset(map,0,sizeof(map)); map[0][0]=map[2][2]=map[6][6]=map[19][19]=5; map[0][2]=map[2][0]=map[0][19]=map[19][0]=map[7][19]=-1; map[0][6]=map[6][0]=map[2... 阅读全文
posted @ 2013-06-11 08:07 C语言程序 阅读(196) 评论(0) 推荐(0) 编辑
摘要://Time 0ms, Memory 212K#include #include int main() { int i,j,l,n,c,t,vr,v1,v2,a[105],len; double temp,ti,min,d[105]; while(scanf("%d",&l)==1) { memset(d,0,sizeof(d)); scanf("%d%d%d",&n,&c,&t); scanf("%d%d%d",&vr,&v1,&v2); ti=l*1.0/vr; for(i= 阅读全文
posted @ 2013-06-07 20:16 C语言程序 阅读(335) 评论(0) 推荐(0) 编辑

木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺
点击右上角即可分享
微信分享提示