分类: 未分类

544 篇文章

Hie with the Pie
Aimee 很显然的状压dp $f_{i,j}$表示在i这个集合,最后停在了j时的最小长度 转移就行了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int …
P4550 收集邮票
Aimee 讨厌之处在于要求花费 花费可以视为上次花费+1 和次数相等 先考虑次数 $fi=frac{n-i}{n}*f{i+1}+frac{i}{n}*fi+1=f{i+1}+frac{n}{n-i}$ 那么期望呢 $g_i=frac{i}{n}(g_i+f_i+1)+frac{n-i}{n}(g{i+1}+f{i+1}+1)$ 啥意思呢?当前花…
Bloodsucker
Aimee 除了那个概率有点长以外没有什么难的 $fi=p*f{i+1}+(1-p)*fi+1=frac{f{i+1}+1}{p}$ 其中$p=frac{2(n-1)i}{n*(n-1)}$ #include<iostream> #include<cstdio> #include<algorithm> #incl…
P2627 [USACO11OPEN]Mowing the Lawn G
Aimee 转移方程很好想$dp_{i,0/1}$表示第i个选(1)或不选(0) 其中$dp{i,0}=max(dp{i-1,0},dp_{i-1,1})$ 而$dp_{i,1}=max(dp[j]+sum_i-sum_j),i-j<=k$ 都有$sumi$,那就成了$dp{i,1}=max(dp[j]-sum_j)+sum_i,i-j<…
SP1026 FAVDICE – Favorite Dice
Aimee' 这个题目还是很简单的 $dp_i=frac{i}{n}*dp_i+1$ 移个项就行了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n;…
HDU4405 Aeroplane chess
Aimee 做了一下午期望dp 终于一遍过zi 转移的方式很好想 但是瞬移怎么解决,既然瞬移是直接到头的话,并且保证出发点不相同 的话,那么并查集完成瞬移操作 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring&g…
Card Collector
Aimee 转态转移非常好想 状态压缩一下。然后倒着转移 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; double dp[1<<21]; int…
LOOPS(概率dp)
Aimee 很简单的期望dp 众所周知,期望一般倒着推,因为唯一已知的状态是$f_{r,c}$=0 定义 $f_{ij}$ 表示到达i,j之后到达终点的期望 转移方程$f{i,j}=f{i+1,j}p{i,j,2}+f{i,j+1}p{i,j,3}+f{i,j}*f_{i,j}+2$ 两边都有$f_{i,j}$咋搞 移项 #include<i…
P7285 「EZEC-5」修改数组
Aimee 很水的小题目 写这个不是因为我做完了题目 而是因为考完试了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int n; int t; int a[…
P1074 [NOIP2009 提高组] 靶形数独
Aimee 思维难度没有 唯一的剪枝就是从0少的列开始搜索 记录下所有能放的点的坐标,按顺序搜索 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; struct …