摘要: 这题真神了……没想到链的问题还可以转化为子树解……一开始总以为是树链剖分…… 我们可以先把问题转化为每条边只能被一个工人修复一次,可以证明这样答案不会更优也不会更差 设f[i]表示覆盖了i节点子树的所有边都被覆盖且i的父向边也被覆盖的最小花费 我们可以把工人修复转化为“头加尾减”,即在u[i]处添加 阅读全文
posted @ 2017-01-28 23:47 acphile 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 题意定义f(l,r)为去掉[l,r]部分后剩下的数任意两个数的最大公约数的最大值 现在求f(l,r)的和 由于每个数ai最大只有200000,因此我们穷举因子x,记录以其为因子的a[i]的i值并按i升序。 下面我们从大到小穷举每个因子x,我们依次计算以f(l,r)=x的区间数, 有了上述的维护信息, 阅读全文
posted @ 2017-01-28 23:32 acphile 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 好题,由m的范围知道这肯定是矩阵乘法加速插头dp,关键是怎么写 以往插头dp常用逐格递推,而这道题要求整行逐列递推 这样我们才能构造转移矩阵。 我们可以通过假象一个第0列来将路径转化为回路问题 逐列递推依然使用最小表示法,维护这一列每个格子向右的插头的连通性(最小表示法) 我们可以通过已知状态不断扩 阅读全文
posted @ 2017-01-28 22:32 acphile 阅读(225) 评论(0) 推荐(0) 编辑