DP&图论 DAY 7 上午
DP&图论 DAY 7 上午
图论练习题
P2176 [USACO14FEB]路障Roadblock
先跑最短路(最多n条边,否则出环)
枚举每条边,加倍,再跑 dijkstra
取最大
P2939 [USACO09FEB]改造路Revamping Trails
Solution
分层图最短路
从上一层到下一层,起点之间连边
Solution
暴力N^2建边
然后发现有一些边是没用的
假设存在3个点 (x1,y1) (x2,y2) (x3,y3)
min( |x1-x3| , |y1-y3| ) = x3-x1
--->min( |x1-x2| , |y1-y2| ) + min( |x2-x3| , |y2-y3| )
所以如果存在一条路径,st. point1--->point3 = point1-->point2 + point2-->point3
所以就把路径换成 1--2+2-->3 ,这样一定不会差
对于所有点,x从小到大排序,y从小到大排序,相邻两点之间连边,不允许跳点的跑路
跑最短路
P2502 [HAOI2006]旅行
Solution
。最小边越大,最大边也越大,不能满足二分性质
。枚举最小边,固定最小边,最小化最大边,最小生成树 kruscal
一开始 sort 一遍
枚举每个最小边,O(M) 克鲁斯卡尔
Solution
最近距离最远,可以二分
N^2连边
二分 mid ,边<mid,属于同一部落内部,看此时图中有多少连通块
数量<k,不可行,数量>=k,继续二分
MST
N^2连边
选若干条边,使得形成 K 个连通块,没选的边中最小值最大
只剩k个连通块,也就是剩下n-k条边,停止算法
kruscal
· Kruskal 最大生成树,加入 N − ne e d 条边就停止。
Solution
S表示前缀和,%2下
可以推理出S1~Sn
S0=0
S[R]----S[L-1]
传递性 x-->y y-->z ,x-->z
使得每个点都和0连通
加边,跑最小生成树
PS:奇偶异或,连通即可知
MST(最小生成树)
Solution
开到一个不是加油站的点,下一步最优去最近的加油站
以每个加油站为源点,跑多源多汇最短路
加油站转移
重构边,图上只留下加油站,忽略非加油站点,边权相应更改
也就是
也就是说:
Solution
Solution
真·不是二分
下面是不知道在讲啥子系列
Floyd + 倍增
接起来
快速幂加速
DP&图论 DAY 7 上午的更多相关文章
- 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种,那 ...
- DP&图论 DAY 3 上午
DP&图论 DAY 3 上午 状态压缩dp >状态压缩dp ◦状态压缩是设计dp状态的一种方式.◦当普通的dp状态维数很多(或者说维数与输入数据有关),但每一维总量很少是,可以将多维 ...
- DP&图论 DAY 6 下午 考试
DP&图论 DAY 6 下午 考试 样例输入 样例输出 题解 >50 pt dij 跑暴力 (Floyd太慢了QWQ O(n^3)) 枚举每个点作为起点,dijks ...
- DP&图论 DAY 5 下午
DP&图论 DAY 5 下午 树链剖分 每一条边要么属于重链要么轻边 证明: https://www.cnblogs.com/sagitta/p/5660749.html 轻边重链都是交 ...
- 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 结尾附加 ...
随机推荐
- python读取ubuntu系统磁盘挂载情况
磁盘挂载 利用df -h 的命令 此功能主要实现了python 命令行执行函数进行解析df 返回的数据 代码如下 : # liunx 系统获取 磁盘挂载的情况 代码 #!/usr/bin/pyt ...
- SSISDB7:当前正在运行的Package及其Executable
PM问:“Vic,现在ETL Job跑到哪一个Package了,正在执行哪个Task?”,第一次遇到这个问题时,一下就懵逼了,只能硬着头皮说:“我看看”. 在做项目开发时,这个问题很常见,但是,被很多 ...
- TP5 用cron实现linux定时任务
TP5 用cron实现linux定时任务 1) tp5的控制器内容: namespace app\test\controller; use think\Controller; use think\fa ...
- 通过mysql 连接远程数据库时,输入密码后,提示10060错误
能提示输入密码,说明网络能够连接,而且能连到服务器.输入密码后提示错误,说明应该是权限问题 解决方法: 一.进入mysql数据库命令行 二.输入use mysql; 三.设置root账号密码为1 ...
- matlab FDA
FDA是filter design analysis过滤器设计与分析的缩写.
- SQLSERVER EXISTS IN 优化
数据量: 首先我们看看待优化的SQL: 简单的分析下来发现: EXISTS 这部分执行比较慢,我们来看一下, 这种写法比较便于理解,但是执行起来却很慢.既然这里慢,我们就要优化这部分. 首先我是想把拼 ...
- git ls-remote url,判断 url 是否存在
git ls-remote url,判断 url 是否存在 git ls-remote <url>
- 前端自动化构建工具 Webpack——3 webpack配置文件的使用
- BZOJ 4260: Codechef REBXOR (trie树维护异或最大值)
题意 分析 将区间异或和转化为前缀异或和.那么[L,R][L,R][L,R]的异或和就等于presum[R] xor presum[L−1]presum[R]\ xor \ presum[L-1]pr ...
- ThinkPHP,page,paginate后台分页翻页时保留检索条件的方法
paginate(20,false,['query'=>request()->param()]); 20是每页显示行数 示例代码: $list = Db::name('article ...