随笔分类 - 线段树
摘要:link:https://codeforces.com/contest/1969/problem/E 给一序列 ,要使得 的任意子段 都存在某数 ,使得其只在该子段恰出现一次。问最少修改 中几处位置? \(1\l
阅读全文
摘要:link:https://codeforces.com/gym/104880 题意:给一序列,需要支持操作:1、区间开方并下取整。2、区间平方。3、单点查询。 刚看到题的时候还是感觉眼前一亮的hhh,区间开方+区间查询是个经典的势能线段树问
阅读全文
摘要:link:https://codeforces.com/contest/765/problem/F 据说是典中典问题(出现三次了) 题意:给一个序列 ,有 次询问,每次询问给 问 \(\min_{l\leq
阅读全文
摘要:link:https://codeforces.com/contest/1514/problem/D 很久以前小号打的场了,当时D题写的莫队,现在重新来看看。 题意:给一个序列 ,有q次询问,每次问:把 划分最少几个不相交子
阅读全文
摘要:比赛链接:https://codeforces.com/contest/1938 给一棵有根树,执行以下代码: let L be an empty array for x = 1 to n for y = 1 to n append ((x - 1) * n * n + (LCA(x, y) - 1
阅读全文
摘要:CF742(Div.2) https://codeforces.com/problemset/problem/1567/A ,签到 https://codeforces.com/problemset/problem/1567/B ,首先答案至少是a,也就是至少要有 这些异
阅读全文
摘要:SWERC-2018 A题是个暴力就能过的签到 过完A看到有个队伍过了D,就去看了下D题,给平面内若干个点,你要选一条直线 作为主干道,从 出发,每次可以选择上/下/右地走,问最短距离。 一开始看到有绝对值先想了个取中位数的做法,然后发现如果一个 有好几个 ,直接算就
阅读全文
摘要:2017多校4-BD-区间筛/二分+线段树 继续单刷,场内过了BIK三题,D题本来应该也要能做的(但是读错题意了…) B题:http://acm.hdu.edu.cn/showproblem.php?pid=6069, 表示 的约数的个数,求 取模的值,\(l,r
阅读全文
摘要:Cantor展开 这是大概半年前学到的trick,今天突然想起来就来复习一下。 我们知道对于 个数 的排列一共有 个,同时我们很容易定义两个不同排列 的大小关系——按字典序比较就行,于是我们很自然地会发现,对于任意一个排列$P=(p_1,p_2,\d
阅读全文
摘要:bzoj4358-莫队+线段树 **题意:**给出一个长度为 的排列 ,以及 个询问。每次询问某个区间 中,最长的值域 连续段长度(例如)。 题解: (这题网上有挺多做法的,莫队+线段树/莫队+并
阅读全文
摘要:是之前存在本地的笔记,想起来就传上来了 数据结构 队列/单调队列 1886滑动串口 **题意:**长度为 的序列,大小为 的窗口,从左向右滑动,每次滑动输出窗口内元素最大/最小值 题解 以最大值为例,单调数据结构的一般思路:考虑到如果有两个元素 ,不妨假设 ,如果$a
阅读全文
摘要:一无聊就找树剖写 题意:一颗带点权的树,三种操作:1.换根 2.链赋值 3.查询子树最小值 如果没有换根的话直接就是裸的树剖了,对于换根的操作我们可以分类讨论。 1.如果查询的 就是根,那答案就是整棵树的最小值。 2.如果以1为根的dfs序中,根在 的子树之外,那很明显 的子树还是原来的
阅读全文
摘要:题意:单点修改,询问区间最大子段和, 考虑分治的方法 求一次最大子段和的做法,我们是根据中点分成左右两个区间,那么整个区间的答案要么是左边答案,要么是右边答案,要么是左边的最大后缀和加上右边的最大前缀和。而一个区间的最大前缀和又会等于它左区间的最大前缀和或者是
阅读全文
摘要:辣鸡会考考完啦哈哈哈哈 题意:一块板分成 块,每次给一段连续的块染色或者询问一段有几种颜色,颜色的范围 我记得我好像做过一个类似的二维染色的问题…不过那个用树状数组直接过掉了… 这题颜色范围这么小的范围直接想到线段树了吧,直接把一个区间的颜色二进制按位压缩成一个状态,维护区间或
阅读全文
摘要:听说后天会考x 省选居然还考模板题的么(好吧好像NOI也有考而且也是树剖…) 题意:一棵树,每个点有权值,三种操作:单点修改、求链上最大值、求链上权值和。 直接上模板。 我可能不会写单点修改的线段树了就直接写了个区间修改的用… #include<cstdio> #include<cstring> #
阅读全文
摘要:校运会的时候随手抽的题… 一句话题意 维护一个序列,初始为空,要求滋兹: 1.查询这个序列末尾 个数的最大值 2.设上一次查询的答案为 (如果还没查询 ),在末尾插入一个数 , 为给定常数 很容易想到用线段树做:记录序列的末尾,然后直接单点修改区间查询 本来
阅读全文
摘要:期中考挂完又来划水啦… 然后在洛谷上随机抽了一题 Luogu1886滑动窗口 然后发现好像以前在哪里见过这个(后来发现是rxz的blog) 一开始是想到写st表,然后蜜汁三个点爆了内存QAQ… 后来想起了这道题…就去翻了下那篇blog,学了下单调队列… 然后我的做法应该挺大众的 就以维护最小值为例,
阅读全文