摘要: P1272 重建道路 神奇树形dp 令f[i][j]表示以i为根的子树,必须选i,所得到大小为j的联通块的最小代价 具体转移不好说清楚,类似背包 答案的话,i如果不是根那么f[i][j]++ 因为要和父亲断开 具体还是结合代码比较清晰 代码: 阅读全文
posted @ 2019-08-31 08:27 QYJ060604 阅读(113) 评论(0) 推荐(0) 编辑
摘要: CF558E A Simple Task WOC怎么又一个simple task? 操作就是区间排序+最终询问 第一反应是Splay(不对呀,我明明不会Splay的......😀) 后来看了看,感觉Splay不可做(我连Splay都不会,怎么就觉得不能做了) 感觉线段树比较靠谱 观察题目发现小写字 阅读全文
posted @ 2019-08-29 10:49 QYJ060604 阅读(109) 评论(0) 推荐(0) 编辑
摘要: CF286A Lucky Permutation 找规律 先盗张图 将数据分成4类:n%4==0 n%4==1 n%4==2 n%4==3 余数为0: 由图+分析题目意思可得 2 n ... 1 n-1 这样的排列最大化利用空间,使得这四个数字可以互相传递,答案不会出错 所以余数为0时只要这样即可 阅读全文
posted @ 2019-08-29 10:08 QYJ060604 阅读(136) 评论(0) 推荐(0) 编辑
摘要: CF8C Looking for Order 状压dp 令f[state]表示当前已放置状态为state时的最小代价 f[state|i|j]=min(f[state|i|j],f[state]+dis(0,i)+dis(i,j)+dis(j,0)); i,j可以相等 然后: 怎么解决呢? 优化1: 阅读全文
posted @ 2019-08-29 09:30 QYJ060604 阅读(183) 评论(0) 推荐(0) 编辑
摘要: CF3B Lorry Greedy 将两种体积的物体分类 组内按价值从大往小排序 枚举A物品选几个,算出B最多能选几个 这样既可 代码: 阅读全文
posted @ 2019-08-29 08:16 QYJ060604 阅读(155) 评论(0) 推荐(0) 编辑
摘要: CF2B The least round way message1: 脚造的垃圾hack数据: 3 0 1 1 1 1 1 1 1 1 ans: 1 DDRR 数据2: 3 0 1 1 1 1 0 1 1 1 ans: 1 DDRR dp 0由2×5组成 预处理每个位置2因子、5因子个数 f[i][ 阅读全文
posted @ 2019-08-28 22:07 QYJ060604 阅读(112) 评论(0) 推荐(0) 编辑
摘要: P2749 [USACO5.1]夜空繁星Starry Night 超大模拟 1.扫联通块(八个方向拓展) 2.去重 3.标记 4.输出 代码好短,跟猪国杀比都不能比 代码: 阅读全文
posted @ 2019-08-28 15:11 QYJ060604 阅读(154) 评论(1) 推荐(0) 编辑
摘要: P2796 Facer的程序 树形dp 其实就是求大树中小树的个数 f[i]表示以i为根的答案 f[i]=∏j∈i的孩子(f[j]+1) 代码: 阅读全文
posted @ 2019-08-28 14:05 QYJ060604 阅读(91) 评论(0) 推荐(0) 编辑
摘要: CF52C Circular RMQ 一点都不难 环状修改+RMQ 一看就是线段树 然后l<=r直接修改,l>r则分(l,n)和(1,r) 结束了 (PS:r和R搞错调了20min) 代码: 阅读全文
posted @ 2019-08-28 13:32 QYJ060604 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 博弈论 Volodya要取胜只能通过在四个角上做文章 如果Vlad尚未巩固好脚部防御,Volodya将处于主动 这样Volodya每走一步,Vlad都得接应 直到Volodya到达角上,结束游戏 所以如果Volodya能在Vlad在每个角先铺上一块之前就到达边上,那么Vlad必败。反之,Vlad必胜 阅读全文
posted @ 2019-08-27 21:58 QYJ060604 阅读(155) 评论(0) 推荐(0) 编辑