排序后贪心或根据第二关键字找最长下降子序列#pragma comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#i...
分类:
其他好文 时间:
2014-05-08 19:36:06
阅读次数:
267
以行列为点建图,每个点(x,y)
对应一条边连接x,y。二分图的最小点覆盖=最大匹配//#pragma comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#in...
分类:
其他好文 时间:
2014-05-08 14:33:39
阅读次数:
251
饮料->牛->食物。牛拆成两点。//#pragma comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#incl...
分类:
其他好文 时间:
2014-05-08 14:26:15
阅读次数:
423
每个门每个时间只能出一个人,那就把每个门拆成多个,对应每个时间。不断增加时间,然后增广,直到最大匹配。//#pragma comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#i...
分类:
其他好文 时间:
2014-05-08 14:24:17
阅读次数:
721
划分成两个集合使费用最小,可以转成最小割,既最大流。//#pragma
comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#in...
分类:
其他好文 时间:
2014-05-08 14:23:18
阅读次数:
281
两条路不能有重边,既每条边的容量是1。求流量为2的最小费用即可。//#pragma
comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#incl...
分类:
其他好文 时间:
2014-05-08 14:18:59
阅读次数:
278
每一种货物都是独立的,分成k次最小费用最大流即可! 1: /** 2: 因为e ==0 所以
pe[v] pe[v]^1 是两条相对应的边 3: E[pe[v]].c -= aug; E[pe[v]^1].c += aug; 4: 5: */ 6:
#include 7: #include 8: #...
分类:
其他好文 时间:
2014-05-08 13:49:21
阅读次数:
290
1 /* 2
题意:给出N个单词,一个单词的头字母和另一个单词的尾字母相同则可以相连,问这N个单词是否能完全相连成一行 3 4 题解:求欧拉路径 5
首先以每个单词的首字母和尾字母为点并且连边,然后用DFS求该图是否连通,然后根据点的入度和出度判断是否存在 6 欧拉路径或者欧拉回路(存在回路也是.....
分类:
其他好文 时间:
2014-05-08 13:48:48
阅读次数:
262
题目链接建个图,套个模板。#include #include #include
#include #include #include #include #include using namespace std;#define INF
0x3ffffffstruct node{ int u,v,...
分类:
其他好文 时间:
2014-05-07 21:21:36
阅读次数:
396
本文出自:http://blog.csdn.net/svitter
原题:http://poj.org/problem?id=1141
题意:输出添加括号最少,并且使其匹配的串。
题解: dp [ i ] [ j ] 表示添加括号的个数, pos[ i][ j ] 表示i, j中哪个位置分开,使得两部分分别匹配。
初始值置dp [ i ] [ i ] = 1; 如果只有一个括号,...
分类:
其他好文 时间:
2014-05-07 15:17:21
阅读次数:
367