上一页 1 ··· 32 33 34 35 36

2011年2月24日

poj 3756

摘要: 题目描述:类似大富翁的游戏,给你一条长度为n的条状棋盘,起点为0号,终点为n号,一共有n 1个点。每个点有4种状态:1:无状态。2:从此点往前走k步。3:从此点往后退m步。4:下一回合不能动。每一回合仅能启用一种状态(比如中了状态2往前走k步后,刚好又碰到状态3,则状态3不起作用)如果退到0点或者n点还有剩余的步可以走,则往相反的方向走(既不能丢弃多余的步,也不能走出棋盘)。问你从0走到n所需的回合的期望。解题报告:dp,dp[i][j]表示第i回合走到第j号点的概率是多少,开始时dp[0][0] = 1,其他都为0.若dp[i][j] != 0, 根据规则,容易求的从j开始抛骰子的以下六个位 阅读全文

posted @ 2011-02-24 14:26 宇宙吾心 阅读(443) 评论(1) 推荐(0) 编辑

poj 1745

摘要: 题目描述:给你n个整数,和一个k值(2<=k<=100),问在这n个数之间的n-1的位置任意放加减号,问有没有一种情况使结果整除k。典型dp。 dp[i][j]=dp[i-1][j-a[i]]||dp[i-1][j+a[i]];当然要考虑余数为负数的情况。代码: #include<iostream>#include<fstream>using namespace std;int a[10001];int dp[10001][101];int n,m;void read(){// ifstream cin("in.txt"); int i, 阅读全文

posted @ 2011-02-24 11:20 宇宙吾心 阅读(683) 评论(0) 推荐(0) 编辑

poj 1141

摘要: 题目大意:给你一贯括号序列(只包含小括号和中括号),让你找出长度最小的regular brackets sequence包含此子序列.注意有空行。细心。代码:#include<iostream>#include<fstream>#include<cstring>using namespace std;int dp[110][110];char c[220];int n;void print(int i,int j){ int s; if(i>j) return; if(i==j) { if(c[i]=='('||c[i]==') 阅读全文

posted @ 2011-02-24 10:31 宇宙吾心 阅读(219) 评论(0) 推荐(0) 编辑

2011年2月23日

poj 1651

摘要: 题目描述:依次从左到右给你n个数字,每次取出一个数字(这个数字不能是最两边的数字),这个数字和它左右两边的数字(一共三个数字)相乘,累加这个数。直到最后仅剩下两个数字。求最后累加的最小值。对于整个牌的序列,最左端和最右端的牌是不能被取走的,除这两张以外的所有牌,必然有一张最后取走。取走这最后一张牌有一个仅与它本身以及最左端和最右端的牌的值有关的得分,这个分值与其他牌没有任何关系。当这张最后被取走的牌被定下来以后(假设位置为j), 最左端到j之间的所有牌被取走时所造成的得分必然只与这之间的牌有关从而与j到最右端之间的牌独立开来。这样就构成了两个独立的子区间,出现重叠子问题。于是问题的解就是 取走 阅读全文

posted @ 2011-02-23 16:29 宇宙吾心 阅读(261) 评论(0) 推荐(0) 编辑

poj 3661

摘要: 题目描述:一个人(牛。。。)跑步,开始时劳累程度是0,一共有N分钟,如果第i分钟跑步的话,能跑di的距离。同时劳累程度加1,如果这一分钟休息的话,劳累程度减一,而且如果一旦休息,就一定要休息到劳累程度为0时才能继续跑。问第N分钟劳累程度是0的时候最多能跑多远。解题报告:dpdp[i][j] = dp[i - 1][j - 1] di ( j> 0 )dp[i][0] = max (dp[i - 1][0], dp[k][j-k](j- k>= k && k<= M))代码:#include<iostream>#include<fstream& 阅读全文

posted @ 2011-02-23 14:36 宇宙吾心 阅读(292) 评论(0) 推荐(0) 编辑

poj 1949

摘要: 题目描述:有n个任务,第i个任务需要时间xi来完成,并且第i个任务必须在它 “前面的” 某些任务完成之后才能开始。给你任务信息,问你最短需要多少时间来完成任务。解题报告:“前面的”,知道这些任务已经是top排序好的了。dp[i] = 完成第i个任务时所需的最短的时间。dp[i] = max(dp[j]) xi, j是需要在它前面完成的任务的序号。max(dp[i])就是答案。代码:#include<iostream>#include<fstream>using namespace std;int dp[10001];void read(){// ifstream cin 阅读全文

posted @ 2011-02-23 13:28 宇宙吾心 阅读(688) 评论(0) 推荐(0) 编辑

上一页 1 ··· 32 33 34 35 36

导航