摘要: http://acm.hdu.edu.cn/showproblem.php?pid=6638 偷学一波潘哥的二维离散化和线段树维护最大子段和。 思路是枚举上下边界,但是不需要从左到右用最大子段和dp。 用O(n)建立线段树之后,下边界在往下增长的时候,每次只会单点修改某个点的值,影响这个点的祖先。 阅读全文
posted @ 2019-08-07 19:18 韵意 阅读(260) 评论(0) 推荐(0) 编辑
摘要: include using namespace std; typedef long long ll; int n, m; int x[11], y[11], k[11], t[11]; struct Equa2 { int x, c, m; Equa2(int x, int c, int m): x 阅读全文
posted @ 2019-08-07 16:39 韵意 阅读(254) 评论(0) 推荐(0) 编辑
摘要: https://scut.online/p/77 线段树的一种奇怪的应用,暴力区间更新,每次update直接pushdown到底部,然后从维护底部。这样下次update的时候假如提前遇到底部就很快返回了。每个节点更新60次,单次更新nlogn。更新完毕之后每次update都是几乎一个log就返回了。 阅读全文
posted @ 2019-08-07 11:13 韵意 阅读(157) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problem/P2146 继续重链剖分。 这里好像很好懂,每次安装软件就区间改值赋值整个路径是1,然后比较前后的sum值变化就可以了。事实上后一次的sum值必定是dep。卸载的话,依赖它的都没了,相当于清空整棵子树。 cpp include define 阅读全文
posted @ 2019-08-07 01:29 韵意 阅读(147) 评论(0) 推荐(0) 编辑