0902练习
A [HNOI/AHOI2018]道路
记忆化搜索,枚举当前哪里不修,暴力向下递归。有树高限制保证复杂度正确
code
B CF321D
hdhd讲的装呀枚举。通过规律找独立和有关的量,把独立的单独算,减小枚举量。
code
C
没写听直通车说很恶心 谷谷谷谷
upd
A题并不是那道题
真正的题面
因为是练习,所以看错题了也没发现
后来交到oj上过不了才发现题不一样。。。
真正的题面:把上面的A改成二叉树不变,选路任意选n条的的答案
然后这样就大概有两种做法 第一种出题人是给的正解wqs二分,不会。。德福写的这个可以看他博客
第二种是中天城给的方法
f[x][i][j][k]表示在x子树中选k条,在x到根的路径上选i,j条公路和铁路的最小代价
然后猜一波最后一维是个凸的,写个闵可夫斯基和合并dp数组就行了
可以理性分析,复杂度是
常熟很小,比
空间很大,要套三层vector加滚动,用完就clear然后和空vector交换这样省空间
code
upd \times 2
因为太 懒 菜了,0903的比赛只补了一道题,干脆放到这里
题面
两种做法:一种是直接多项式去搞他,后一行等于前一行
第二种是考虑p行的每一个数对你当前的这个数的贡献。具体可见这里
感觉第二种好写,狮子也不难推。于是就写的第二种。没想到我高估了自己。。。柿子推错字比了好久草
code