题意:

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

题解:

只有点数为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 + 5;
const LL mod = 998244353;
const LL lINF = 0x3f3f3f3f3f3f3f3f;
bool mp[M][M];
int t;
int n;
int a[M];
int main()
{scanf("%d", &t);for (int cnt = 1; cnt <= t; cnt++){scanf("%d", &n);if (n % 4 == 0){printf("Case #%d: Yes\n", cnt);memset(mp, 0, sizeof mp);mp[2][1] = mp[1][2] = 1;mp[2][3] = mp[3][2] = 1;mp[3][4] = mp[4][3] = 1;a[1] = 2;a[2] = 4;a[3] = 1;a[4] = 3;for (int i = 5; i <= n; i += 4){mp[i][i + 1] = mp[i + 1][i] = 1;mp[i + 1][i + 2] = mp[i + 2][i + 1] = 1;mp[i + 2][i + 3] = mp[i + 3][i + 2] = 1;for (int j = 0; j < 4; j+=3){for (int k = 1; k < i; k++){mp[i + j][k] = mp[k][i + j] = 1;}}a[i] = i + 1;a[i + 1] = i;a[i + 2] = i + 3;a[i + 3] = i + 2;swap(a[i+1], a[i + 2]);}for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){printf("%d", mp[i][j]);}puts("");}for (int i = 1; i < n; i++){printf("%d ", a[i]);}printf("%d\n", a[n]);}else if (n % 4 == 1){printf("Case #%d: Yes\n", cnt);memset(mp, 0, sizeof mp);a[1] = 1;for (int i = 2; i <= n; i += 4){mp[i][i + 1] = mp[i + 1][i] = 1;mp[i + 1][i + 2] = mp[i + 2][i + 1] = 1;mp[i + 2][i + 3] = mp[i + 3][i + 2] = 1;for (int j = 0; j < 4; j+=3){for (int k = 1; k < i; k++){mp[i + j][k] = mp[k][i + j] = 1;}}a[i] = i + 1;a[i + 1] = i;a[i + 2] = i + 3;a[i + 3] = i + 2;swap(a[i+1], a[i + 2]);}for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){printf("%d", mp[i][j]);}puts("");}for (int i = 1; i < n; i++){printf("%d ", a[i]);}printf("%d\n", a[n]);}else{printf("Case #%d: No\n", cnt);}}
}

转载于:https://www.cnblogs.com/isakovsky/p/11296632.html

牛客多校第六场 E Androgynos 自补图相关推荐

  1. 2019牛客多校第六场 E Androgynos

    传送门:https://ac.nowcoder.com/acm/contest/886/E 首先要同构的话,必须补图和原图边数一样,完全图总边数就必须是偶数,那么只有n%4=1 和 n%4=0时总边数 ...

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

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

  3. 牛客多校第六场 G Is Today Friday? 蔡勒公式/排列

    题意: 有一堆日期,这些日期都是星期五,但是数字被映射成了字母A~J,现在让你求逆映射,如果存在多种答案,输出字典序最小的那个. 题解: 用蔡勒公式解决关于星期几的问题. 对于映射,可以用笔者刚刚学会 ...

  4. [题解]Shorten IPv6 Address-模拟(2019牛客多校第六场B题)

    题目链接:https://ac.nowcoder.com/acm/contest/886/B 题意: 您将获得一个IPv6地址,该地址是128位二进制字符串.请根据以下规则确定其最短的表示: 以十六进 ...

  5. 【2022牛客多校第六场 Z题 Game on grid】dp

    题目描述 输入描述 2 3 3 -B -B BB. 1 3 - 输出描述 no no yes no yes no 题意 有一个n*m的棋盘,Alice和Bob轮流进行操作,每操作一步都是从当前点到右边 ...

  6. 24dian(牛客多校第三场)

    24dian(牛客多校第三场) 题意: 给你n张牌,每张牌的大小为1 ~ 13,问这些牌与加减乘除任意组合(可以使用括号),且但所有的有效解在计算过程中都涉及到分数,即非整数,能否组成答案m,如果可以 ...

  7. 2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数

    目录 求若干个串的公共子串个数相关变形题 对一个串建后缀自动机,另一个串在上面跑同时计数 广义后缀自动机 后缀数组 其他:POJ 3415 求两个串长度至少为k的公共子串数量 @(牛客多校第四场 I题 ...

  8. 牛客多校第四场【B-Basic Gcd Problem】

    牛客多校第四场[B-Basic Gcd Problem] 题目链接:https://ac.nowcoder.com/acm/contest/5669/B 思路:先要理解公式,多看几个数据基本就会有点想 ...

  9. 牛客多校第三场 B【Classical String Problem】

    牛客多校第三场 B[Classical String Problem] 链接:https://ac.nowcoder.com/acm/contest/5668/B 来源:牛客网 题目描述 Given ...

最新文章

  1. 宇宙的第一推动力,必然存在吗?
  2. sizeof 头文件_c/c++基础之sizeof用法
  3. Qt QWidget实现手势缩放和平移(二)
  4. WordPress函数:wp_nav_menu($args)函数说明
  5. C#和.NET Framework的关系
  6. QQ无法安装,不用着急,用毒霸2011来解决
  7. 数组c语言什么时候学的,C语言学习之数组
  8. linux 停止jar 指令,Linux编辑启动、停止与重启springboot jar包脚本实例
  9. 【高校宿舍管理系统】第三章 Layui整合Axios
  10. 【Flink】Flink 多并行度下的 watermark触发机制
  11. C++之文件输入输出
  12. centos 上安装bugzilla 详解
  13. Sql语句分页,有待优化
  14. 揭露微信朋友圈当中出现刷票群0.01一票微信号、刷票0.01一票微信号的虚假面目
  15. 软件工程专业要考c语言吗,【干货】软件工程专业课到底考什么?
  16. 基于文本语义的智能问答机器人——工业应用
  17. 线性代数【8】-1 线性方程组 - 非常重要的概念 - 三个基本的问题
  18. 《宣龙教育》加密网课视频下载
  19. 如何免费使用正版win10系统
  20. 【学习笔记】C++ 核心编程(二)类和对象——封装

热门文章

  1. 经典面试题:给两个序列如何构造一棵二叉树
  2. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
  3. Android多点触控MultiTouch浅析
  4. 从内存分配角度分析c和java里的static 关键字.
  5. Oracle PCTfree assm,Oracle 段空间管理方式与PCTFREE和PCTUSED的概念
  6. python网页登录钉钉_django 钉钉扫码登录
  7. C语言程序设计省二考试,浙江省高校计算机等级考试大纲(二级——C语言程序设计大纲)(...
  8. ue如何使用php文件,UltraEdit使用设置
  9. flutter 图片路径_【Flutter开发工具推荐】Flutter资源管理利器:Flr
  10. python3常用模块_python常见模块有哪些