
简单DP
GEOTCBRL
?????
展开
-
【bzoj1260】 [CQOI2007]涂色paint
刷水成性啊……TAT 题意比较蛋疼,就是说一开始一个序列是空的,然后每次可以将连续的一段染成同一颜色,问多少次才能到目标状态。 显然是dp嘛 f[i][j]f[i][j]表示区间[i,j]需要染色多少次 首先初始状态是f[i][i]=1f[i][i]=1和f[i][i+1]=[stri==stri+1]f[i][i+1]=[str_{i}==str_{i+1}] 然后从短区间地推到长区间原创 2015-09-29 21:51:30 · 1331 阅读 · 0 评论 -
【bzoj3029】守望者的挑战
简单的概率DP 设f[i][j][k]f[i][j][k]表示到了第i项挑战,赢了j次,包包容量为k的概率。 易得 f[i][j][k]=f[i−1][j−1][k−a[i]]∗p[i]+f[i−1][j][k]∗(1−p[i])f[i][j][k]=f[i-1][j-1][k-a[i]]*p[i]+f[i-1][j][k]*(1-p[i]) 注意k可以是负数 最后把所有j>=l且k>=0原创 2015-10-04 15:53:51 · 1142 阅读 · 0 评论 -
【bzoj3450】 Tyvj1952 Easy
我是sb! WA了两发哈哈哈哈哈哈记录第i个位置的期望连击长度l[i]和期望得分f[i]直接搞都不好说什么了sigh#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++)int n; char st[300001]; long double l[300001] , f[300001];int main() { sc原创 2015-10-04 16:32:17 · 809 阅读 · 0 评论 -
【bzoj3036】绿豆蛙的归宿
水题,就是裸的求一个期望 f[i]=∑j∈son[i]f[j]+dis(i,j)deg[i]f[i]=\frac{\sum_{j\in son[i]}f[j]+dis(i,j)}{deg[i]} dfs一遍即可。 一开始bfs不知道哪里错了于怒改dfs= =|#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) #d原创 2015-10-03 20:09:52 · 1089 阅读 · 2 评论 -
【bzoj4145】[AMPPZ2014]The Prices
状压背包 不太好说 很容易写然而一开始写了个O(n3m)O(n3^{m})的T傻了没反应过来……总之这个就是当前走到了第i个商店,购买状态是s,然后背包转移,O(nm2n)O(nm2^{n})。#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) #define per(i,a,b) for(int i=a;i>=b;原创 2015-10-09 15:47:21 · 1300 阅读 · 0 评论 -
2012 Asia Tianjin Regional Contest - locker 暴力DP
设f[i][j][k]f[i][j][k]表示前i位已经匹配完,目前第i+1位为j,第i+2位为k的最小值。 则可以由第i位推到第i+1位的状态,若令t为j到tar[i+1]的步数,则 f[i][j][k]+t→f[i+1][k+p][num[i+3]+q]f[i][j][k]+t\rightarrow f[i+1][k+p][num[i+3]+q],其中q<=p<=tq<=p<=t,正原创 2015-11-10 21:55:24 · 1376 阅读 · 0 评论