传送门

解题思路

  弦图就是图中任意一个大小$>=4$的环至少存在一条两个节点不相邻的边,这样的图称为弦图,弦图有许多优美的性质。一个无向图是弦图当且仅当它有一个完美消除序列,完美消除序列就是一个点的排列满足$v_i$与$v_{i+1}..v_n$之间所有的边连上后的图是一个团。用最大势算法可以在$O(n+m)$内求出一个完美消除序列。做法就是设$lable(i)$表示与$i$这个点相邻的以标号节点数,每次找到未标号节点中$lable(i)$最大的一个点,而题目中的最小色数问题,在弦图中等于最小团数,为$max lable(i)+1$。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector> using namespace std;
const int N=10005;
const int M=1000005; inline int rd(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)) f=ch=='-'?0:1,ch=getchar();
while(isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();
return f?x:-x;
} int n,m,head[N],cnt,to[M<<1],nxt[M<<1],lable[N],best;
bool vis[N];
vector<int> v[N]; inline void add(int bg,int ed){
to[++cnt]=ed,nxt[cnt]=head[bg],head[bg]=cnt;
} int main(){
n=rd(),m=rd(); int x,y,now;
for(int i=1;i<=m;i++) {
x=rd(),y=rd();
add(x,y),add(y,x);
}
for(int i=1;i<=n;i++) v[0].push_back(i);
for(int i=n;i;i--){
while(1){
for(int j=v[best].size()-1;~j;j--){
if(!vis[v[best][j]]) {now=v[best][j];goto succ;}
v[best].pop_back();
}
--best;
}
succ:; vis[now]=1;
for(int j=head[now];j;j=nxt[j]){
int u=to[j];if(vis[u]) continue;
v[++lable[u]].push_back(u);
best=max(best,lable[u]);
}
}
int ans=0;
for(int i=1;i<=n;i++) ans=max(ans,lable[i]);
ans++; printf("%d\n",ans);
return 0;
}

BZOJ 1006: [HNOI2008]神奇的国度(弦图)的更多相关文章

  1. bzoj 1006: [HNOI2008]神奇的国度 弦图的染色问题&&弦图的完美消除序列

    1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 1788  Solved: 775[Submit][Stat ...

  2. bzoj 1006: [HNOI2008]神奇的国度 -- 弦图(最大势算法)

    1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MB Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角 ...

  3. bzoj 1006 [HNOI2008]神奇的国度 弦图+完美消除序列+最大势算法

    [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4370  Solved: 2041[Submit][Status][D ...

  4. ●BZOJ 1006 [HNOI2008]神奇的国度(弦图最小染色数)○ZOJ 1015 Fishing Net

    ●赘述题目 给出一张弦图,求其最小染色数. ●题解 网上的唯一“文献”:<弦图与区间图>(cdq),可以学习学习.(有的看不懂) 摘录几个解决改题所需的知识点: ●子图和诱导子图(一定要弄 ...

  5. 【BZOJ】1006: [HNOI2008]神奇的国度 弦图消除完美序列问题

    1006: [HNOI2008]神奇的国度 Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则. 他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的 ...

  6. BZOJ 1006 [HNOI2008] 神奇的国度(简单弦图的染色)

    题目大意 K 国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即 AB 相互认识,BC 相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K 国禁止四边关系,五边关系等 ...

  7. BZOJ 1006: [HNOI2008]神奇的国度( MCS )

    弦图最小染色...先用MCS求出完美消除序列然后再暴力染色... ------------------------------------------------------------------- ...

  8. [BZOJ 1006] [HNOI2008] 神奇的国度 【弦图最小染色】

    题目链接: BZOJ - 1006 题目分析 这道题是一个弦图最小染色数的裸的模型. 弦图的最小染色求法,先求出弦图的完美消除序列(MCS算法),再按照完美消除序列,从后向前倒着,给每个点染能染的最小 ...

  9. BZOJ 1006: [HNOI2008]神奇的国度(弦图染色)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1006 题意: 思路: 这个就是弦图染色问题,弦图啥的反正我也不懂,具体看论文https://wenk ...

随机推荐

  1. Microsoft SQL Server(sql server 关系型数据库管理系统)

    sql server一般指Microsoft SQL Server 关系型数据库管理系统 Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级 ...

  2. C#后台获取post参数

    public static string GetQueryString(string key) { if (HttpContext.Current.Request[key] == null) retu ...

  3. 创建Spring Boot 工程

    先在eclipse中安装spring -tool -suite插件,然后根据以下步骤可以创建   1.新建Spring Starter Project 2.Packaging 选择 jar 3.勾选W ...

  4. element table 通过selection-change选中的索引删除

    <el-table :row-class-name="tableRowClassName" @selection-change="handleSelectionCh ...

  5. 【原】webpack--plugins,主要解释plugins干了啥

    其实呢,plugins是增强webpack的功能, 插件用于bundle文件的优化,资源管理和环境变量的注入, 可以理解为任何loaders不能做的事让它来做, 作用于整个构建过程. 常见的plugi ...

  6. JVM调优(四)——tomcat远程debug

    JVM调优(四)--tomcat远程debug tomcat远程debug jdwp协议 使用步骤 登录远程服务器,进入tomcat目录,并打开文件: //tomcat/bin/startup.sh ...

  7. Cocos2d-x之Vector<T>

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. Vector<T>是Cocos2d-x 3.x中推出的列表容器,在cocos2d-x3.0之前的版本是Array,因此它所能容 ...

  8. 调用Consul服务(消费服务)

    调用Consul服务(消费服务) 依赖项 在spring-cloud-consul-client项目中添加依赖项,POM文件内容中添加如下依赖项: <dependency> <gro ...

  9. UVA 12672 Eleven(DP)

    12672 - Eleven Time limit: 5.000 seconds In this problem, we refer to the digits of a positive integ ...

  10. 在线px转换rem工具

    今天推荐一个在线工具,在线px转换rem工具 只要输入1rem = 多少px即可在线转换 和cssrem插件差不多的功能   rem在线转换工具: http://www.ofmonkey.com/fr ...