2013年3月4日

PKU POJ 2181 Jumping Cows DP

摘要: 题目意思是从数列中选出一个子序列,然后堆该数列依次加一个减一个,最后得到的和最大。dp[0]记录之前处理过的数中,加一个数后得到的最大值;dp[1]则是记录减一个数后的最大值。#include<iostream>#include <string.h>#include <string>using namespace std;inline int mmax(int a,int b){ return a>b?a:b;}int main(){ int p,i,s,dp[2]; while (scanf("%d",&p)!=EOF) 阅读全文

posted @ 2013-03-04 18:13 Deller 阅读(129) 评论(0) 推荐(0)

PKU POJ 1958 Strange Towers of Hanoi DP

摘要: 一维DP,不用进行递归。#include<iostream>using namespace std;int main(){ int n,k,min[13]; min[1]=1; min[2]=3; printf("1\n3\n"); for (n=3;n<=12;++n) { min[n]=0x7fffffff; for (k=1;k<n;++k) if(min[n]>(min[k]<<1)+(1<<(n-k))-1) min[n]=(min[k]<<1)+(1<<(n-k))-... 阅读全文

posted @ 2013-03-04 18:12 Deller 阅读(142) 评论(0) 推荐(0)

PKU POJ 1414 Life Line 搜索

摘要: 题目很简单,就是在题目给点的区域划分下,判定哪些个区域和0相接,以及计算每个区域的节点数。搜索可以做,要注意搜索方向的设置。#include<iostream>using namespace std;int n,c,s[15][15];bool flag[15][15];int dir[6][2]={{-1,0},{-1,-1},{0,-1},{1,1},{0,1},{1,0}};inline bool judge(int x,int y){ return x>0&&y>0&&x<=n&&y<=x;}bool 阅读全文

posted @ 2013-03-04 18:09 Deller 阅读(170) 评论(0) 推荐(0)

导航