摘要: 题意有点绕,不过读懂了之后并不难 以Si结尾容易想到ac自动机,建好ac自动机并将fail指针反向即可得到一棵树 那么操作1就是将若干个子树的并中的节点全部权值+1 操作2就是将求若干个节点到根的路径的并中的节点的权值和 操作1不难用dfs序将子树并转化为区间并然后线段树区间加 操作2呢,我们进行树 阅读全文
posted @ 2017-02-08 15:47 acphile 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 这道题的难点在于思考dp表示什么 首先可以令ans[len]表示白色子矩阵边长最大值大于等于len的方案数则ans[len]-ans[len+1]就是beautifulness为len的方案数 白色子矩阵边长最大值大于等于len的方案数=总方案-白色子矩阵边长最大值小于len的方案数 经过这样的转化 阅读全文
posted @ 2017-02-08 15:41 acphile 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 好题,首先观察可得w[i][j]选择只有可能两种,一种比阀值大,一种比阀值小 比阀值大就一定选满足条件最大的w,比阀值小同样一定选满足条件最大的w 那么一个最小割模型就呼之欲出了,注意w可能是负数那么就集体+1025; 我们把这两种情况分辨记作w[i][mx[i]],w[i][mi[i]] 下面是建 阅读全文
posted @ 2017-02-08 15:22 acphile 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 补集转化,求不符合条件的三元组数目 但是怎么统计呢,这里我没想到 【如果三个数a, b, c不符合条件,那么一定有一对是互质的,有一对是不互质的。不妨令a, b互质,b, c不互质。于是我们可以枚举b来统计答案。在除了b自己的所有数中,要么与b互质,要么与b不互质。假设n个数中有k个与b不互质的数, 阅读全文
posted @ 2017-02-08 15:03 acphile 阅读(216) 评论(0) 推荐(0) 编辑