2021牛客暑期多校训练营10 War of Inazuma (Easy Version)(二分图)
Posted issue是fw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021牛客暑期多校训练营10 War of Inazuma (Easy Version)(二分图)相关的知识,希望对你有一定的参考价值。
有 2 n 2^n 2n个点,编号为 [ 0 , 2 n − 1 ] [0,2^n-1] [0,2n−1]
每个点要么标记为 0 0 0,要么标记为 1 1 1
我们说 u u u和 v v v相邻,当且仅当 u , v u,v u,v的二进制恰有一位不同
你需要给每个点构造一个标记,使得对任何一个点 u u u,与 u u u相邻且标记相同的点数不超过 n \\sqrt n n
其中 n < = 22 n<=22 n<=22
注意到相邻的两个点二进制中 1 1 1的个数刚好相差 1 1 1
我们让二进制奇数个 1 1 1的点都标记为 0 0 0
二进制偶数个 1 1 1的点都标记为 1 1 1
那么这样,每个点相邻的点中没有一个点和自己同标记,完美解决问题…
#include <bits/stdc++.h>
using namespace std;
int n,bit[1<<22];
int main()
{
cin >> n;
for(int i=0;i<(1<<n);i++)
{
bit[i] = bit[i>>1]+(i&1);
if( bit[i]&1 ) putchar('0');
else putchar('1');
}
}
以上是关于2021牛客暑期多校训练营10 War of Inazuma (Easy Version)(二分图)的主要内容,如果未能解决你的问题,请参考以下文章
2021牛客暑期多校训练营2——Product of GCDs
2021牛客暑期多校训练营5K King of Range(单调队列)
2021牛客暑期多校训练营10 E.Eyjafjalla(倍增+线段树合并)
2021牛客暑期多校训练营 J. Product of GCDs 不动脑子的莫比乌斯反演做法(