
最短路
w4149
无
展开
-
BZOJ2118: 墨墨的等式
题目大意: 给出一个关于许多x的不定方程:a1*x1+a2*x2+a3*x3+……..+an*xn=B,这里a都是非负整数,求在给定区间[l,r]内,使得所有x都为非负整数的,满足条件的B的个数。 这道怎么看都是数论题的题,其实可以用图论来解决,(额,好像有些突然)。先来分析一下吧,这道题弱机的我肯定是找不到什么优秀的数学方法来解决的,那么我就只好暴力枚举了(反正又不是我算。)直接枚举肯定是要原创 2017-03-26 16:33:56 · 832 阅读 · 1 评论 -
BZOJ 2007 海拔 (对偶图 最短路)
BZOJ2007 [Noi2010]海拔问题描述 YT 市是一个规划良好的城市,城市被东西向和南北向的主干道划分为 n×n个区域。简单起见,可以将 YT 市看作 一个正方形,每一个区域也可看作一个正方形。从而,YT 城市中包括(n+1)×(n+1)个交叉路口和 2n×(n+1)条双向道路(简称道路),每条双向 道路连接主干道上两个相邻的交叉路口。下图为一张 YT 市的地图(n = 2),城市被划分原创 2017-09-13 15:42:47 · 358 阅读 · 0 评论 -
礼物分配 (差分约束)
礼物分配10.11思路: 直接前缀和,各种限制可以转化为dis[u]-dis[v]<=c的形式,然后直接跑差分约束即可。因为是求满足所有条件的最小值,那么就是按照限制建边后跑最长路。 具体细节看代码。#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#inc原创 2017-10-12 21:45:16 · 561 阅读 · 0 评论 -
混合调酒 (模型转换最短路)
混合调酒思路: 假设共用了m杯酒,酒精含量分别为b1,b2…bm b1+…+bm=m*n b1+…+bm=n+n+…+n(m个) (b1-n)+(b2-n)+…+(bm-n)=0 即:将所有的酒精含量减去n后,寻找最少的数字使他们的和为0 我们把数字和(-1000到1000)当作节点,可以使用的酒精含量当作边(边权为1),跑从0到0的最短路(也就是bfs)即可。注意显然存在一条任何时候数原创 2017-10-12 21:52:12 · 316 阅读 · 0 评论 -
车站分级 (线段树优化建边 拓扑序最长路)
车站分级(加强版)10.11思路: 基本方法就是等级高的车站向等级低的车站连边,最后跑拓扑序的最长路就是ans。 线段树优化建边的拓扑排序(线段树的神奇应用)。 先是建虚点优化,边数优化为2*n,但是发现建边的复杂度是nm,考虑线段树优化。 注意到经停站把车站序列划分成了多个区间,每个区间对应O(log)个线段树上的节点,因此连边时可以把边数由O(nm)优化到O(m*log(n))。原创 2017-10-13 08:24:23 · 496 阅读 · 0 评论 -
BZOJ 1375 Bicriterial routing 双调路径 (二维最短路)
1375: [Baltic2002]Bicriterial routing 双调路径Time Limit: 5 Sec Memory Limit: 64 MB Description来越多,因此选择最佳路径是很现实的问题。城市的道路是双向的,每条道路有固定的旅行时间以及需要支付的费用。路径由连续的道路组成。总时间是各条道路旅行时间的和,总费用是各条道路所支付费用的总和。同样的出发地和目的地,如果原创 2017-10-13 10:52:23 · 599 阅读 · 0 评论