题目链接:uva 1510 - Neon Sign
题目大意:给定n个点,任意三点不共线,并且两两点之间有一条线,给定线的颜色。问说有多少个三角形三边同色。
解题思路:对于每个点,记录该点黑色边的数量和红色边的数量,考虑以该点为顶点的三角形,从红色边中选一条,黑色边中选一条,组成的三角形一定是不满足的。因为一个不同色三角形会有两个点满则,所以考虑了两次。用总的个数减掉不同色的即可。
...
分类:
其他好文 时间:
2014-07-28 00:13:19
阅读次数:
367
题目连接:uva 10458 - Cricket Ranking
题目大意:给定k和n,表示有k个比赛,总共要的n分,每个比赛可以得l~r的分数,问说可以有多少种得分方式。
解题思路:容斥,可以参考Codeforces 451E.
#include
#include
#include
using namespace std;
typedef long long ll;
con...
分类:
其他好文 时间:
2014-07-28 00:06:29
阅读次数:
476
解题思路:
题目唯一难点就是如何去表示地点,用map映射可以轻松搞定,一个地点名对应一个值,剩下的就是求最短路径。下面给出三个代码,第一个是用朴素Dijkstra写的,第二个用了Floyd,第三个用了Dijkstra + heap。感觉上运行效率差不多。。。。。
AC代码:
Dijkstra:
#include
#include
#include
#include
usin...
分类:
其他好文 时间:
2014-07-28 00:05:29
阅读次数:
349
题目链接:uva 11290 - Gangs
题目大意:给出n和k,表示要构造一个长度为2*n-2的字符串,OG序列为k的字符串(类似于出栈入栈)。
如果字符s2先回到原点(即栈空),那么s2 OG s1如果s1和s2同事回答原点,那么忽略头尾的ES进行比较如果s1和s2的前t个相同,扣掉前t个字符考虑
解题思路:出栈入栈的个数是卡特兰数,每次考虑两个部分
Sstr1Estr2...
分类:
其他好文 时间:
2014-07-27 23:38:19
阅读次数:
305
题目地址:Sequence题目大意; 给你m行,每行有n个数。 分别从每一行取一位数,然后加和。这样的数一定会构成m^n个。输出最小的n个即可。解题思路: 思路: 因为,要每行都取一个,构成一个和sum。需要找出n个sum。 我们需要一行一行的找,不妨先设前两行的最小的n个sum是由第一行n个数和....
分类:
其他好文 时间:
2014-07-27 21:44:55
阅读次数:
264
继续来置换,这次的题也是很简单的。
题目大意:
对于一个长度为n的字符串,有一个数组表示第i个字符放到那个位置。
输入多个字符串,问这样操作k次后的字符串是什么样子的。
解题思路:
对于每一个置换,我们会求出循环节,这样可以减少模拟的次数。
下面是代码:
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-07-27 11:50:14
阅读次数:
220
解题思路:
W代表草坪,只有草坪才能燃烧,让你给两块草坪点火,火势只能向上下左右蔓延,问把所有草坪烧完的最短时间。求最短时间又得把对整个图进行检索,典型的BFS,火向四周蔓延一次,时间加一。该题特别之处就在于是两处同时进行BFS。其实完全可以看做交替进行BFS,即你先放火,我再放火,你的火先蔓延一块草地,我再跟着蔓延一块草地,直到烧完。所以检索的时候,当第一把火燃烧到第二把火蔓延的地方会发现,悲...
分类:
其他好文 时间:
2014-07-27 11:39:34
阅读次数:
263
题目链接:uva 1444 - Knowledge for the masses
题目大意:给出R和L,R表示有R行,L表示一行的最大长度。
对于每一行,给出n,然后是n个数,arr[i]为0表示空格,长度为1,否则表示书架,长度为arr[i]。现在人要从上边走到下边,问说最少移动几个书架,并且输出可以通过的路径坐标。
解题思路:c[i]表示第i个坐标有多少行可以通过,当c[i]==...
分类:
其他好文 时间:
2014-07-27 11:37:46
阅读次数:
214
题目:uva10720 - Graph Construction(Havel-Hakimi定理)
题目大意:给出N个点,并且给出每个点的度,问能否形成简单图。
解题思路:一开始自己写想了些形成简单图的条件,例如度数之和是偶数,度数的一半也就是简单图的边不能超过n * (n - 1) / 2,每个顶点的度数都应该小于总的顶点个数,但后面发现这些只是必要的条件。后来看了题解发现大神...
分类:
其他好文 时间:
2014-07-27 11:37:06
阅读次数:
202
题目:uva10020 - Minimal coverage(区间覆盖)
题目大意:给出一些线段,然后问怎样取能使得最少的线段覆盖区间[0, M].
解题思路:先预处理掉那些和区间【0,M】不沾边的线段。
将线段按照起点小的排序。
接着遍历这些线段。首先先判断起点最小的点是否
...
分类:
其他好文 时间:
2014-07-27 11:35:13
阅读次数:
189