
图论
Arlia
老年人记性不好
展开
-
Travel [BFS]
Travel [BFS]话说这道题并没有找到提交的地方…就不写代码了[滑稽]题目描述给定一张n 个点的完全图,边都是无向的。一共有n(n−1)/2 条边,其中有m 条边的边权是a,剩下的边边权都是b。求1 到n 的最短路。数据范围2 ≤ n ≤ 100000; 0 ≤ m ≤ 500000题解一 初步分析这是一张完全图,也就是说任意两点之间必...原创 2018-08-01 20:04:45 · 448 阅读 · 0 评论 -
洛谷1983 车站分级 [拓扑排序][建图]
洛谷1983 车站分级 [拓扑排序][建图]题目描述一条单向的铁路线上,依次有编号为1,2,…,n1,2,…,n1, 2, …, n的nnn个火车站。每个火车站都有一个级别,最低为111级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站xxx,则始发站、终点站之间所有级别大于等于火车站xxx的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的...原创 2018-07-24 22:12:20 · 445 阅读 · 0 评论 -
SPFA的优化
SPFA的优化今天打比赛被朴素的SPFA判环卡了,超时丢了30= = 然而在bzoj上是AC的优化:Orange大佬:SLF和LLL优化递归优化(剪枝)递归优化就是把朴素的SPFA换成了DFS版(一般用于需要判环的情况)注意disdisdis数组要初始化代码#include<iostream>#include<cstdio>#...原创 2018-07-10 11:36:10 · 705 阅读 · 0 评论 -
最短路算法
Dijkstravoid dij(ll s){ for(ll i=1;i&lt;N;i++)dis[i]=1e9; dis[s]=0; priority_queue&lt;node&gt;q; q.push((node){s,0}); while(!q.empty()){ ll u=q.top().id;q.pop(); ...原创 2018-06-24 08:14:03 · 341 阅读 · 0 评论 -
[NOIP2013 D1T3]货车运输 [LCA][最大生成树]
[NOIP2013 D1T3]货车运输 [LCA][最大生成树]问题描述A国有n座城市,编号从1到n,城市之间有m条双向道路。 每一条道路对车辆都有重量限制,简称限重。 现在有q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入格式第一行有两个用一个空格隔开的整数 n,m,表示 A 国有n座城市和m条道路。 接下来m行,每行3个整...原创 2018-06-12 09:12:28 · 315 阅读 · 0 评论 -
矩阵问题 [差分约束]
矩阵问题 [差分约束]问题描述 给出一个n*m的整数矩阵F。矩阵中第i行第j列的元素表示为F[i][j] 1<=i<=n, 1<=j<=m。 求两个数列A和B,数列A有n个元素:A1,A2,A3…An 。数列B有m个元素:B1,B2,B3…..Bm, 使得对矩阵中的每个数进行下面的计算之后的结果在[X,Y]之间: 计算...原创 2018-05-26 10:13:33 · 656 阅读 · 0 评论 -
青蛙表演 [差分约束]
青蛙表演 [差分约束]问题描述何老板训练了一只青蛙,该蛙擅长跳跃。它经常从一片荷叶跳到另一片荷叶。今天,何老板打算用N根木桩来向世人展示该蛙的跳跃技能。 这n根木桩排成一行,蛙首先从最矮的木桩顶部起跳,总共进行N-1次跳跃。每次它只能跳到比当前木桩更高的一个木桩顶部。当表演结束时,每个木桩它都恰好到过一次,最终停在最高的木桩顶部。 这只青蛙向上跳跃能力很强,但水平方向跳跃能力就有...原创 2018-05-19 10:30:34 · 244 阅读 · 0 评论 -
拓扑排序的代码
拓扑排序的代码何老板规定保镖的工资都是整数,最低工资是100元。若保镖x打赢了保镖y,那么x的工资应该比y的要高。对于这种方式,保镖们纷纷表示支持。于是比武开始了,总共进行了m场比武,何老板想根据比武结果,找出一种工资方案,使得总的工资数最少。#include<iostream> #include<cstdio> #include<queue>...原创 2018-05-01 08:57:26 · 671 阅读 · 0 评论 -
最小生成树
最小生成树最小生成树的性质1.一棵生成树从p点出发,遍历完每个点之后再回到p点,那么生成树中的每条边至少被经过两次,设生成树中第i个点的度数的di,那么第i个点至少会被经过di次。(安慰奶牛)2.一个图的最小生成树不唯一。它的每一个最小生成树中,每个点对之间的边都是一一对应的(即边长相同)。因此,一个图中的最小生成树的最大边长和最小边长是固定的。(Poj 3522)3.(最小瓶...原创 2018-04-18 10:59:43 · 388 阅读 · 0 评论 -
图的连通性【模板】
图的连通性【模板】强连通分量【有向图】强连通图:图G中任意两点之间都有可以到达的路径强连通分量:有向图G的最大连通子图最大连通子图:该子图是G的强连通子图,且将G中的任意一个不在该图中的点加入该子图中该子图将不再连通。stack&lt;int&gt;s;void Tarjan(int u){ Time++; Dfn[u]=Time,Low[u]=Tim...原创 2018-04-13 19:40:14 · 530 阅读 · 0 评论 -
非朴素最短路
非朴素最短路次短路struct node{ int id,len,flag; bool operator<(const node &a)const{ return len>a.len; }};void dijkstra(int s){ //dis[i][0]表示从s到i的最短路径长度 //dis[i][...原创 2018-04-11 17:04:52 · 300 阅读 · 0 评论 -
井下矿工
井下矿工问题描述有一座地下的稀有金属矿由n条隧道和一些连接点组成,其中每条隧道连接两个连接点。任意两个连接点之间最多只有一条隧道。为了降低矿工的危险,你的任务是在一些连接点处安装太平井和相应的逃生装置,使得不管哪个连接点倒塌,不在此连接点的所有矿工都能到达太平井逃生(假定除倒塌的连接点不能通行外,其他隧道和连接点完好无损)。为了节约成本,你应当在尽量少的连接点安装太平井。你还需要计算出...原创 2018-04-11 16:31:50 · 1212 阅读 · 0 评论 -
电话线
电话线二分答案+最短路问题描述 Farmer John打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务。于是,FJ必须为此向电信公司支付一定的费用。 FJ的农场周围分布着N根按1..N顺次编号的废弃的电话线杆,任意两根电话线杆间都没有电话线相连。一共P对电话线杆间可以拉电话线,其余的那些由于隔得太远而无法被连接。 第i对电话线杆的两个端点分别...原创 2018-03-31 17:47:32 · 1049 阅读 · 0 评论