题意:

给定点数,构造自补图,要求输出邻接矩阵,和原图与补图的同构映射。

题解:

只有点数为4k和4k+1的情况才能构造自补图,因为只有这些情况下边数才为偶数。

一种构造方式是,邻接矩阵和同构映射增量构造,每次加四个边xyzw,x和w连接原来的所有边,yz不连,同构映射是交换xy,zw

参考:www.matrix67.com/blog/archives/6221

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int M = 2e3 + ;
const LL mod = ;
const LL lINF = 0x3f3f3f3f3f3f3f3f;
bool mp[M][M];
int t;
int n;
int a[M];
int main()
{
scanf("%d", &t);
for (int cnt = ; cnt <= t; cnt++)
{
scanf("%d", &n);
if (n % == )
{
printf("Case #%d: Yes\n", cnt);
memset(mp, , sizeof mp);
mp[][] = mp[][] = ;
mp[][] = mp[][] = ;
mp[][] = mp[][] = ;
a[] = ;
a[] = ;
a[] = ;
a[] = ;
for (int i = ; i <= n; i += )
{
mp[i][i + ] = mp[i + ][i] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
for (int j = ; j < ; j+=)
{
for (int k = ; k < i; k++)
{
mp[i + j][k] = mp[k][i + j] = ;
}
}
a[i] = i + ;
a[i + ] = i;
a[i + ] = i + ;
a[i + ] = i + ;
swap(a[i+], a[i + ]);
}
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
{
printf("%d", mp[i][j]);
}
puts("");
}
for (int i = ; i < n; i++)
{
printf("%d ", a[i]);
}
printf("%d\n", a[n]);
}
else if (n % == )
{
printf("Case #%d: Yes\n", cnt);
memset(mp, , sizeof mp);
a[] = ;
for (int i = ; i <= n; i += )
{
mp[i][i + ] = mp[i + ][i] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
for (int j = ; j < ; j+=)
{
for (int k = ; k < i; k++)
{
mp[i + j][k] = mp[k][i + j] = ;
}
}
a[i] = i + ;
a[i + ] = i;
a[i + ] = i + ;
a[i + ] = i + ;
swap(a[i+], a[i + ]);
}
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
{
printf("%d", mp[i][j]);
}
puts("");
}
for (int i = ; i < n; i++)
{
printf("%d ", a[i]);
}
printf("%d\n", a[n]);
}
else
{
printf("Case #%d: No\n", cnt);
}
}
}

牛客多校第六场 E Androgynos 自补图的更多相关文章

  1. 牛客多校第六场 C Generation I 组合数学 阶乘逆元模板

    链接:https://www.nowcoder.com/acm/contest/144/C来源:牛客网 Oak is given N empty and non-repeatable sets whi ...

  2. 牛客多校第六场 J Heritage of skywalkert 随即互质概率 nth_element(求最大多少项模板)

    链接:https://www.nowcoder.com/acm/contest/144/J来源:牛客网 skywalkert, the new legend of Beihang University ...

  3. 牛客多校第六场-H-Pair

    链接:https://ac.nowcoder.com/acm/contest/887/H来源:牛客网 题目描述 Given three integers A, B, C. Count the numb ...

  4. 同构图+思维构造——牛客多校第六场E

    考的其实是同构图的性质: 1.同构图的顶点数,边数相等 2.同构图通过点的映射后邻接矩阵相同 这篇博客讲的很好https://www.jianshu.com/p/c33b5d1b4cd9 本题还需要一 ...

  5. 2018牛客多校第六场 G.Pikachu

    题意: 给出一棵n个点的树,每条边有边权.对这个树加边变成一个完全图.新加的边的权值为边上两点在树上的距离.求完全图上任意两点的最大流之和. 题解: 一共有C(n,2)个点对.假设当前求s到t之间的最 ...

  6. 2018牛客多校第六场 I.Team Rocket

    题意: 给出n个区间和m个点(点按顺序给出且强制在线).每个区间只会被第一个他包含的点摧毁.问每个点能摧毁多少个区间以及每个区间是被哪个点摧毁的. 题解: 将n个区间按照左端点排序,然后用vector ...

  7. 牛客多校第六场C

    一个数很大,并不能预处理,所以要进行公式变换,存前一个的值就好 #include <bits/stdc++.h> using namespace std; typedef long lon ...

  8. Palindrome Mouse(2019年牛客多校第六场C题+回文树+树状数组)

    目录 题目链接 题意 思路 代码 题目链接 传送门 题意 问\(s\)串中所有本质不同的回文子串中有多少对回文子串满足\(a\)是\(b\)的子串. 思路 参考代码:传送门 本质不同的回文子串肯定是要 ...

  9. 2019牛客多校第六场 B - Shorten IPv6 Address 模拟

    B - Shorten IPv6 Address 题意 给你\(128\)位的二进制,转换为十六进制. 每\(4\)位十六进制分为\(1\)组,每两组用一个\(":"\)分开. 每 ...

随机推荐

  1. AWS的lambda和S3之间如何连携

    今天正好遇到了这个问题,就在官方文档里查询,然后根据他的说明整理了一下大致的流程,详细的请参考AWS国际版的官方文档,这里只是作者的一个简单的流程展示. Lambda和S3连接 1.在S3的同一区域当 ...

  2. Python Faker的使用 及 常用函数的查询

    安装faker  pip install faker faker的使用 引用:from faker import Faker 初始化:f=Faker(locale='zh_CN') # 默认是en_U ...

  3. python中while与else的联姻

    循环使用 else 语句在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断 ...

  4. pandas的read_csv踩到的坑

    read_csv要注意,如果没有设置index_col时,读出来的会在索引上方加上Unnamed:0.可以通过设置index_col来解决这个问题. import pandas as pd impor ...

  5. 泛型(Generic)接口

    泛型接口例子:一个学生有一个独一无二的ID,但是每个学生的姓名不一定是唯一的. class Program { static void Main(string[] args) { Student< ...

  6. 深入浅出的Object.defineProperty()

    vue的原理 观察者模式和订阅-发布者模式. Vue实例被创建时,会遍历data属性,并通过Object.defineProperty将 这些属性转化为getter/setter,并进行追踪依赖.每当 ...

  7. Go 位运算符

    Go 位运算符 package main import "fmt" func main() { var a uint = 60 /* 60 = 0011 1100 */ var b ...

  8. Redis缓存数据库常见操作

    Jedis的最为常见的操作.主要包括常用的列表(list).集合(set).有序集合(sorted set).哈希表(hash)等数据结构,以及其他特性支持. 参考资料:http://hello-ni ...

  9. css导行下拉动画

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  10. NX二次开发-NXOPEN工程图导出CAD图纸DxfdwgCreator *dxfdwgCreator1;

    没有什么可以看的,NXOPEN直接录制一下导出CAD就可以了.录制出来自己挑需要的代码拿过来改一下. NX9+VS2012 #include <NXOpen/Part.hxx> #incl ...