随笔分类 -  线段树

摘要:link:https://codeforces.com/contest/1936/problem/D 题意:给两个长度为 n 的序列 ab,对一个区间 [l,r],称 [l,r] 是好的,若:(bl||br)v。一个区间的 阅读全文
posted @ 2024-07-12 10:47 yoshinow2001 阅读(16) 评论(0) 推荐(0) 编辑
摘要:link:https://codeforces.com/contest/1969/problem/E 给一序列 a,要使得 a 的任意子段 [al,,ar] 都存在某数 ai,使得其只在该子段恰出现一次。问最少修改 a 中几处位置? \(1\l 阅读全文
posted @ 2024-05-01 07:38 yoshinow2001 阅读(14) 评论(0) 推荐(0) 编辑
摘要:link:https://codeforces.com/gym/104880 题意:给一序列,需要支持操作:1、区间开方并下取整。2、区间平方。3、单点查询。1n,q2×105 刚看到题的时候还是感觉眼前一亮的hhh,区间开方+区间查询是个经典的势能线段树问 阅读全文
posted @ 2024-04-05 02:04 yoshinow2001 阅读(16) 评论(0) 推荐(0) 编辑
摘要:link:https://codeforces.com/contest/765/problem/F 据说是典中典问题(出现三次了) 题意:给一个序列 a1,,an,有 m 次询问,每次询问给 l,r(1l<rn)问 \(\min_{l\leq 阅读全文
posted @ 2024-03-20 19:49 yoshinow2001 阅读(25) 评论(0) 推荐(0) 编辑
摘要:link:https://codeforces.com/contest/1514/problem/D 很久以前小号打的场了,当时D题写的莫队,现在重新来看看。 题意:给一个序列 [a1,,an],有q次询问,每次问:把[al,,ar] 划分最少几个不相交子 阅读全文
posted @ 2024-03-18 18:52 yoshinow2001 阅读(73) 评论(0) 推荐(0) 编辑
摘要:比赛链接: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 阅读全文
posted @ 2024-03-04 16:11 yoshinow2001 阅读(79) 评论(0) 推荐(0) 编辑
摘要:CF742(Div.2) https://codeforces.com/problemset/problem/1567/A ,签到 https://codeforces.com/problemset/problem/1567/B ,首先答案至少是a,也就是至少要有0,1,,a1这些异 阅读全文
posted @ 2021-09-10 10:30 yoshinow2001 阅读(100) 评论(0) 推荐(1) 编辑
摘要:SWERC-2018 A题是个暴力就能过的签到 过完A看到有个队伍过了D,就去看了下D题,给平面内若干个点,你要选一条直线y=p作为主干道,从(0,y0)出发,每次可以选择上/下/右地走,问最短距离。 一开始看到有绝对值先想了个取中位数的做法,然后发现如果一个x有好几个y,直接算就 阅读全文
posted @ 2021-05-04 16:52 yoshinow2001 阅读(133) 评论(0) 推荐(0) 编辑
摘要:2017多校4-BD-区间筛/二分+线段树 继续单刷,场内过了BIK三题,D题本来应该也要能做的(但是读错题意了…) B题:http://acm.hdu.edu.cn/showproblem.php?pid=6069,d(k)表示k的约数的个数,求d(ik)取模的值,\(l,r 阅读全文
posted @ 2021-04-12 23:09 yoshinow2001 阅读(55) 评论(1) 推荐(0) 编辑
摘要:Cantor展开 这是大概半年前学到的trick,今天突然想起来就来复习一下。 我们知道对于n个数1,2,,n的排列一共有n!个,同时我们很容易定义两个不同排列p1,p2的大小关系——按字典序比较就行,于是我们很自然地会发现,对于任意一个排列$P=(p_1,p_2,\d 阅读全文
posted @ 2021-04-04 23:40 yoshinow2001 阅读(82) 评论(0) 推荐(1) 编辑
摘要:bzoj4358-莫队+线段树 **题意:**给出一个长度为n的排列P(P1,P2,...Pn),以及m个询问。每次询问某个区间[l,r]中,最长的值域 连续段长度(例如)。n,m5×104 题解: (这题网上有挺多做法的,莫队+线段树/莫队+并 阅读全文
posted @ 2021-02-28 11:13 yoshinow2001 阅读(55) 评论(0) 推荐(0) 编辑
摘要:是之前存在本地的笔记,想起来就传上来了 数据结构 队列/单调队列 1886滑动串口 **题意:**长度为n的序列,大小为k的窗口,从左向右滑动,每次滑动输出窗口内元素最大/最小值 题解 以最大值为例,单调数据结构的一般思路:考虑到如果有两个元素ai,aj,不妨假设i<j,如果$a 阅读全文
posted @ 2021-02-23 21:04 yoshinow2001 阅读(129) 评论(0) 推荐(0) 编辑
摘要:一无聊就找树剖写 题意:一颗带点权的树,三种操作:1.换根 2.链赋值 3.查询子树最小值 如果没有换根的话直接就是裸的树剖了,对于换根的操作我们可以分类讨论。 1.如果查询的x就是根,那答案就是整棵树的最小值。 2.如果以1为根的dfs序中,根在x的子树之外,那很明显x的子树还是原来的 阅读全文
posted @ 2018-01-20 12:38 yoshinow2001 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题意:单点修改,询问区间最大子段和,n5e5 考虑分治的方法O(nlogn)求一次最大子段和的做法,我们是根据中点分成左右两个区间,那么整个区间的答案要么是左边答案,要么是右边答案,要么是左边的最大后缀和加上右边的最大前缀和。而一个区间的最大前缀和又会等于它左区间的最大前缀和或者是 阅读全文
posted @ 2018-01-16 13:50 yoshinow2001 阅读(113) 评论(0) 推荐(0) 编辑
摘要:辣鸡会考考完啦哈哈哈哈 题意:一块板分成L块,每次给一段连续的块染色或者询问一段有几种颜色,颜色的范围30 我记得我好像做过一个类似的二维染色的问题…不过那个用树状数组直接过掉了… 这题颜色范围这么小的范围直接想到线段树了吧,直接把一个区间的颜色二进制按位压缩成一个状态,维护区间或 阅读全文
posted @ 2018-01-14 22:34 yoshinow2001 阅读(130) 评论(0) 推荐(0) 编辑
摘要:听说后天会考x 省选居然还考模板题的么(好吧好像NOI也有考而且也是树剖…) 题意:一棵树,每个点有权值,三种操作:单点修改、求链上最大值、求链上权值和。 直接上模板。 我可能不会写单点修改的线段树了就直接写了个区间修改的用… #include<cstdio> #include<cstring> # 阅读全文
posted @ 2018-01-11 13:15 yoshinow2001 阅读(147) 评论(0) 推荐(0) 编辑
摘要:校运会的时候随手抽的题… 一句话题意 维护一个序列,初始为空,要求滋兹: 1.查询这个序列末尾x个数的最大值 2.设上一次查询的答案为t(如果还没查询t=0),在末尾插入一个数(x+t)moddd为给定常数 很容易想到用线段树做:记录序列的末尾,然后直接单点修改区间查询 本来 阅读全文
posted @ 2017-11-25 18:49 yoshinow2001 阅读(106) 评论(0) 推荐(0) 编辑
摘要:期中考挂完又来划水啦… 然后在洛谷上随机抽了一题 Luogu1886滑动窗口 然后发现好像以前在哪里见过这个(后来发现是rxz的blog) 一开始是想到写st表,然后蜜汁三个点爆了内存QAQ… 后来想起了这道题…就去翻了下那篇blog,学了下单调队列… 然后我的做法应该挺大众的 就以维护最小值为例, 阅读全文
posted @ 2017-11-18 14:34 yoshinow2001 阅读(439) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示