线段树
Fat_tu
这个作者很懒,什么都没留下…
展开
-
bzoj3441(线段树的奇怪题)
比赛时碰到的,其实并不是什么imba的题,但其他人都沉迷30行的代码,没人用我的解法,所以就写了。题面语文不好,题意不会说了。显然每个(马猴)水缸的喝水次数是可以算出来的,即为tim[i]。 朴素的思考,一轮轮的喝,那么我只要知道每一轮喝了多少次就可以了。 根据(马猴)水缸的特点,某个水缸在某一轮没被喝,以后也不会被喝了。假设前k-1轮喝了ans次,第k-1轮喝水t次,喝水的序原创 2017-09-12 16:56:28 · 368 阅读 · 0 评论 -
BZOJ3211:花神游历各国(线段树)
题面 题意:序列,区间开根,区间求和 题解:见题意为什么做这题? 炉石玩多了,只会做一眼题了#include <iostream>#include <fstream>#include <algorithm>#include <cmath>#include <ctime>#include <cstdio>...原创 2018-03-07 20:42:57 · 198 阅读 · 0 评论 -
洛谷3401:洛谷树(树链剖分+机巧的位运算)
题面 题意:一棵树,支持边修改,问路径的子路径异或和。异或运算每位独立 gdkoi魔卡烧酒Sakura的套路 区间的子区间的异或和为区间异或前缀和 中0的个数乘1的个数 因为在前缀和中的0和1可以任意配对,也只有01配对能产生贡献 用线段树维护这个就行了根据Kscla的扫盲教育 长为len的区间有len+1个异或前缀和 若区间的异或和为0,则前缀和0/1的个数和后缀和0/1的...原创 2018-03-13 09:11:31 · 282 阅读 · 0 评论 -
洛谷T24438:精灵飞蝇(后缀自动机+线段树)
一上午才想出来,因为睡午觉(看《恋如雨止》)而失去了小礼物不知什么时候会消失的题面 题意:一个长100的短串,一个长50000的长串 要求支持长串某个位置修改,问长串[l,r]与短串的最长公共子串 修改不多于5000假如没修改 考虑什么信息可以得出答案 维护f[l]=rf[l]=rf[l]=r表示长串每个l最大的r使得[l,r]是短串的子串显然f单调不降 对于询问[l,r]...原创 2018-03-19 16:27:49 · 285 阅读 · 0 评论 -
洛谷4556:雨天的尾巴(线段树合并)
题面 路径(u,v)修改 根据套路可以变成u、v处+1,lca(u,v)处-1 单点查询变为子树查询然后搜题解 发现可以每个点开以颜色为权值 的权值线段树 统计子树信息就是线段树合并 根据某种理论 叶子结点个数一定时 复杂度就是一个log的 (刚学的)#include <iostream>#include <fstream>#include &...原创 2018-05-17 19:58:49 · 289 阅读 · 0 评论 -
洛谷:P4364 [九省联考2018]IIIDX(线段树)
题面 求出每个子树的siz 数由大到小排 靠谱的策略大概是第i个节点选排名为siz[i]siz[i]siz[i]的数 的与之相等的 排名最大的那个 然后为它的子树预留足够的点但是不知道要预留那些点据题解,可以对于每个点维护该点的前缀有几个可以选,记为c[i]c[i]c[i] 对于点x,找到最小的iii使得所有的j>ij>ij>i满足c[j]≥siz[x]c[j]≥si...原创 2018-05-17 20:33:41 · 261 阅读 · 0 评论