
数据结构-图
flowser
you are what you want to be
展开
-
uva10720 - Graph Construction(简单图的判定)
题意: 给你所有点的度数,判断是否为简单图 思路: 百度了简单图的判定条件,是这样回答的: 首先要求所有数(度)之和是偶数,其次判断是否为简单图,方法:依次删去度最大的点,递归下去,最后可确定是否是简单图. 按照这个思路写了代码,WA了,原因是只进行了第一趟排序,正确做法应当是每次都排序,才能保证依次删去最大点。 代码如下:#include <iostream>#include <cs原创 2016-03-05 13:22:03 · 943 阅读 · 0 评论 -
uva11825 - Hackers' Crackdown
题意: 有n台计算机,每台计算机都运行n个服务器,让你去破坏,每台计算机你能破坏一种服务,它和它的邻居们的该台服务都会被破坏,所有计算机的这种服务都被破坏才算这项服务成功破坏,让你求最大能成功破坏多少种服务。 思路: 该问题可转为:把n个集合goup1,2,…n分成尽量多组,使每组中所有集合的并集等于全集。 代码如下:#include <iostream>#include <cstdio>原创 2016-02-13 11:54:16 · 611 阅读 · 0 评论 -
uva10859 - Placing Lampposts
题意: 有n个点m条边的无向无环图,在尽量少的点放灯,让所有边都能被照,且尽量多的边同时被找到。 思路: 题目有两个地方要控制,a:一个是放灯的点——要尽量少,b:第二个是被两盏灯照到的边—-尽量多。 学到一个小技巧,就是将第二问题转为b:被一盏灯照到的边 — 尽量少,所求即x=Ma+b最小,M为一个比a,b大得多的数。 然后就是控制x使其最小了。 代码如下:#include <iost原创 2016-02-13 12:15:22 · 476 阅读 · 0 评论