
图论
fly_tzf
这个作者很懒,什么都没留下…
展开
-
HDU 5441(并查集)
TravelTime Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2937 Accepted Submission(s): 1006Problem DescriptionJack likes to tra原创 2016-08-04 19:45:58 · 307 阅读 · 0 评论 -
HDU 5438(并查集 + dfs)
PondsTime Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 3544 Accepted Submission(s): 1055Problem DescriptionBetty owns a lot o原创 2016-08-01 10:00:37 · 350 阅读 · 0 评论 -
POJ 3170(bfs求最短路)
Knights of NiTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2070 Accepted: 890DescriptionBessie is in Camelot and has encountered a sticky situation: s原创 2016-07-28 21:44:05 · 1088 阅读 · 0 评论 -
UVa 247 - Calling Circles
首先用floyd求出传递闭包,即用g[i][j]表示i向j打过电话,当且仅当个g[i][j] = g[j][i] = 1时,二者处于同一个电话圈。用并查集表示连通分量,然后输出各个连通分量。#include#include#include#include#include#include#includeusing namespace std;vector name;vector原创 2016-07-05 14:43:04 · 286 阅读 · 0 评论 -
UVALive 6807(最大生成树)
解题思路:求最大生成树, 不在最大生成树上的边即为所求。#include#include#includeusing namespace std;struct tt{ int from; int to; int w; bool operator <(tt p1) const{ return w > p1.w; }}a[10001原创 2016-08-24 20:08:04 · 288 阅读 · 0 评论 -
Gym 101201F Illumination(2-sat)
题意:给定一个n*n的格子,其中有l盏灯,每盏灯能照亮(2 *r+1)的一行或一列,每个格子只能被一行的一盏灯和一列的一盏灯照亮,否则就不满足条件,问是否存在一种方案,打开所有的灯并且满足条件?思路:每个格子有两种状态,用A1表示被行中的灯照亮,A2表示被列中的灯照亮。那么对于同一行的可以互相照射两盏灯A,B,则有A1->B2, B1->A1.对于同一列的可以互相照射两盏灯A,B,则有原创 2017-09-30 09:43:54 · 326 阅读 · 0 评论 -
POJ - 3678(2-sat)
思路:很明显是一个2-sat问题。对于顶点A,B,如果A & B = 1,那么A,B必须都是真,让A取假时矛盾,即 !A->A, !B->B. 如果A & B = 0,那么A、B一真一假,即A->!B, B->!A. 如果A | B = 1,那么A取假时B为真,B取假时A为真,即!A->B, !B->A. 如果A | B = 0,那么A,B必须都是假,让A取原创 2017-09-30 10:01:20 · 454 阅读 · 0 评论