题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1006

题意:给定一个弦图,求最小染色数。就是用最小数目的颜色进行染色使得任意两个相邻的节点颜色不同。

思路:(1)求出弦图的完美消除序列。 (2)贪心染色。从后向前用可以用的编号最小的颜色染色。在这里因为最小染色等于最大团,我直接求的最大团。为什么最小染色等于最大团呢?最大团w(G) 是包含点数最多的团,最小染色x(G)是相邻点不同色的最小颜色个数。那么w(G)<=x(G),因为最大团中起码需要w(G)种不同的颜色。对于 一个染色我们使用了T种,那么T>=x(W);另外,T=w(G),也就是我们只需要最大团中那么多就够了。所以w(G)=x(G)。

struct node
{
    int v,next;
};

node edges[N*200];

int head[N],e;
int n,m,a[N],d[N],h[N],q[N],p[N];
void Add(int u,int v)
{
    edges[e].v=v;
    edges[e].next=head[u];
    head[u]=e++;
}

void init()
{
    int i,j,k,t,u;
    FORL1(i,n)
    {
        t=-1;
        FOR1(j,n) if(!h[j]&&d[j]>t) t=d[j],k=j;
        h[k]=1; a[i]=k; p[k]=i;
        for(j=head[k];j!=-1;j=edges[j].next)
        {
            u=edges[j].v;
            d[u]++;
        }
    }
}

int cal()
{
    int i,j,k,t,u,ans=0;
    FORL1(i,n)
    {
        k=a[i]; q[k]=1;
        for(j=head[k];j!=-1;j=edges[j].next)
        {
            u=edges[j].v;
            if(p[u]>i) q[k]++;
        }
        ans=max(ans,q[k]);
    }
    return ans;
}

int main()
{
    RD(n,m);
    int i,u,v;
    clr(head,-1);
    FOR1(i,m) RD(u,v),Add(u,v),Add(v,u);
    init();
    PR(cal());
    return 0;
}

BZOJ 1006 神奇的国度(弦图的染色数)的更多相关文章

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

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

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

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

  3. [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】

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

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

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

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

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

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

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

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

    传送门 解题思路 弦图就是图中任意一个大小\(>=4\)的环至少存在一条两个节点不相邻的边,这样的图称为弦图,弦图有许多优美的性质.一个无向图是弦图当且仅当它有一个完美消除序列,完美消除序列就是 ...

  8. BZOJ 1006 神奇的国度

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

  9. [BZOJ1006] [HNOI2008] 神奇的国度 (弦图)

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

随机推荐

  1. weka 文本分类(1)

    一.初始化设置 1 jvm out of memory 解决方案: 在weka SimpleCLI窗口依次输入java -Xmx 1024m 2 修改配置文件,使其支持中文: 配置文件是在Weka安装 ...

  2. PAT乙级 1020. 月饼 (25)(只得到23分)

    1020. 月饼 (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 月饼是中国人在中秋佳节时吃的一种传统食 ...

  3. 【RoR win32】新rails运行后0.0.0.0:3000不能访问

    在浏览器中使用127.0.0.1:3000来访问

  4. cvLoadImage函数解析 cvLoadImageM()函数

    1.函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR ); filename :要被读入的 ...

  5. Chrome常用快捷键

    F2F3 下一个标签 Ctrl+1-9 切换标签 Ctrl+W 关闭 Ctrl+D 保存书签 Ctrl+T 新建书签然后地址栏输入搜索 Ctrl+Shft+T 打开上次关闭 空格 下翻页 Ctrl+J ...

  6. 如何查看和停止Linux启动的服务

    1. 查看Linux启动的服务chkconfig --list 查询出所有当前运行的服务chkconfig --list atd  查询atd服务的当前状态 2.停止所有服务并且在下次系统启动时不再启 ...

  7. 160922、配置:spring通过profile或@profile配置不同的环境(测试、开发、生产)

    一.配置环境 applicationContext.xml中添加下边的内容(develop:开发环境,production:生产环境,test:测试环境) 注意:profile的定义一定要在文档的最下 ...

  8. ASP.NET MVC下的四种验证编程方式[续篇]【转】

    在<ASP.NET MVC下的四种验证编程方式> 一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式(“手工验证”.“标注ValidationAttribute特性”.“ ...

  9. Maven之Nexus构建企业级Maven仓库

    什么是Nexus? Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行 ...

  10. Linux字符串替换一例:根据IP地址获取指定内容

    需求:使用脚本获取到本机IP地址,需要添加iptables规则,需生成网段地址 源格式:获取IP地址为10.10.10.221 目标格式:10.10.10.0 # 方法1 [hadoop@localh ...