dfs序入门 CF上的几道题
来源:互联网 发布:亚马逊索评软件 编辑:程序博客网 时间:2024/05/29 17:19
dfs序就是把一个点的所有子节点映射到某个连续子区间来进行一定操作,用线段树或者其他做法降低时间复杂度,和树链剖分类似(当然要更简单)
由于我太菜了,做了好几道题终于感觉自己算是入门了
第一题:
CF 343D(线段树时间戳)
三个操作:
1 v:把v和v的所有儿子染色
2 v:把v和v的所有父亲取消染色
3 v:查询某个节点颜色
做法:利用染绿色的性质,如果某个节点在某个时间t1被染绿,在时间t2被取消,那么当且仅当t1>t2时这个时候他被染色
代码
第二题
CF 396C(线段树)
两个操作:
1 v x k:把v的儿子中距离v长度i的加上x-k*i
2 v:查询v的值
做法:我本来是想直接建线段树的,结果发现自己太菜写不出来。。做法:两个线段树,每次操作,T1中子树加上x+k*height[v],T2中子树加上k,然后查询的时候直接输出T1.query-T2.query*height[v]就行了
代码
第三题
CF 383C(线段树)
每次v增加x,那么它的所有儿子就减小x(孙子再+x,往复这样)
两个操作:
1 v x:v增加x
2 v:查询v的值
做法:我的做法和题解不一样,他是把height是奇数和偶数的分开了,我是直接做,把奇偶节点分别标号,把pushdown和pushup全都写的很复杂。。
代码
第四题
CF 375D(莫队)
一棵树,树上有颜色,查询区间内次数大于等于k次的颜色有几种
看上去好难好难啊。。结果能莫队(本来我知道能莫队还想线段树求大于k的个数来着orz)
代码
0 0
- dfs序入门 CF上的几道题
- cf上的pipe
- CF - 219D 线段树 + dfs序
- CF 505 B (dfs)
- CF 638 dfs
- CF 717E[dfs]
- CF 893C DFS
- 大丰收,dfs,bfs,还有我cf的第一次
- cf C. Kefa and Park (树的dfs)
- cf上一道超狠的dp
- CF 721C DAG上的dp
- CF 383C Propagating tree(dfs序+线段树)
- CF 375D Tree and Queries(dfs序+分块查找)
- CF--- PROBLEM 620 E 【思维 + DFS序 + 二进制状态】
- 树的dfs序入门,BZOJ1103 ,hdu6162,EOJ3335
- bzoj 3551 kruskal重构树dfs序上的主席树
- <cf>Solitaire(DFS or DP)
- CF D. Giving Awards(dfs)
- JAVA使用JDBC连接,修改MySQL数据库(比较乱)
- android init.rc
- PHP——表单(2.必填)
- 算法设计Week10 LeetCode Algorithms Problem #213 House Robber II
- ORACLE 云上准备预发布环境
- dfs序入门 CF上的几道题
- 《笨办法学python》---更多的变量和打印
- 爬虫-图像网站下载
- 飞机大战游戏实现
- 操作系统实验报告 lab4
- Spring Boot系列(三):Spring Boot转化为json数据格式
- Mac apache Laravel 需要改的一些配置
- Linux sed 命令介绍(一)
- 十年的老代码,你敢动?