摘要: 题意: 有一对 新人举办婚礼,邀请了n-1对夫妇,有一张很长的桌子,要求左右的夫妇都分别坐在桌子的两侧,且知道了 m 对 人有关系,要求新娘对面不能出现有关系的两个人。分析: 在 有关系的人之间连边,在所有夫妇之间连边,用奇数表示男的,偶数表示女的,用2-sat方法染色,最后输出不在新娘一边的人。#include<stdio.h>#include<string.h>#define op(x) ((x)=='h'?1:0)#define clr(x)memset(x,0,sizeof(x))#define min(a,b)(a)<(b)?(a):(b 阅读全文
posted @ 2012-08-04 23:56 'wind 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题意: 有 N 个木桩,知道了 m 对木桩的高度差, 问从一点 a 跳到到 b所需要经过的最小高度差。分析:将 Floyed 作一点改动 ,松弛操作 变为 g[i][j]=min(g[i][j],max(g[i][k],g[k][j]))#include<stdio.h>#include<string.h>#define INF 0x1f1f1fint min(int a,int b){ return a<b?a:b;}int max(int a,int b){ return a>b?a:b;}int g[305][305];int main(){ int 阅读全文
posted @ 2012-08-04 20:07 'wind 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题意: 有 N 个男生和 N 个女生,已知每个男生对每个女生的喜欢程度,和每个女生对每个男生的喜欢程度。 找到一种搭配方式使得总的满意程度最高。稳定婚姻解法: 如果男A与女C匹配,男B与女D 匹配,但是A更喜欢D,D更喜欢A,那么这个婚姻就不是稳定的。稳定婚姻问题的算法步骤大致如下:(男士优先) 1.男士先选择自己最爱的人去求婚,如果有多个男士的最爱相同,那么女士就选择更爱的那位男士,那么其他的男士在这次求婚中失败。 2.上次求婚失败的男士再选择自己次爱的女士进行求婚,如果这位女士没有匹配男士,那么这两个人就进行匹配,如果这位女士有匹配的男士,但是如果这位女士更喜欢这位正在求婚的男士,那么这位 阅读全文
posted @ 2012-08-04 18:56 'wind 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 题意: HAHA 早上有 n 件事情要做, 知道了有 m 个关系,每个关系 a ,b 表示a 事情必须在b 事情之前做,问做完这些事共有多少种可能的顺序。分析: 可以把题目看成是 一个有向图,其中共有多少种拓扑排序的方法。 首先图中不能有环,可以先传递闭包,看看有没有 g[i][i]=1 的情况出现,如果有则说明有环。 由于 n <=17 ,1<<17 相对较小,可以枚举所有状态进行递推。① 递归写法#include<stdio.h>#include<string.h>#define clr(x)memset(x,0,sizeof(x))int g[1 阅读全文
posted @ 2012-08-04 14:45 'wind 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个有 N 个连续房间的旅馆,对 m 次询问对应两种操作。 1 a 询问是不是有连续长度为a的空房间,有的话住进最左边 2 a b 将[a,a+b-1]的房间清空分析: 区间合并类线段树。update 成段更新 query 找到满足条件的最左端点#include<stdio.h>#include<string.h>#define maxn 50005int max(int a,int b){ return a>b?a:b; }int lsum[maxn<<2];int rsum[maxn<<2];int msum[maxn<& 阅读全文
posted @ 2012-08-04 11:43 'wind 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个无向图,图中存在一些桥,之后向图中加入Q条边,问每次加入这条边后图中剩下的桥的数量。分析: 首先对无向图求割边,并进行缩点,使之成为一棵树,这棵树上的所有边都是割边,之后对于每次询问,会连接树上的两个节点,如果这两个节点之间的边与这条边形成一个环,那么这些边就不再是割边,对于缩点后的树,先随意定出一个根,之后对每个节点记录他的父节点,以及他在这棵树中的深度,之后对于每次询问只要从叶子节点一直搜到他们的lca,把路径上的割边去掉。#include<stdio.h>#include<string.h>#include<stdlib.h>#defi 阅读全文
posted @ 2012-08-04 00:48 'wind 阅读(217) 评论(0) 推荐(0) 编辑