AtCoder DP Contest
AtCoder DP Contest
A
初值
B
从
答案为
C
D
背包,
可以用滚动数组滚掉一维。
E
仍然可以滚动数组。
F
LCS。先考虑只计算长度的情况。
否则,
原题要求输出方案,用 string 记录一下即可,但是貌似需要滚动数组。
G
图上 dp。运用拓扑排序。
H
简单的 dp。
如果
否则,
I
概率 dp。
J
期望 dp。
转移方程如下,为了避免子问题没穷举到的问题,改变了外重循环的顺序。当然也可以记忆化搜索。
for(int k=0;k<=n;++k)
for(int j=0;j<=n;++j)
for(int i=0;i<=n;++i)
{
if(i+j+k)f[i][j][k]=1.0*n/(i+j+k);
if(i)f[i][j][k]+=f[i-1][j][k]*i/(i+j+k);
if(j)f[i][j][k]+=f[i+1][j-1][k]*j/(i+j+k);
if(k)f[i][j][k]+=f[i][j+1][k-1]*k/(i+j+k);
}
K
博弈 dp。
转移:
L
区间 dp。
转移:
M
前缀和优化 dp。
可以前缀和优化。
N
区间 dp。枚举中间点。
O
状压 dp,
考虑到
转移枚举男人与那个女人配对即可。
P
树形 dp,
f[x][0]=f[x][0]*(f[v][0]+f[v][1])%mod;
f[x][1]=f[x][1]*f[v][0]%mod;
Q
树状数组优化 dp。
考虑到答案都在一区间内,问题转化为区间最大值,可以使用树状数组优化。
R
矩阵快速幂优化 dp。
S
数位 dp,设
T
前缀和优化 dp,设
U
状压 dp,设
可以的出如下转移方程:
时间复杂度为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】