专栏文章

P3643 [APIO2016] 划艇 (学习笔记)

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minihqdb
此快照首次捕获于
2025/12/02 02:57
3 个月前
此快照最后确认于
2025/12/02 02:57
3 个月前
查看原文
考虑dp
由于值域非常大,考虑离散化
fi,jf_{i,j} 表示第i个学校,数量在第j个区间内
sumi,jsum_{i,j} 表示值域[0,j]的非0数递增的长度为i序列有几个,且序列不全为0
因为在同一段的学校一定是连成一片的,考虑枚举后缀
所以fi,j=k=1i1v=1j1fk,vsumik+1,lenjf_{i,j}=\sum_{k=1}^{i-1}\sum_{v=1}^{j-1}f_{k,v}*sum_{i-k+1,len_j}
O(n^4)
考虑优化
gi,j=k=1jfi,kg_{i,j}=\sum_{k=1}^jf_{i,k}
所以fi,j=sumik+1,lenjk=1i1gk,j1f_{i,j}=sum_{i-k+1,len_j}*\sum_{k=1}^{i-1}g_{k,j-1}
为O(n^3)
考虑如何计算sum
sum等价于 00000i0),123j0,0,0,0……0(i个0),1,2,3,……j
中选i个
去第k个0代表第k个数为0 又因为第i个数不为0 sumi,j=Ci+lenj1isum_{i,j}=C^{i}_{i+len{j}-1}

评论

0 条评论,欢迎与作者交流。

正在加载评论...