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 结尾附加 ...
随机推荐
- java lambda 所有列求和
今天做东西的时候遇到一个需求,求list集合所有列的求和.折腾半天也没有搞出来,网上大部分都是单列求和就像下面这样的,其他都差多,什么 min,max avg count 只得到了number这个属性 ...
- FTP用户验证、访问设置以及log日志
若要访问FTP站点开启了基本身份认证,访问服务器(ftp://服务器IP:端口号),需要输入正确的用户名及密码才可正常访问 当客户端通过浏览器访问时就需要验证,提示如下图: 1.当输入正确的用户名及密 ...
- session传值取值
protected void Page_Load(object sender, EventArgs e) { //判断session是否为空 if (Session["user"] ...
- Hadoop_14_MapReduce框架结构及其运行流程
1.MapReduce原理篇 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架: Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认 ...
- Ubuntu下PHP+MySQL+Apache+PHPStorm的安装和配置
粘贴自:https://www.jianshu.com/p/a6a0d2a29591 1.Apache的安装: $ sudo apt-get update $ sudo apt-get install ...
- python+selenium之——错误:selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
此时,需要自己配置geckodriver 下载geckodriver,地址:https://github.com/mozilla/geckodriver/releases 下载后解压得到geckodr ...
- git 解决 error: failed to push some refs to 'https://github.com/xxxx.git'
在github远程创建仓库后, 利用gitbash进行提交本地文件的时候出现如下错误 [root@foundation38 demo]# git push -u origin master Usern ...
- 简单的理解 StringBuffer/StringBuilder/String 的区别
StringBuffer/StringBuilder/String 的区别 这个三类之间主要的区别:运行速度,线程安全两个方面. 速度方面(快到慢): StringBuilder > Strin ...
- springboot2.0入门(一)----springboot 简介
一.springboot解决了什么? 避免了繁杂的xml配置,框架自动帮我们完成了相关的配置,当我们需要进行相关插件集成的时候,只需要将相关的starter通过相关的maven依赖引进,并可以进行相关 ...
- awk_printf
awk -F: 'BEGIN{printf "%-20s%-20s%-20s\n","User","UID","Home" ...