动态规划
黑色的夢
I'm Acmer.
展开
-
nyoj 737 石子合并(一) 区间dp
区间dp,因为只能相邻的相加,所以牵扯到区间dp,即若要求一个大的区间的最优解,先求小区间的最优解然后小区间慢慢的推出大区间的最优解。 比如样例: 5 1 2 3 4 5 要求1~5这个区间,用dp[1][5]来形容1~5的最优值,那么dp[1][5]肯定为dp[1][1]+dp[2][5], dp[1][2]+dp[3][5], dp[1][3]+dp[4][5] ,d[1][4]+原创 2016-05-26 20:12:29 · 1474 阅读 · 0 评论 -
hdu 1428 漫步校园 记忆化搜索
无语了,,对这道题,从年前就做了这道题,到现在才A,之前一直以为题意是直走两个方向,即向下或向右,结果无限wa,后来看了hdu的discuss,才知道原来是可以走四个方向,自己想了一种方法,即用优先队列把图中每个点到(n,n)的距离全算出来,然后在算的同时并标明有几种距离相同的情况(一直朝四个方向搜并将队列里最小的值放在队列前面,直到搜到以前搜到过的点结束,结束时统计队列里同样搜到以前搜过的点并与最原创 2016-05-05 21:32:32 · 1048 阅读 · 0 评论 -
hdu 1074 Doing Homework
二进制状态压缩dp,第一次接触这个算法,同时吐槽一下自己:自己之前写博客从来不加注释,觉得自己会就OK了,博客是给自己看的,从没注意过看我博客的人的想法。 然而既然别人看你博客,那肯定是要学习你会然而别人不会的知识,如果不加注释的话,别人肯定看不懂,浪费别人的时间。自己写这道题深有体会, 看了好多大牛的博客,然而他们好多没加注释,搞得我根本就不知道他们写的是什么,自己想这道题想了好久,最后找到了原创 2016-05-06 12:42:04 · 2393 阅读 · 2 评论 -
HDU 1331 Function Run Fun
水题一道,亏我还想了半天,之前我还找规律,找了半天还没找到,之后一看else w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) 顿时明白后面的都是前面得来的, 直接打表不就好了嘛~~~~(害我想辣么久) Function Run FunTime Limit: 2000/1000 MS (Java/Others)原创 2016-05-05 23:15:04 · 569 阅读 · 0 评论 -
HDU 1203 I NEED A OFFER!
和01背包思路一样,不过有点小改变,如果01背包理解的不透彻,肯定不容易做出来。 这道题是求最大概率,那也就等同于1-所有不录取的概率,然后背包求解。 I NEED A OFFER!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23原创 2016-05-03 11:17:25 · 479 阅读 · 0 评论 -
nyoj 61 传纸条(一) nyoj 712探寻宝藏 双线dp
之前自己看到这道题一直想的是按照题意那样先从左上角到到右下角遍历一遍,再从右下角到左上角遍历一遍,可是怎么不走重复的路就不知道怎么解决了。 原来可以开一个四维的数组,来记录对应的状态。可以假设有两个纸条同时从左上角朝右下角走,假设起初第一个纸条朝向起点的右方,第二个纸条朝向起点的下方,假设第一个纸条的位置已知,则第二个纸条肯定始终在第一个纸条的下面的排,因为同时开始传,所以若已知第二个纸条在哪儿一原创 2016-06-07 18:45:51 · 960 阅读 · 0 评论