二分答案,2sat判定。//#pragma comment(linker,
"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#...
分类:
其他好文 时间:
2014-05-08 19:28:02
阅读次数:
361
将行中连续的' . '当作X集的一个点,列中连续的’ . ‘看成Y集中的一个点,然后把每一个’ . ‘看成一条边,连接Xi,Yj。
则问题转化成求此二分的最大匹配数。每找到一条匹配边的意义是找到了一个点放置一个,并且覆盖了所在的连续的行和列。
所以答案即为此二分图的最大匹配。
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-05-07 16:33:04
阅读次数:
283
本来是打算昨天晚上写的, 昨天网速渣的连CSDN都进不去,没办法 只能现在来写了
先写写对KM算法的理解,KM算法是对每个点设置一个顶标,只有当边长等于两边点的顶标之和的时候才进行增广,这样就能保证得到的一定是最大权匹配。
如果找不到匹配的时候就对交替路中X集合的顶标减少一个d Y集合的顶标增加一个d。
这样两个点都在交替路中的时候x[i]+y[i]的和不边
X在 Y不在的时候x[...
分类:
其他好文 时间:
2014-05-07 15:50:04
阅读次数:
348
binary_search 这个函数的返回值是布尔型,也就是最简单的找到了就为真,没找到就是假。
传入参数有三个,数据集合的左端点,数据集合的右端点,查找的值。 注意这些左端点右端点是要求左开右闭原则的,就是和数学上的左开右闭区间[a,
b)一样,右端点是个不会被查阅的值。 一般来说写法类似: bo...
分类:
编程语言 时间:
2014-05-07 12:47:43
阅读次数:
436
枚举+二分查找。
A+B+C >= K ----> C >= K - A -B ----> 统计大于等于C的个数即可。
#include
#include
#include
#include
#include
#include
using namespace std;
int a[1010];
int Scan() //输入外挂
{
int...
分类:
其他好文 时间:
2014-05-07 02:52:11
阅读次数:
322
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4631
Sad Love Story
Time Limit: 40000/20000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 1590 Accepted S...
分类:
其他好文 时间:
2014-05-07 02:40:43
阅读次数:
376
题目链接:
http://poj.org/problem?id=2773
Happy 2006
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 9131
Accepted: 3073
Description
Two positiv...
分类:
移动开发 时间:
2014-05-07 02:37:49
阅读次数:
435
一、前言二分查找本身是个简单的算法,但是正是因为其简单,更容易写错。甚至于在二分查找算法刚出现的时候,也是存在bug的(溢出的bug),这个bug直到几十年后才修复(见《编程珠玑》)。本文打算对二分查找算法进行总结,并对由二分查找引申出来的问题进行分析和汇总。若有错误,请不吝赐教。二、二分查找是这样...
分类:
其他好文 时间:
2014-05-07 01:09:33
阅读次数:
442
此文意在整理二分图的各种变形。
HDU 1068 Girls and Boys
最基础的二分图匹配问题,简单的求最大匹配数。
HDU 1150 Machine Schedule
无向图 最小点集覆盖 = 最大匹配。
把作业看成边,把机器看成点。
无向图的最小点集覆盖是指存点集K,使得图中的所有边都与K中的某些点相连 ,且去除K任意一点就不再满足前述条件。
HD...
分类:
其他好文 时间:
2014-05-06 23:13:26
阅读次数:
348