随笔分类 - 动态规划
dp
摘要:题意:一条路上有n个地雷,告诉你这n个雷的位置,一个人初始在位置1,这个人每次可以走1个单位或者跳2个单位,概率分别为p和1-p,现在要求这个人安全通过这段路的概率思路:求出安全通过每个雷的概率,再把所有的乘起来即可。要安全通过某个雷(假设在place[i]这个位置),只有从place[i]-1跳两...
阅读全文
摘要:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=1631题目大意:用把一堆数字分为两A、B两堆,一堆m个一堆n个。问A堆数字之和与B堆数字...
阅读全文
摘要:dp[i][j]=1表示用前i个数字可以凑成余数为j。若dp[i-1][j]=1 ,则dp[i][(j+num[i])%k]=1;dp[i][((j-num[i]+k)%k+k)%k]=1#include #include #include #include using namespace std;...
阅读全文
摘要:题目传送门做完这题感觉dp像是一些状态在转移,由一个(多个)目前状态推到后一(多)个状态。这个题目的意思是n个人要照相,n个人的年龄为1到n。站成一排,规定最左段是1岁的人,相邻两个人的年龄差不会超过2岁。问有多少总排队方案。解法:第i个人加入所产生的状态可以从第i-1个人加入产生的状态推过来。我们...
阅读全文
摘要:题目传送门题目大意: 输入一个1到81(9*9)的数字s,求在1到109有多少个数字的数位和等于s。解题思路: 我们很容易知道一位数字等于s的个数。要使一个i位的数字数位和等于s,可以通过一个i-1位的数字后面加上0~9(如果s#include #include #include using na...
阅读全文
摘要:1: 12:1+(1+1)3:1+2+(2+3)4:1+2+5+(5+8)而斐波那契数列1 1 2 3 5 8……因此推出a[n]=a[n-1]+fib[2*i-1]+fib[2*1-2];java代码import java.util.*;import java.math.*;public clas...
阅读全文
摘要:例题:timus1146. Maximum Sum最大子矩阵可转化为最打子序列问题,最长子序列可以这样做:设a[N],则a[N]的最大子序列有两种可能(1)一直连续到a[i]。(2)从a[i]开始 。(如果不包括a[i]则之前已经算好,不用管)。则可以利用这个循环来求最大子序列int maxl(in...
阅读全文
摘要:题目题目大意:两个人玩游戏,一些牌排成一行,当前玩家可以从最左端或者最右端拿一张牌,第一个人永远选择最优的方案,第二个人总是贪心的拿当前牌堆左右两端更大的,求最后第一个人拿的数字之和比第二个人大多少。解题思路:题意和当时科创月赛的题很像,月赛时两个人都是选择最优方案。当时不懂dp(现在也只是初学),...
阅读全文

浙公网安备 33010602011771号