城市平乱 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M. 现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱. 现在已知在任意两个城市之间的路行军所需的时间,你作为南将军麾下最厉害的程序员,请你编写一个程序来告诉南将军第一个分队到达叛乱城市所需的时间. 注意,两个城市之间可能不只一条…
喜马拉雅山上的猴子 Time Limit: 1000 MS     Memory Limit: 256 MB Submit Status 余周周告诉我喜马拉雅山上有猴子,他们知道点石成金的方法.我不信,于是余周周带我去喜马拉雅山拜访猴子. 喜马拉雅山上有n个猴子聚落,不妨叫它们1,2,-n号聚落:它们之间有m条单向道路(这意味着如果一条路从1号聚落到2号聚落,那么你不能通过这条路从2号聚落到1号聚落),每条道路连接2个聚落,且拥有不同的长度.可能有两条道路的起点和终点相同,但没有一条道路的起点和…
题意:有\(n\)个点,\(m\)条双向边,两个方向的权值都是相等的,可以从\(A\)中的某个点出发走到\(B\)中的某个点,求所有路径中的最短距离,如果A和B中没有点联通,则输出\(-1\). 题解:感觉是个阅读理解啊,题目看懂了就是个裸的单源最短路,我们首先将牛牛的所有星球初始化作为起点,然后建边跑个dijkstra,最后再枚举牛妹的星球维护一个最小值即可. 代码: class Solution { public: /** * * @param niuniu int整型vector 牛牛占领…
1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 502  Solved: 341[Submit][Status][Discuss] Description     农夫约翰正驾驶一条小艇在牛勒比海上航行.     海上有N(1≤N≤100)个岛屿,用1到N编号.约翰从1号小岛出发,最后到达N号小岛.一 张藏宝图上说,如果他的路程上经过的小岛依次出现…
Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符 卡)带来的便捷.   现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关 键字来查询,会有很多有趣的结果. 例如,我们熟知的Cirno,她的冰冻魔…
题意:求两点之间最短路的数目加上比最短路长度大1的路径数目 分析:可以转化为求最短路和次短路的问题,如果次短路比最短路大1,那么结果就是最短路数目加上次短路数目,否则就不加. 求解次短路的过程也是基于Dijkstra的思想.算法中用一个二维数组d[u][tag](tag=0代表最短路,1代表次短路)来记录最短路和次短路的长度,cnt[u][tag]记录二者的数目.所以每个点都有两个访问状态,一个是最短路已经确定,另一个是次短路已经确定,所以vis[u][tag]数组也是二维的. 每次维护邻接点的…
裸的分层图最短路. #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; #define N 51 #define K 51 #define M 2001 struct Point{int u,d;Point(const int &a,const int &b){d=a;u=b;}Point(){}}; bool…
题目描述 给出一张无向图,求满足 0号点到所有点的路径长等于原图中它们之间最短路 的生成树的个数. 输入 第一行一个整数N,代表原图结点. 接下来N行,每行N个字符,描绘了一个邻接矩阵.邻接矩阵中, 如果某一个元素为0,代表这两个点之间不存在边, 并且保证第i行第i列的元素为0,第i行第j列的元素(i≠j)等于第j行第i列的元素. 2≤N≤50 输出 一行一个整数,代表删法总方案数膜1,000,000,007的结果. 样例输入 4 0123 1012 2101 3210 样例输出 6 题解 最短…
手动博客搬家: 本文发表于20181208 14:39:01, 原地址https://blog.csdn.net/suncongbo/article/details/84891710 哇它居然显示出图片来了--感动啊w 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4739 http://uoj.ac/problem/277 不难得出一个结论: 两圆之间最短路一定沿着圆的公切线走.然后得到如下算法:每两个圆之间作公切线(4条),如果…
思路:裸的分层图最短路 提交:1次 题解: 如思路 代码: #include<cstdio> #include<iostream> #include<cstring> #include<queue> #define R register int using namespace std; #define ull unsigned long long #define ll long long #define pause (for(R i=1;i<=1000…