Dijkstra
文章平均质量分 55
Cyhlnj
这个作者很懒,什么都没留下…
展开
-
Bzoj4456: [Zjoi2016]旅行者
题目 传送门 Sol 离线+分治+djikstradjikstradjikstra 每次把网格图分成两部分 如果起点和终点分隔两边,那么它一定会经过中轴线 枚举中轴线上的点跑dijkstradijkstradijkstra 然后处理询问,递归处理起点终点在一起的询问 # include <bits/stdc++.h> # define RG register #...原创 2018-03-22 13:59:40 · 224 阅读 · 0 评论 -
Bzoj1922: [Sdoi2010]大陆争霸
题面 传送门 Sol 走到一个点的前提是所有的影响它的点都走到,并且它的时间为那些点的时间maxmaxmax与自己的最短路的maxmaxmax 考虑DijkstraDijkstraDijkstra 每次松弛时候,把它影响到的点的防护罩减111 如果某个点没有后继影响它的节点就丢到大根堆内 然后这个继续松弛 # include <bits/stdc++.h> # de...原创 2018-03-31 22:09:36 · 199 阅读 · 0 评论 -
Bzoj5109: [CodePlus 2017]大吉大利,晚上吃鸡!
题面 传送门 Sol 先正反两遍DijsktraDijsktraDijsktra算出经过某个点的SSS到TTT的最短路条数FFF 满足条件一就是要满足F(A)+F(B)=F(T)F(A)+F(B)=F(T)F(A)+F(B)=F(T) 条件二 标算比较简单 直接bitsetbitsetbitset存储不能到达它的和它不能到的点 然后开mapmapmap把所有相同的F(B)F(B)F...原创 2018-04-02 11:36:30 · 395 阅读 · 0 评论 -
Luogu1261: 服务器储存信息问题
题面 传送门 Sol 我们可以考虑每种rankrankrank的点uuu会被哪些点vvv感兴趣 如果dis[u][v]<dis[u][v]<dis[u][v]rankrankrank大于rank[u]rank[u]rank[u]的点到vvv的距离 那么vvv一定对uuu感兴趣 我们可以先101010遍最短路,处理出每种rankrankrank的点到所有点的最短路 计f...原创 2018-04-03 09:25:58 · 331 阅读 · 0 评论 -
Bzoj4152: [AMPPZ2014]The Captain
题面 传送门 Sol 分别按XXX轴,YYY轴从小到大排序,相邻两个点建边权为ΔxΔx\Delta x或ΔyΔy\Delta y的边 然后跑DijkstraDijkstraDijkstra # include <bits/stdc++.h> # define RG register # define IL inline # define Fill(a, b) mems...原创 2018-03-28 13:20:28 · 201 阅读 · 0 评论 -
Bzoj4289: PA2012 Tax
题面 传送门 Sol 巧妙的建图+DijkstraDijkstraDijkstra 考虑把边看成点,那么显然暴力建图的边数是m2m2m^2的 考虑优化 把max(a,b)max(a,b)max(a, b)变成a+max(b−a,0)a+max(b−a,0)a+max(b-a,0) 把每个点连出的边按权值从小到大排序 每个边向后面的边连b−ab−ab-a, 后面向前面连000 ...原创 2018-03-28 13:48:47 · 201 阅读 · 0 评论 -
UOJ#172. 【WC2016】论战捆竹竿
传送门 首先这个题目显然就是先求出所有的 borderborderborder,问题转化成一个可行性背包的问题 一个方法就是同余类最短路,裸跑 303030 分,加优化 505050 分 首先有个性质 borderborderborder 分成的等差数列的个数不超过 logloglog 和回文树的性质的证明类似瞎画图一下就行了 我们注意到可以一个一个等差数列的更新最短路 要做到这个,必须能从之前的...原创 2019-01-15 09:22:52 · 429 阅读 · 0 评论