给定一个弦图,问最少染色数。

对于弦图的一个完美消去序列,从后往前染色,每次染可以染的最小编号的颜色,由完美消去序列的定义,序列任一后缀的点的导出子图中,由该后缀第一个元素及其邻接点导出的子图一定是完全图,所以,序列中某一元素染的颜色编号是该完全图的大小。所以最小染色数小于等于最大团的点数,而显然前者又大于等于后者,故弦图的最小染色数等于最大团的大小。

 /**************************************************************
Problem: 1006
User: idy002
Language: C++
Result: Accepted
Time:1672 ms
Memory:11968 kb
****************************************************************/ #include <cstdio>
#include <vector>
#define maxn 10010
using namespace std; int n, m;
vector<int> g[maxn];
bool done[maxn];
int label[maxn], pos[maxn]; int msc() {
int rt = ;
for( int i=n; i>=; i-- ) {
int mu = ;
for( int u=; u<=n; u++ ) {
if( !done[u] ) {
if( !mu || label[u]>label[mu] )
mu = u;
}
}
done[mu] = true;
pos[mu] = i;
int cnt = ;
for( int t=; t<g[mu].size(); t++ ) {
int v = g[mu][t];
if( done[v] ) {
cnt++;
} else {
label[v]++;
}
}
rt = max( rt, cnt+ );
}
return rt;
}
int main() {
scanf( "%d%d", &n, &m );
for( int i=,u,v; i<=m; i++ ) {
scanf( "%d%d", &u, &v );
g[u].push_back(v);
g[v].push_back(u);
}
printf( "%d\n", msc() );
}

最新文章

  1. Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat
  2. GIT本地配置和PUSH
  3. video标签无法使用的问题
  4. WAMP环境启动失败处理办法
  5. SqlServer性能优化 手工性能收集动态管理视图(三)
  6. canvas基本画图
  7. win8下安装ubuntu双系统
  8. 京东手机webapp商城
  9. spring boot + velocity中文乱码解决方式
  10. BZOJ 3669: [Noi2014]魔法森林( LCT )
  11. MyBatis_Generator插件的安装以及简单使用
  12. Spring初始化ApplicationContext线程托管实际运用架构构思
  13. rem绝对自适应方案
  14. oracle 常用sql字符函数介绍
  15. LODOP获取打印机状态码和状态码含义测试
  16. DashBoard创建各种表(二)
  17. Netty实战十四之案例研究(一)
  18. [NOI2004]郁闷的出纳员(到底是谁郁闷啊?)
  19. linux查看cpu个数,线程数及cpu型号
  20. 200. Number of Islands(DFS)

热门文章

  1. layui利用jQuery设置下拉列表的值
  2. ProxySQL 排错 Max connect timeout reached while reaching hostgroup 10 after 10000ms
  3. openjudge-NOI 2.6-1944 吃糖果
  4. Dev Express 安装
  5. Dagger:快速的依赖注入for 安卓&amp;Java
  6. Delphi 绘图对象
  7. 《自己动手写docker》之namespace部门实验
  8. 【58沈剑架构系列】细聊分布式ID生成方法
  9. POJ1284 Primitive Roots [欧拉函数,原根]
  10. Java常用工具类之IO流工具类