摘要: 参考:https://www.cnblogs.com/lcf 2000/p/6809085.html 设f[i][j][k]为第i个学校派出的赛艇数量在区间j内,并且区间j内共有k个学校的方案数 把数量区间离散化,转移是: 当k==1 $$ f_{i,j,k}=\sum_{i'=1}^{i 1}\s 阅读全文
posted @ 2018-04-21 17:26 lokiii 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 看成网络流建图想了好久... 实际上5个是可以状压的 设f[i][k]为到第i个围栏状态为k的方案数,因为考虑到重复,设g[i][k]记录i开始,状态为k的孩子有几个 状态转移很好想:f[j][k]=max(f[j 1][(k&15) include using namespace std; con 阅读全文
posted @ 2018-04-21 09:58 lokiii 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.cnblogs.com/mmlz/p/4456547.html 枚举根,然后做树形dp,设f[i][1]为i是蓝线中点(蓝线一定是父子孙三代),f[i][0]为不是,转移很好想,但是这是n方的 考虑优化换根,记录最小值和最大值就能换根了 cpp include inclu 阅读全文
posted @ 2018-04-21 08:12 lokiii 阅读(172) 评论(0) 推荐(0) 编辑