摘要: Aimee 打着期望dp的名字推式子 这位大佬写的非常好 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; int t; int 阅读全文
posted @ 2021-02-01 23:09 Simex 阅读(47) 评论(0) 推荐(0) 编辑
摘要: Aimee 很显然的状压dp $f_{i,j}$表示在i这个集合,最后停在了j时的最小长度 转移就行了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int 阅读全文
posted @ 2021-02-01 20:05 Simex 阅读(61) 评论(0) 推荐(0) 编辑
摘要: Aimee 讨厌之处在于要求花费 花费可以视为上次花费+1 和次数相等 先考虑次数 \(f_i=\frac{n-i}{n}*f_{i+1}+\frac{i}{n}*f_i+1=f_{i+1}+\frac{n}{n-i}\) 那么期望呢 \(g_i=\frac{i}{n}*(g_i+f_i+1)+\f 阅读全文
posted @ 2021-02-01 18:42 Simex 阅读(68) 评论(0) 推荐(0) 编辑
摘要: Aimee 除了那个概率有点长以外没有什么难的 \(f_i=p*f_{i+1}+(1-p)*f_i+1=\frac{f_{i+1}+1}{p}\) 其中$p=\frac{2*(n-1)i}{n(n-1)}$ #include<iostream> #include<cstdio> #include<a 阅读全文
posted @ 2021-02-01 15:12 Simex 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 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$ 都有$sum_i$,那就成了$dp_{i,1}=max 阅读全文
posted @ 2021-02-01 12:58 Simex 阅读(52) 评论(0) 推荐(0) 编辑
摘要: Aimee' 这个题目还是很简单的 \(dp_i=\frac{i}{n}*dp_i+1\) 移个项就行了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; in 阅读全文
posted @ 2021-02-01 08:20 Simex 阅读(63) 评论(0) 推荐(0) 编辑