DP&图论 DAY 5 下午
DP&图论 DAY 5 下午
树链剖分
每一条边要么属于重链要么轻边
证明: https://www.cnblogs.com/sagitta/p/5660749.html
轻边重链都是交替走的(此处重链可以走若干条边)
1.dfs1 统计子树大小,确定重儿子
2.dfs2 找重链 重链,子树,分别是连续的一段
每个结点属于一个重链
ta < tb
a 跳到 ta 的父节点
logn 级别
将树序列化
SPOJ QTREE Query on a tree
Solution
树链剖分 + 线段树维护区间最大值
BFS 树链剖分 边权摊到点上
BZOJ 1036 树的统计
Solution
BZOJ 4034
有一棵点数为 N 的树,以点 1 为根,且树点有权。然后有 M
个操作,分为三种:
1. 把某个节点 x 的点权增加 a 。
2. 把某个节点 x 为根的子树中所有点的点权都增加 a 。
3. 询问某个节点 x 到根的路径中所有点的点权和。
Solution
单点加
区间修改
区间查询
BZOJ 2243 染色
Solution
同时维护区间左右端点颜色
若相同,左右颜色段数相加-1
不相同,直接加起来
BZOJ 2238 MST
Solution
1.对于m-n+1条非最小生成树上的边,不会对原来的最小生成树产生影响,直接出结果
2.对于最小生成树上的边,用别的来替代
强连通分量
缩点
Tarjan 算法
- // Tarjan
- void tarjan(int u) {
- dfn[u] = low[u] = ++tim; stk[++top] = u;
- for (int i = hd[u], v; i; i = nt[i])
- if (v = to[i], !scc[v]) {
- if (!dfn[v])tarjan(v),
- low[u] = min(low[u], low[v]);
- else
- low[u] = min(low[u], dfn[v]);
- }
- if (dfn[u] == low[u]) {
- ++cnt;
- do {
- scc[stk[top]] = cnt;
- } while (stk[top--] != u);
- }
- }
BZOJ 2208 连通数
14: 1-2 , 1-3 , 1-4 , 1-5 , 2-3 , 2-5 , 2-4 , 3-5 , 3-4
Solution

bitset
bitset<100000>a;长度为1e5的二进制数
可以数组O(1)查询,赋值
支持位运算
a.count( ) 统计 a 里面有多少位为 1
POJ 2186 Popular Cows
POJ 1236 Network of Schools
Solution
DP&图论 DAY 5 下午的更多相关文章
- DP&图论 DAY 6 下午 考试
DP&图论 DAY 6 下午 考试 样例输入 样例输出 题解 >50 pt dij 跑暴力 (Floyd太慢了QWQ O(n^3)) 枚举每个点作为起点,dijks ...
- DP&图论 DAY 4 下午图论
DP&图论 DAY 4 下午 后天考试不考二分图,双联通 考拓扑排序 图论 图的基本模型 边: 有向边构成有向图 无向边构成无向图 权值: 1.无权 2.点权 3.边权 4.负权(dij不 ...
- DP&图论 DAY 2 下午
DP&图论 DAY 2 下午 基础树形DP 前言◦ 1:与树或图的生成树相关的动态规划.◦ 2:以每棵子树为子结构,在父亲节点合并,注意树具有天然的子结构.这是很优美的很利于dp的.◦ 3 ...
- DP&图论 DAY 1 下午
DP&图论 DAY 1 下午 区间和序列上的DP 序列上的DP >序列上的dp状态设计最基本的形式 F[i]表示以 i 结尾的最优值或方案数.◦ F[i][k]表示以 i 结尾附加 ...
- DP&图论 DAY 3 下午 考试
Problem AProblem Description有一天 Tarzan 写了一篇文章,我们发现这文章当中一共出现了 n 个汉字,其中第 i 个汉字出现了 ai 次,因为 Tarzan 不希望文章 ...
- DP&图论 DAY 7 上午
DP&图论 DAY 7 上午 图论练习题 P2176 [USACO14FEB]路障Roadblock 先跑最短路(最多n条边,否则出环) 枚举每条边,加倍,再跑 dijkstra 取最大 ...
- DP&图论 DAY 6 上午
DP&图论 DAY 6 上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ...
- DP&图论 DAY 5 上午
DP&图论 DAY 5 上午 POJ 1125 Stockbroker Grapevine 有 N 个股票经济人可以互相传递消息,他们之间存在一些单向的通信路径.现在有一个消息要由某个人开 ...
- DP&图论 DAY 4 上午
DP&图论 DAY 4 上午 概率与期望 概率◦某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A).◦假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那 ...
随机推荐
- Java学习笔记【九、集合框架】
集合框架设计的目标: 高性能. 允许不同类型的集合,以类似的方式工作,有互操作性. 对一个集合的扩展和适应必须简单. 集合框架包含: 接口:代表集合的抽象数据类型. 实现(类):具体实现(ArrayL ...
- Python—selenium模块(浏览器自动化工具)
selenium可以用来完成浏览器自动化相关的操作,写一些代码制定一些基于浏览器自动化的相关操作(行为动作),当代码执行后,浏览器就会自动触发相关的事件 安装方法: pip install selen ...
- SpringMVC----视图层框架
Spring Web模型-视图-控制器(MVC)框架是围绕DispatcherServlet设计的,DispatcherServlet将接收的请求分派给应用程序.SpringMVC具有配置处理程序映射 ...
- Beta冲刺——星期四
这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 飞猪们 这个作业的目标 剩余任务预估,分配任务(开发,测试等).按要求提交当天冲刺报告. ...
- 【未知来源】Randomized Binary Search Tree
题意 求 \(n\) 个点的 Treap 深度为 \(h=0,1,2,\cdots,n\) 的概率. Treap 是一个随机二叉树,每个节点有权值和优先级,权值和优先级都是 \([0,1]\) 中的随 ...
- maven的配置和eclipse maven插件安装
1.下载maven:http://maven.apache.org/download.cgi 2. 配置环境变量: 3. 修改maven文件夹下bin/conf/settings.xml:maven仓 ...
- USRP B210 更改A通道或B通道
USRP B210 更改A通道或B通道: 默认是A通道进行发射/接收,或设置 Mb0:Subdev Spec: A:A 设置B通道进行发射/接收,设置 Mb0:Subdev Spec: A:B
- Mybatis映射文件中数据库表列名称和POJO成员域的联系
下面是Mybatis的SQL映射文件. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ma ...
- php类相关知识---__unset和__isset
__unset 删除非公有属性,在外部调用unset时发生, __isset用来检测对象属性是否设置值 <?php class coach { protected $chairfit = &q ...
- java中的排列组合
使用之前需要声明一个Combine的对象,调用startCombile方法,可返回想要的组合数或者个数,参数介绍很重要 public class Combine { private Object[] ...