上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页
摘要: 题意:给出一个无向图,求出图中每个环中最大的边,并按顺序输出,若没有,输出forest;分析:根据kruscal的性质可知,当A点的祖先等于B点的祖先时,说明AB两点构成一个环,并且AB之间的边最大.// File Name: 11747.cpp// Author: Zlbing// Created Time: 2013/4/19 22:44:46#include<iostream>#include<string>#include<algorithm>#include<cstdlib>#include<cstdio>#include& 阅读全文
posted @ 2013-04-19 23:17 z.arbitrary 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 简单题,因为是生成树,所以A到B只有唯一路径,故只要dfs,找A到B的唯一的那条路// File Name: 10938.cpp// Author: Zlbing// Created Time: 2013/4/19 14:57:26#include<iostream>#include<string>#include<algorithm>#include<cstdlib>#include<cstdio>#include<set>#include<map>#include<vector>#include 阅读全文
posted @ 2013-04-19 15:39 z.arbitrary 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 题意:有N个点,E条边,起点S,终点T,每条边都有一个距离值D,和温度值R,问你从S到T的最大温度值最小的情况下距离最短.分析:二分温度值,然后dijkstra求S到T的最短距离// File Name: 10816.cpp// Author: zlbing// Created Time: 2013/2/18 0:27:01#include<iostream>#include<string>#include<algorithm>#include<cstdlib>#include<cstdio>#include<set>#i 阅读全文
posted @ 2013-04-19 14:15 z.arbitrary 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 题意:图中有C个点,R条边,每个点有个权值,每条边也有距离值,求A到B点的最短距离+经过的点的最大值的和最小分析:比如说我们要求出S,T的“最短路”,我们可以枚举最大中间节点,因为这条路必经经过一个最大中间节点.比如说我们找到点U的时候,就假设U是S到T路径上点权最大的点,可以把图上点权大于U的点去掉然后d[ U,S ] + d[ U, T ] + w[U]便是假设u点权最大时候的“最短路”,每给出一个询问,查询即可。// File Name: 10246.cpp// Author: Zlbing// Created Time: 2013/4/18 17:37:24#include<io 阅读全文
posted @ 2013-04-18 19:27 z.arbitrary 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 比较两个文件或两个文件集并显示它们之间的不同FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn][drive1:][path1]filename1 [drive2:][path2]filename2FC /B [drive1:][path1]filename1 [drive2:][path2]filename2/A 只显示每个不同处的第一行和最后一行。/B 执行二进制比较。/C 不分大小写。/L 将文件作为 ASCII 文字比较。/LBn 将连续不匹配的最大值设为指定的行数。/N 在 ASCII 比较上显示行数。/O 阅读全文
posted @ 2013-04-18 18:29 z.arbitrary 阅读(4734) 评论(0) 推荐(0) 编辑
摘要: 这几题dijkstra写的比较顺手啊!题意:某人要旅行,他把地图上N个城市按照从近到远给出,他要从1飞到N,但是又因为直接飞费用会很昂贵,故他想通过一个程序在换航班不超过K次的情况下所花费用最小!分析:因为题目给出的城市名,不利于我们构图,故,通过map映射将他们标号即可.这题还是一样,将每个点的状态都标识出来,V[u][k]表示飞到u点换了k次航班,然后用dijkstra计算最短路即可.注意:这题有重边,故不能用邻接矩阵,要使用邻接表!// File Name: 11280.cpp// Author: Zlbing// Created Time: 2013/4/18 11:31:29#inc 阅读全文
posted @ 2013-04-18 12:14 z.arbitrary 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 这题好像去年暑假的时候写过...不过好像没写出来,囧!这次再看的时候就有了些思路,把每个点的状态都标记下就好了,如V[u][f]表示在u点加了f升油.(注意:不要一开始就每个点的状态算出来,而是一单位一单位的加油,这样会节约大量时间!)题意:开车去旅游,有N个城市,M条路,每个城市的油价不一样,最开始你的车是没有油的,油箱容量是C,1单位油可以走1单位距离.有q个问题,问你从a到b,油箱容量是c,所花最小钱是多少?// File Name: 11367.cpp// Author: Zlbing// Created Time: 2013/4/18 10:30:28#include<iost 阅读全文
posted @ 2013-04-18 11:19 z.arbitrary 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 题意:再次成功营救出桃子公主之后,马里奥需要从Bowser魔王的城堡返回他的家。马里奥世界里一共有A个村庄和B个城堡(1<=A,B<=50),其中村庄编号为1到A,城堡编号为A+1到A+B。马里奥住在村庄1,而Bowser住在城堡A+B。马里奥能以1公里/小时的速度沿着村庄和城堡之间的双向道路行走,也可以用魔法鞋加速。魔法鞋可以让马里奥瞬间移动不超过L(L<=50)公里,但由于城堡中有很多陷阱,稍不留神就会中招,因此马里奥不使用魔法鞋穿过城堡。另外,使用魔法鞋的起点和终点都只能是城堡或者村庄,且最多只能使用K(K<=10)次魔法鞋。 你的任务是计算马里奥回家的最短时间。 阅读全文
posted @ 2013-04-17 17:18 z.arbitrary 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 题意:有三个没有刻度的水壶,容量分别为a,b和c(单位为升,都是<=200的正整数)。初始时前两个水壶是空的,而第三个装满了水。每次可以从一个水壶往一个水壶里倒水,直到一个水壶倒空或者另一个水壶倒满。为了让某个水壶恰好有d升水,至少要倒多少升的水?如果无解,找一个小于且最接近d的d’代替d。分析:本题最多的状态数不超过(A+1)*(B+1),故BFS所有状态即可.// File Name: 10603.cpp// Author: Zlbing// Created Time: 2013/4/16 16:52:33#include<iostream>#include<str 阅读全文
posted @ 2013-04-16 21:53 z.arbitrary 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个n个点的连通的无向图,一个点的“鸽子值”定义为将它从图中删去后连通块的个数。求每个点的“鸽子值”。分析:对于点u,若u不是割顶,则删去后图还是连通的,所以鸽子值是1,若u是割顶,则鸽子值就是它周围相连的bcc个数.// File Name: 10765.cpp// Author: Zlbing// Created Time: 2013/4/15 13:24:10#include<iostream>#include<string>#include<algorithm>#include<cstdlib>#include<cstdi 阅读全文
posted @ 2013-04-15 17:24 z.arbitrary 阅读(747) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页