摘要: 题目链接好久没刷DP了,很没状态啊。这个题,先是算法想错,以为是类似滑雪的那种记忆化DP,结果变出来,没有终止条件,死循环。。。后来换了算法O(n^3) 这个状态方程很容易就能看出来,主要是实现的问题。。。还真不好说,这个是怎么做的,就是一直找左右,直到没法更新为止吧。最郁闷的是傻的不知道10的9次方会爆int,写完后URAL给的错误看不太懂,以为是数组越界。。。。。最近1Y很困难啊。。。 1 #include <stdio.h> 2 #include <string.h> 3 #define N 10000000000 4 long long dp[111][511] 阅读全文
posted @ 2012-06-15 21:00 Naix_x 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目链接区域赛的水题。。。题意理解好了就OK了,模版题,还是调试了一会,自己对代码不太熟练啊。 1 #include <stdio.h> 2 #include <string.h> 3 #define N 1000000 4 int main() 5 { 6 int p[20][20],low[13],o[13],sea[13]; 7 int i,j,k,n,a,b,w,ev,min; 8 while(scanf("%d",&n)!=EOF) 9 {10 memset(o,0,sizeof(o));11 memset(sea,0,... 阅读全文
posted @ 2012-06-15 10:21 Naix_x 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接非常裸的最短路问题,昨天把Dijkstra的思想理解了下,发现和prim非常相似,都是用一个low数组记录到达每个点的最短距离,昨天WA了N次,发现数据中竟然有两个点的权值有的时候有好几个。。。杭电上这个题数据没有重边。今天看了一下弗洛伊德,代码真的是挺简单,思想不是很理解。。。先代码实现,然后慢慢体会他的DP思路。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 100000 5 int p[111][111],o[101],low[101]; 阅读全文
posted @ 2012-06-15 09:07 Naix_x 阅读(237) 评论(0) 推荐(0) 编辑