• jsc2019_qualD Classified


    题目大意

    给你一个有n个点的完全图

    求一种方案是的给边染色后任何一点不能沿一种颜色的边走奇数条边回到这个点

    要求颜色数最少

    分析

    考场上输出格式打错见祖宗...

    我们每次找一个最大二分图将其染一个新颜色即可

    找的方式就是每次将一个集合分为左右两边

    将这两个集合分别作为左边点和右边点连成二分图

    然后递归每一个子区间

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    int vis[1100][1100],n;
    inline void go(int le,int ri,int wh){
        if(le>=ri)return;
        int i,j,k,mid=(le+ri)>>1;
        for(i=le;i<=mid;i++)
          for(j=mid+1;j<=ri;j++)
            vis[i][j]=vis[j][i]=wh;
        go(le,mid,wh+1);
        go(mid+1,ri,wh+1);
    }
    int main(){
        int i,j,k;
        scanf("%d",&n);
        go(1,n,1);
        for(i=1;i<n;i++){
          for(j=1;j+i<n;j++)
            printf("%d ",vis[i][j+i]);
          printf("%d
    ",vis[i][n]);
        }
        return 0;
    }
  • 相关阅读:
    校验规则,纯数字。几位有效数字,保留几位小数
    银行卡校验规则(Luhn算法)
    forEach兼容ie8
    node.js
    gulp
    observer
    webpack.config.js 配置
    内存泄漏(Memory Leak)
    cdn
    前端 各种插件的官网
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/11413796.html
Copyright © 2020-2023  润新知