BZOJ1006:[HNOI2008]神奇的国度(弦图染色)
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)
Solution
弦图染色流程:
初始把所有点的$ID$标为$0$。
每次从没删除的点中取$ID$最大的点$x$,让与$x$相连的点$ID++$,同时删除$x$点。
我用了个$set$维护复杂度也许是$nlogn$的。
Code
#include<iostream>
#include<cstring>
#include<cstdio>
#include<set>
#define N (10009)
using namespace std; struct Edge{int to,next;}edge[N*];
int n,m,ans,vis[N],ID[N];
int head[N],num_edge;
set<pair<int,int> >s;
set<pair<int,int> >::iterator it; inline int read()
{
int x=,w=; char c=getchar();
while (c<'' || c>'') {if (c=='-') w=-; c=getchar();}
while (c>='' && c<='') x=x*+c-'', c=getchar();
return x*w;
} void add(int u,int v)
{
edge[++num_edge].to=v;
edge[num_edge].next=head[u];
head[u]=num_edge;
} int main()
{
n=read(); m=read();
for (int i=; i<=m; ++i)
{
int u=read(),v=read();
add(u,v); add(v,u);
}
for (int i=; i<=n; ++i) s.insert(make_pair(,i));
while (!s.empty())
{
it=s.end(); it--; s.erase(it);
int x=(*it).second; vis[x]=;
for (int i=head[x]; i; i=edge[i].next)
if (!vis[edge[i].to])
{
s.erase(make_pair(ID[edge[i].to],edge[i].to));
s.insert(make_pair(++ID[edge[i].to],edge[i].to));
}
}
for (int i=; i<=n; ++i) ans=max(ans,ID[i]+);
printf("%d\n",ans);
}
BZOJ1006:[HNOI2008]神奇的国度(弦图染色)的更多相关文章
- [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】
		
Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则. 他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关 ...
 - [BZOJ1006] [HNOI2008] 神奇的国度 (弦图)
		
Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系 ...
 - bzoj 1006: [HNOI2008]神奇的国度 弦图的染色问题&&弦图的完美消除序列
		
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 1788 Solved: 775[Submit][Stat ...
 - bzoj 1006 [HNOI2008]神奇的国度 弦图+完美消除序列+最大势算法
		
[HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 4370 Solved: 2041[Submit][Status][D ...
 - 【BZOJ】1006: [HNOI2008]神奇的国度 弦图消除完美序列问题
		
1006: [HNOI2008]神奇的国度 Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则. 他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的 ...
 - bzoj 1006: [HNOI2008]神奇的国度  -- 弦图(最大势算法)
		
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MB Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角 ...
 - ●BZOJ 1006 [HNOI2008]神奇的国度(弦图最小染色数)○ZOJ 1015 Fishing Net
		
●赘述题目 给出一张弦图,求其最小染色数. ●题解 网上的唯一“文献”:<弦图与区间图>(cdq),可以学习学习.(有的看不懂) 摘录几个解决改题所需的知识点: ●子图和诱导子图(一定要弄 ...
 - BZOJ 1006: [HNOI2008]神奇的国度(弦图)
		
传送门 解题思路 弦图就是图中任意一个大小\(>=4\)的环至少存在一条两个节点不相邻的边,这样的图称为弦图,弦图有许多优美的性质.一个无向图是弦图当且仅当它有一个完美消除序列,完美消除序列就是 ...
 - bzoj1006 [HNOI2008]神奇的国度
		
1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 2304 Solved: 1043 Description ...
 
随机推荐
- WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问
			
服务器为什么要禁止通过IP直接访问? 1.若公布于外网的服务器IP地址未备案,就有可能被工信部查封.这样备案的域名也会无法访问. 2.如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的 ...
 - 整合Spring和SpringMVC
			
1.Spring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器.因此,在SpringMVC容器中,可以访问到Spring ...
 - N最短路径分词
			
N最短路径算法是一种基于词典的分词算法. 每个句子将生成一个有向无环图, 每个字作为图的一个定点, 边代表可能的分词. 在上图中, 边的起点为词的第一个字, 边的终点为词尾的下一个字. 边1表示&qu ...
 - ajax与文件上传
			
一.ajax ajax(Asynchronous JavaScript And XML):异步JavaScript和XML,即使用JavaScript语句与服务器进行异步交互,传输的数据为XML(也可 ...
 - eclipse4.6.1安装SpringSource Tool Suite(sts-eclipse)插件
			
1. Spring Tool Suite(sts)简介 Spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序.它提供了一个现成的使用环境来实 ...
 - c# 读取xml  某个节点值
			
一.xml格式如下: <?xml version="1.0" encoding="UTF-8"?><Freight> <freig ...
 - STM32F4  MDK5软件仿真  error : no 'read' permission
			
问题描述 CPU:STM32F407 MDK5软件模拟提示没有读写权限,只能一步一步运行.提示代码如下: *** error 65: access violation at 0x40023800 : ...
 - [PHP] 算法-数组归并排序并计算逆序对的个数的PHP实现
			
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%100000000 ...
 - 【Linux】Centos之安装Nginx及注意事项
			
相关内容链接 [Linux]nginx常用命令 [nginx]详细配置说明 1.Nginx的简单说明 a. Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务 ...
 - Liquibase使用入门
			
1.LiquiBase简介 LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态.LiquiBase的主 ...