摘要: 树上建可持久化trie即可,有点过于裸了。darkbzoj过了然而在bzoj一直wa,不知道哪有锅。 阅读全文
posted @ 2018-10-30 22:11 Gloid 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 看到这个式子当然先二分答案。得max-min-(j-i+k)ans>=0。 显然max-min相同的情况下所选区间长度越短越好,所以max和min都应该取在边界。那么实际上我们根本不用管端点是否真的是max或min,因为即使不是将他们计入也不会对最终答案造成影响。不妨设右端点是max,则要最大化aj 阅读全文
posted @ 2018-10-30 21:28 Gloid 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 数据范围过大说明这个题和组合一点关系也没有,答案基本上肯定是ab的形式了。暴力打表感觉不太好写,找到当年的题面发现还有个样例是6 40 401898087,于是暴力找ab=401898087的数,发现一组a=64 b=40,可以发现a=2n b=k,同时也符合第一组数据,于是就做完了。 可以发现集合 阅读全文
posted @ 2018-10-30 19:10 Gloid 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 相当于选一个包含根的连通块使权值和最大,且每个点的儿子选取数量有限制。那么显然贪心的在所有子树中选比较大的就可以了。至于方案是否唯一只需要看选的子树是否可以替换,注意dp值为0的情况。 阅读全文
posted @ 2018-10-30 18:17 Gloid 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 感觉比较套路,每次在长边中轴线处切一刀,求出切割线上的点对矩形内所有点的单源最短路径,以此更新每个询问,递归处理更小的矩形。因为若起点终点跨过中轴线是肯定要经过的,而不跨过中轴线的则可以选择是否经过中轴线,若不经过一定就在矩形的某一半了。复杂度O((nm)1.5log(nm)),不太会证。 阅读全文
posted @ 2018-10-30 17:38 Gloid 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 即滋磁单点修改,询问路径上小于某数的值有多少个。暴力树剖套个主席树(或者直接树上主席树,似乎就1个log了?感觉不一定比两个log快)即可,然而不太优美。 开始觉得可以cdq,然而就变成log^3了。冷静一下感觉简直是个弱智,修改本身就是单调的,只要对询问离线即可。树剖+BIT即可维护。 阅读全文
posted @ 2018-10-30 14:42 Gloid 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 显然答案应该是Σi-next[next[……next[i]]] (next[next[……next[i]]]>0)。递推即可。 阅读全文
posted @ 2018-10-30 13:31 Gloid 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 设f[i][j]为由根进入遍历完i子树,最后一个到达的点是j时的最小代价,g[i][j]为由子树内任意一点开始遍历完i子树,最后一个到达的点是j时的最小代价,因为是一棵完全二叉树,状态数量是nlogn的。转移考虑四种走法:根→左子树→右子树;根→右子树→左子树;左子树→根→右子树;右子树→根→左子树 阅读全文
posted @ 2018-10-30 11:24 Gloid 阅读(241) 评论(0) 推荐(0) 编辑