
dp
mzajt123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ2373:Dividing the Path
单调队列优化dp 经过推到若设dp[i]为[0…i]最少所需喷头数 则当i不是牛所喜欢的地方时dp[i]=min(dp[k])+1;其中(i-2*b 当i是牛所喜欢的地方时dp[i]=INF; 然后最小的dp[k]用单调队列找就好 注意i为奇数时没有考虑的必要 #include #include #include #include #include #define INF 100000原创 2017-04-17 22:20:48 · 508 阅读 · 0 评论 -
bzoj3450: Tyvj1952 Easy
令dp[i][0]表示点击i次且第i次失败的期望,dp[i][1]表示点击i次且第i次成功的期望 通过观察分析找规律发现 当i-1次一定失败时dp[i][0]=dp[i-1][0];dp[i][1]=dp[i-1][0]+1; 当i-1次一定成功时dp[i][0]=dp[i-1][1];dp[i][1]=2*dp[i-1][1]+2-dp[i-1][0]; 当i-1次一定随机时dp[i][原创 2017-04-13 23:51:08 · 256 阅读 · 0 评论 -
bzoj2431: [HAOI2009]逆序对数列
dp…… 令b[i][j]表示n=i,k=j时的答案; 则b[1][0]=1;b[2][0]=1;b[2][1]=1;b[3][0]=1;b[3][1]=2;b[3][2]=2;b[3][3]=1; 我们观察发现(至少我是观察)b[i][j]=b[i-1][j-i+1]+……b[i-1][j]; 注意j-i+1(i-1)*(i-2)/2,即j大于i-1层逆序对最大值时,b[i][j]=b[原创 2017-04-13 22:51:40 · 296 阅读 · 0 评论 -
bzoj1090 [SCOI2003]字符串折叠
dp…… #include #include #include #include #include #include using namespace std; int n; char s[105]; int dp[105][105]; bool lcr(int l,int r,int c) { int i,j,k; for(i=0;i<=c-1;i++) fo原创 2017-04-13 22:44:29 · 254 阅读 · 0 评论