专栏文章

题解:P6715 [CCO 2018] Fun Palace

P6715题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@minld8vn
此快照首次捕获于
2025/12/02 04:18
3 个月前
此快照最后确认于
2025/12/02 04:18
3 个月前
查看原文
宇宙题,大道至简。
以下称题面中生物,称 当前 的第 ii 个位置的人数为 cic_i当前 的定义需要结合语境。
发现操作可逆。
fi,jf_{i,j} 表示在 考虑全局 的情况下,cic_i 能通过若干操作得到的最大值 =j=j,此时 k=1ick\sum_{k=1}^{i} c_k 的最大值。
考虑转移从 fi,fi+1,f_{i,*}\to f_{i+1,*},分类讨论:
jai+bij\geq a_i+b_i 时,此时 ci+1=0c_{i+1}=0(不然 cic_i 可以更大),所以 ci+1c_{i+1} 的最大值也是 jj,转移有 fi,jfi+1,jf_{i,j}\to f_{i+1,j}
jaij\geq a_i 时,同理,ci+1=0c_{i+1}=0,但是你不能把所有 jj 个人送过去了,转移有 fi,jfi+1,jaif_{i,j}\to f_{i+1,j-a_i}
为什么上面恰好是 jjjaij-a_i 呢?如果能大于他们,我们再将从 ii+1i\to i+1 的操作撤销,发现 ci+10c_{i+1}\ne 0,矛盾。
j<aij<a_i 时,考虑 ci+1c_{i+1}
ci+1=bic_{i+1}=b_i 时,ci+1c_{i+1} 可以把 jj 全都抢走,有转移 fi,jfi+1,j+bi+bif_{i,j}\to f_{i+1,j+b_{i}}+b_i
ci+1<bic_{i+1}<b_i 时,ci+1c_{i+1} 什么都干不了,有转移 fi,jfi+1,kf_{i,j}\to f_{i+1,k},其中 k<bik<b_i
ci+1>bic_{i+1}>b_i 时,显然 ci+1c_{i+1} 还能给 cic_{i} 更多人,此时 cic_{i} 不是最大,矛盾。所以不考虑其转移。
初始时有 i[0,e),f1,i=i\forall i\in[0,e),f_{1,i}=i,直接转移即可,时间复杂度 O(nV)O(nV),其中 V=max(ai,bi,e)V=\max(a_i,b_i,e)

评论

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

正在加载评论...