[HNOI2008]神奇的国度
1006: [HNOI2008]神奇的国度
Time Limit: 20 Sec Memory Limit: 162 MB
[Submit][Status][Discuss]
Description
K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2...An之间仅存在N对认识关系:(A1A2)(A2A3)...(AnA1),而没有其它认识关系.比如四边关系指ABCD四个人 AB,BC,CD,DA相互认识,而AC,BD不认识.全民比赛时,为了防止做弊,规定任意一对相互认识的人不得在一队,国王相知道,最少可以分多少支队。
Input
第一行两个整数N,M。1<=N<=10000,1<=M<=1000000.表示有N个人,M对认识关系. 接下来M行每行输入一对朋友
Output
输出一个整数,最少可以分多少队
Sample Input
1 2
1 4
2 4
2 3
3 4
Sample Output
HINT
一种方案(1,3)(2)(4)
弦图的点染色问题
构造出完美消除序列后
从后往前染当前能染的最小颜色
#include<cstdio> #include<iostream> #define N 10001 #define M 1000001 using namespace std; bool vis[N]; int st[N],top; int color[N],mark[N],sa[N],d[N]; int n,m; int tot,front[N<<1],to[M*3],nxt[M*3]; void read(int &x) {x=0; char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) { x=x*10+c-'0'; c=getchar(); } } void add(int u,int v) {to[++tot]=v; nxt[tot]=front[u]; front[u]=tot; } #define f(x) x+n+1 void mcs() {for(int i=1;i<=n;i++) add(f(0),i);int pos,mx=0;for(int i=n;i;--i){pos=0;for(int j=front[f(mx)] ; j && !pos ; j=nxt[j])if(!vis[to[j]]) {pos=to[j];vis[pos]=true;sa[i]=pos;}else front[f(mx)]=nxt[j];if(!pos) mx--,i++;else{for(int j=front[pos];j;j=nxt[j])if(!vis[to[j]]){d[to[j]]++;add(f(d[to[j]]),to[j]);mx=max(mx,d[to[j]]);}}} } int main() {read(n); read(m);int u,v;for(int i=1;i<=m;++i) {read(u); read(v);add(u,v);add(v,u);}mcs();int ans=0;for(int i=n;i;--i){for(int j=front[sa[i]];j;j=nxt[j])mark[color[to[j]]]=i;int j;for(j=1;j<=n&&mark[j]==i;j++);color[sa[i]]=j;ans=max(ans,j); }printf("%d",ans); }
转载于:https://www.cnblogs.com/TheRoadToTheGold/p/7464788.html
[HNOI2008]神奇的国度相关推荐
- 弦图与完美消除序列(bzoj 1006: [HNOI2008]神奇的国度)
诱导子图:子图中任意一条边的两个端点一定也都在这个子图中 最大团:团中任意两点之间一定都有边,而包含顶点最多的团就是最大团 最小团覆盖:用最少的团覆盖图中所有的点 最大独立集:独立集中任意两点之间一定 ...
- BZOJ 1006: [HNOI2008]神奇的国度( MCS )
弦图最小染色...先用MCS求出完美消除序列然后再暴力染色... ------------------------------------------------------------------- ...
- 【BZOJ 1006】 [HNOI2008]神奇的国度
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 2000 Solved: 897 [ Submit] ...
- P3196 [HNOI2008]神奇的国度(弦图的最小染色问题)
整理的算法模板合集: ACM模板 题目传送门 K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国 ...
- bzoj 1006: [HNOI2008]神奇的国度
这是个标准的弦图,但如果不知道弦图就惨了=_= 趁着这个机会了解了一下弦图,主要就是完美消除序列,求出了这个就可以根据序列进行贪心染色. 貌似这个序列很神,但是具体应用不了解-- 这道题为什么可以这么 ...
- 1006: [HNOI2008]神奇的国度
图上的最小的染色方案: 学习了陈丹绮的论文: MCS算法 #include<cstdio> #define maxn 10005 #define maxm 2000005 using na ...
- BZOJ1006神奇的国度
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 2789 Solved: 1255 Description ...
- 神奇的国度(HYSBZ-1006)
Problem Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K国禁止 ...
- [HNOI 2008] 神奇的国度 kingdom
K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系 ...
最新文章
- CocoaPods导入的库其头文件导入的方法
- Linux下mysql备份
- HelloGitHub
- pandas 入门(2)
- linux服务器上如何显示工作路径
- HTFS.Software.v7.3-ISO 1DVD(传热模拟,最新完全解密版)
- Javascript、Dom、JQuery
- ajax提交不能获取数据,django无法收到ajax的请求数据
- 幼儿园编程机器人课程介绍
- zedgraph显示最小刻度_ZedGraph显示多条实时曲线
- 应用安全测试技术DAST、SAST、IAST对比分析-持续更新
- linux局邮软件,Unix/Linux平台上常用的邮件系统软件
- c语言网络字节序整数,c语言中网络字节序和主机字节序的转换
- 走,上高架,看看Momenta“飞轮式L4”的“微操”技巧
- 使用poi做excel导出时解决以文本格式存储的数字问题
- 索尼展示基于MicroLED技术的16K显示屏:约780吋
- 工控液晶屏开机白屏怎么回事,开机白屏解决方法?
- POJ 2676 Sudoku (数独求解器 DFS)
- 全志F1C100s主线linux入坑记录 (1)linux系统移植
- python基础入门神图