上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 分析:水题 每次安装的时候和根节点求lca的过程中区间覆盖+区间查询 每次删除的时候查询子树中安装的数量+区间覆盖 附上代码: 阅读全文
posted @ 2018-05-15 20:17 Winniechen 阅读(181) 评论(0) 推荐(0)
摘要: 分析: 区间合并,lcol是左端点的颜色编号,rcol是右端点的颜色编号,那么我们向上合并的时候,如果左儿子的rcol等于右儿子的lcol那么区间的sum--。 另外,如果重链顶的颜色等于重链顶的父节点的颜色,那么ans--; 附上代码: 阅读全文
posted @ 2018-05-15 20:14 Winniechen 阅读(203) 评论(0) 推荐(0)
摘要: 分析: 数据范围表示:c特别的小(c<20) 我们可以考虑nlogn*c^2的算法。 线段树维护区间信息:f[i]表示在[l,r]这段区间中选择i个数相乘的和。 因此,我们可以将区间看成一个点,在PushUp的时候用背包的方式更新父节点。(仔细观察发现这是卷积) 剩下的就是一些优化了... 附上代码 阅读全文
posted @ 2018-05-15 20:06 Winniechen 阅读(186) 评论(0) 推荐(0)
摘要: 斜率优化: 额...这是篇7个题的题解... 首先说说斜率优化是个啥,额... f[i]=min(f[j]+xxxx(i,j)) ; 1<=j<i (O(n^2)暴力)这样一个式子,首先,如果xxxx(xxx)与j无关,那么这是一个单调队列(可以理解?) 那么我们思考一下,如果xxxx(xxx)与i 阅读全文
posted @ 2018-05-12 16:39 Winniechen 阅读(350) 评论(3) 推荐(0)
摘要: 很早之前写的题了,发现没有更博,想了想,更一发出来。 Orz ljss 这是冬令营上的例题...之后,我推出来了一种时间复杂度没有问题,空间复杂度没有问题的方法,额(⊙o⊙)…和给出的正解不同,但是能AC 分析: 正解是什么我忘了,我还是讲一下我自己的方法吧... 首先,这是一个并查集的题...但是 阅读全文
posted @ 2018-05-07 22:05 Winniechen 阅读(240) 评论(0) 推荐(0)
摘要: 分析: 构造数据时间有些长,可以用秦九韶优化一下。 二分答案+贪心,即:另每一个b[i]尽可能的小的同时满足题意,在枚举过程中,判断是否存在一个b[i-1]>a[i]+x 如果存在,那么向右找 如果不存在,向左找 附上代码: 卡了一下常数(loj上需要卡一下常数,bzoj和洛谷不用,开O2跑的飞快) 阅读全文
posted @ 2018-05-07 21:49 Winniechen 阅读(161) 评论(0) 推荐(0)
摘要: 分析: 这道题很恶心...那个-1卡了我一会儿,其他的部分很简单。 我们能够看出,解题个数和n相关,并且形成不下降序列,那么我们可以二分找到第一个满足解题数为K和最后一个满足解题数为K的位置 判断两件事,(1)check(1)>=k(2)ans1<=ans2 附上代码: 阅读全文
posted @ 2018-05-07 21:44 Winniechen 阅读(204) 评论(2) 推荐(0)
摘要: 并查集 正序处理时间复杂度为n^2,考虑逆序处理,这样,时间复杂度从n^2降为nlogn 附上代码: 阅读全文
posted @ 2018-05-07 21:39 Winniechen 阅读(167) 评论(0) 推荐(0)
摘要: 分析: 一开始没看懂题... 后来想用二分答案却不会验证... 之后,想到用主席树来维护... 建一个权值线段树,维护出这个权值以前所有的点最晚在哪里出现... 之后,查一下是不是比查询区间的l断点大...如果小,往左查,如果大,往右查... 附上代码... 阅读全文
posted @ 2018-05-04 17:18 Winniechen 阅读(208) 评论(0) 推荐(0)
摘要: 网上有很多人说用dfs序+线段树做...其实stl的堆可以...可并堆可以...很多奇奇怪怪的东西都能做... 可并堆比较好想...也比较好写... 分析: 首先,这是一个网络流做不了的题...数据太大... 其次...我们可以这样考虑一下,这个点的子树中,将这个点的权值仅更新给最大的那个就能满足 阅读全文
posted @ 2018-05-04 14:43 Winniechen 阅读(395) 评论(2) 推荐(2)
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页