随笔分类 -  数据结构——线段树

摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) 阅读全文
posted @ 2018-03-14 11:09 TRTTG 阅读(217) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4515 把lca带进式子,得到新的式子 然后就是 维护树上一次函数取min 一个调了一下午的错误: 当一条线段完全在另一条线段之下时,用下面的完全覆盖上面的 判断条件为 两线段在范围内没有交点 然后若 阅读全文
posted @ 2018-03-13 20:16 TRTTG 阅读(257) 评论(0) 推荐(1) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4817 lct+线段树+dfs序 操作1:access 操作2:u到根的-v到根的-lca到根的*2+1 操作3:查询线段树区间最大值 1A,嘎嘎嘎 阅读全文
posted @ 2018-03-12 20:29 TRTTG 阅读(195) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3779 有一棵树,初始每个节点有不同的颜色 操作1:根节点到x的路径上的点 染上一种没有出现过的颜色 操作2:操作1后把x换成根 操作3:定义点x的点权为x到根节点路径上不同颜色的数量,查询x的子树点权 阅读全文
posted @ 2018-03-12 19:12 TRTTG 阅读(236) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4869 欧拉降幂+线段树,每个数最多降log次,模数就会降为1 #include<cmath> #include<cstdio> #include<iostream> using namespace s 阅读全文
posted @ 2018-03-11 09:39 TRTTG 阅读(236) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1095 点分树+堆 请去看 http://www.cnblogs.com/TheRoadToTheGold/p/8463436.html 线段树维护括号序列 对树进行dfs,入栈时加一个左括号,出栈时加 阅读全文
posted @ 2018-02-27 08:32 TRTTG 阅读(234) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3672 法一:线段树维护可持久化单调队列维护凸包 斜率优化DP 设dp[i] 表示i号点到根节点的最少花费 dis[i] 表示 点i到根节点的距离 dp[i]= min { (dis[i]-dis[j] 阅读全文
posted @ 2018-02-26 14:31 TRTTG 阅读(359) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3730 点分树内对每个节点动态维护2颗线段树 线段树以距离为下标,城市的价值为权值 对于节点x的两棵线段树: 一棵维护 点分树中,x的子树 的贡献 一棵维护 点分树中,x对x的父节点的贡献 查询和修改时 阅读全文
posted @ 2018-02-22 14:42 TRTTG 阅读(289) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2325 设线段树节点区间为[l,r] 每个节点维护sum[0/1][0/1] 从l的A/B区域到r的A/B区域 经过冰块的最大数量 mx[0][0] 从l的A区域出发向r经过冰块的最大数量 mx[0][ 阅读全文
posted @ 2018-02-20 22:44 TRTTG 阅读(207) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4034 dfs序,树链剖分 4034: [HAOI2015]树上操作 Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节 阅读全文
posted @ 2018-02-20 16:56 TRTTG 阅读(206) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/193/problem/D 题意: 给一个1~n的排列,在这个排列中选出两段区间,求使选出的元素排序后构成公差为1的等差数列的方案数。 换个角度思考问题,题意转化为存在多少对[L,R] ,(R>L),满足将值为[L,R]的区间染色后,所得区 阅读全文
posted @ 2018-02-12 15:25 TRTTG 阅读(340) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3938 以时间为x轴,以距离为y轴,那么每个机器人的行走路径就是一条折线 把折线分段加入线段树里,然后就是线段树维护单点一次函数最大值和最小值 调了半下午+一晚上一直在TTT 今早突然发觉, 之前用来贡 阅读全文
posted @ 2018-02-01 08:23 TRTTG 阅读(270) 评论(0) 推荐(1) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1568 写多了就觉着水了。。。 1568: [JSOI2008]Blue Mary开公司 Description Input 第一行 :一个整数N ,表示方案和询问的总数。 接下来N行,每行开头一个单词 阅读全文
posted @ 2018-01-31 16:51 TRTTG 阅读(204) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2333 读入所有数据,先模拟一遍所有的合并操作 我们不关心联通块长什么样,只关心联通块内有谁 所以可以把一个联通块用一个链表存储 合并x和y时,y的链表整体接到x的链表后面 这样就成了线性结构 按照链表 阅读全文
posted @ 2018-01-30 22:16 TRTTG 阅读(214) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3589 树链剖分 用线段数维护扫描线的方式来写,标记只打不下传 阅读全文
posted @ 2018-01-19 15:00 TRTTG 阅读(281) 评论(0) 推荐(0) 编辑
摘要:期望得分:100+100+40=240 实际得分:100+100+20=220 T1 sum[r]^sum[l-1]<k 对前缀异或和建trie树 假设当前是第i位,sum[r]的地i位是l 如果k的第i位为1,累加l,当前指针转到sum[r]的l^1 否则,当前指针直接转到sum[r]的l #in 阅读全文
posted @ 2018-01-15 18:50 TRTTG 阅读(630) 评论(3) 推荐(1) 编辑
摘要:https://www.luogu.org/problemnew/show/P3960 p<=500 50分 模拟 每个人的出队只会影响当前行和最后一列 p<=500,有用的行只有500行 所以只维护这p行和最后一列的信息 然后模拟 时间复杂度:O(p*(n+m)) 空间复杂度:O(p*m+n) # 阅读全文
posted @ 2018-01-08 21:18 TRTTG 阅读(2230) 评论(0) 推荐(6) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 阅读全文
posted @ 2018-01-01 21:22 TRTTG 阅读(218) 评论(0) 推荐(0) 编辑
摘要:一、定义 二维线段树,即用线段树维护一个矩阵 有两种实现方式: 1、原一维线段树的基础上,每一个节点都是一个线段树,代表第二维 下图是一个4*4矩阵 2、四分法转化为一维线段树 两种方法的空间复杂度都是n*n*log^2 第一种方法单次操作的时间复杂度是log^2,第二种方法最差可以退化到n 一维线 阅读全文
posted @ 2018-01-01 19:47 TRTTG 阅读(7923) 评论(0) 推荐(6) 编辑
摘要:http://poj.org/problem?id=2029 单点修改 矩阵查询 二维线段树 Get Many Persimmon Trees Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4649 Accepted: 3025 阅读全文
posted @ 2017-12-30 21:58 TRTTG 阅读(220) 评论(0) 推荐(0) 编辑