题意

给出一个$k$,构造一个无向图,使得每个点的度数为$k$,且存在一个桥

Sol

神仙题

一篇写的非常好的博客:http://www.cnblogs.com/mangoyang/p/9302269.html

我简单的来说一下构造过程

首先$n$是偶数的时候无解

奇数的时候:我们拿出两个点作为桥

先构建一条桥边,对于两个端点分别做同样操作:

新建$k−1$个点,每个点向端点连边

再新建$k−1$个点,每个点向相邻的点连边

对于两层点形成的二分图,两两之间连边

/*
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
#include<set>
#include<queue>
#include<cmath>
//#include<ext/pb_ds/assoc_container.hpp>
//#include<ext/pb_ds/hash_policy.hpp>
#define Pair pair<int, int>
#define MP(x, y) make_pair(x, y)
#define fi first
#define se second
//#define int long long
#define LL long long
#define ull unsigned long long
#define rg register
#define pt(x) printf("%d ", x);
//#define getchar() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1<<22, stdin), p1 == p2) ? EOF : *p1++)
//char buf[(1 << 22)], *p1 = buf, *p2 = buf;
//char obuf[1<<24], *O = obuf;
//void print(int x) {if(x > 9) print(x / 10); *O++ = x % 10 + '0';}
//#define OS  *O++ = ' ';
using namespace std;
//using namespace __gnu_pbds;
const int MAXN = 1e6 + 10, INF = 1e9 + 10, mod = 1e9 + 7;
const double eps = 1e-9;
inline int read() {char c = getchar(); int x = 0, f = 1;while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}
int K, N, M;
void Build(int t) {for(int i = t + 1; i <= t + K - 1; i++)printf("%d %d\n", t, i);for(int i = t + 1; i <= t + K - 1; i++)for(int j = t + K ; j <= 2 * K + t - 2; j++)printf("%d %d\n", i, j);for(int i = K + t; i <= 2 * K + t - 2; i++)if(((t & 1) && (!(i & 1))) || ((!(t & 1)) && (i & 1))) printf("%d %d\n", i, i + 1);
}
main() {K = read();if(!(K & 1)) {puts("NO"); return 0;}puts("YES");N = (2 * (K - 1) + 1) * 2, M = N * K / 2;printf("%d %d\n", N, M);printf("%d %d\n", 1, N / 2 + 1);Build(1); Build(N / 2 + 1);return 0;
}
/*
2 2 1
1 1
2 1 1
*/

cf550D. Regular Bridge(构造)相关推荐

  1. Codeforces 550D. Regular Bridge 构造

    求一个图,每一个点的度数都为K并且必须至少要有一个桥. 构造题: 仅仅有k为奇数的时候有解, 构造这种一个图,左边一团有 k+1 个点 , 右边一团也有 k+1 个点, 中间经过 m1 , m2 连着 ...

  2. Convergence of probability measure P. Billingsley 笔记:Chapter 1-12 (正在进行中)

    自学记录+对自己的一种督促,把学习理论统计知识的过程和思路进行一个分享,现在是本书的第一遍自学,还会有第二遍及补充的总结内容,这里献丑了.希望能帮到各位需要的朋友.本人水平有限,写的不对的地方请指出, ...

  3. AtCoder Regular Contest 063 E - Integers on a Tree 构造 + 二分图染色

    传送门 题意: 给你一颗nnn个点的树,初始的时候某些点有权值pip_ipi​,现在你需要给没给定的点赋一个权值,使得任意相邻点权值之差的绝对值等于111,若无解输出NoNoNo. 1≤n≤1e5,1 ...

  4. AtCoder Regular Contest 149 C.Avoid Prime Sum(构造题,补写法)

    题目 构造一个n*n(n<=1e3)的矩阵,恰用到1到n*n这n*n个数, 使得相邻两项之和不是质数 思路来源 官方题解/zhoukangyang代码/SSerxhs代码/Heltion代码 题 ...

  5. AtCoder Regular Contest 105 C - Camels and Bridge

    题目链接 题目描述 有n只骆驼过m桥,第i只骆驼负重wiw_iwi​,第i座桥的长度为lil_ili​,最大负重为viv_ivi​,问骆驼队伍长度最短为多少可以通过所有的桥. 思路 n的数据范围很小, ...

  6. (2019春)软件构造:雨课堂试卷(第6章)

    目录 6-1 可维护性 单选题 第1题 1分 多选题 第2题 2分 多选题 第3题 2分 单选题 第4题 2分 单选题 第5题 1分 单选题 第6题 1分 6-2 面向可维护性的设计模式 单选题 第1 ...

  7. (2019春)软件构造:雨课堂试卷(四)(第6章)

    文章目录 6-1 可维护性 单选题 第1题 1分 多选题 第2题 2分 多选题 第3题 2分 多选题 第4题 2分 单选题 第5题 1分 单选题 第6题 1分 6-2 面向可维护性的设计模式 单选题 ...

  8. 正则表达式(Regular Expressions)

    正则表达式(Regular Expressions) 正则表达式在其他编程语言中的应用非常广泛,网上资料也非常多,而网上在ABAP语言中应用的资料却很少,尽管各语言中正则表达式语法知识都很类似,但仍然 ...

  9. Bridge 、 Adapter 和 Facade 的区别

    Bridge和Adapter是没有关系的,而和Facade比较象,但在我的经验中更多的时候是会混淆Bridge和adapter而不是Facade,这里详细的列出三个模式的比较. 一. 定义: 1.Fa ...

最新文章

  1. 创建hadoop用户并配置ssh免密码登录
  2. [BUUCTF-pwn]——[BJDCTF 2nd]rci
  3. python硬件交互_对Python的交互模式和直接运行.py文件的区别详解
  4. Python operator.not_()函数与示例
  5. c语言statistics函数,Logistic回归中C-Statistics计算方法
  6. [dhtmlxGantt]浮动Milestone显示
  7. SecureCRT 6.7.0.153 汉化绿色版
  8. [单刷APUE系列]第四章——文件和目录[1]
  9. VS C++ memcpy() 用于double、int、结构体
  10. BZOJ5192[Usaco2018 Feb] New Barns
  11. 虚拟光驱安装服务器无法运行,Win7新装虚拟光驱无法打开的解决方法
  12. matlab中zeros()函数与ones()函数用法
  13. 医学影像研究的重要性 计算机,计算机辅助医学影像诊查之关键学习技术研究.doc...
  14. 南方周末:股神炒股一周年祭 24万本金仅剩7千
  15. python处理颜色rgb_python – 根据RGB值更改图像的颜色
  16. Oracle数据库查询数据语法
  17. 假如易立竞吐槽程序员。。。
  18. 快讯:好奇号火星车传来喜讯
  19. 外包企业名录 - List of Outsourcing Enterprises
  20. Eclipse中java文件图标变成空心J如何解决

热门文章

  1. 工程桩基围护知识_地基基础工程专业承包资质
  2. java 查看虚拟机状态_深入理解java虚拟机学习笔记(四)虚拟机性能监控与故障处理工具...
  3. java filehelper_Java常用工具类---IP工具类、File文件工具类
  4. linux中文件打包压缩,linux在文件打包和压缩
  5. 报错, liquibase.exception.ValidationFailedException: Validation Failed
  6. 无心剑中译叶芝诗17首
  7. 二级VB培训笔记10:知识点串讲
  8. 西奥妮·帕帕斯《天天数学》
  9. 【BZOJ1082】【codevs2456】栅栏,让人抓狂的优化剪枝
  10. 【codevs3110】一把鼻涕一把泪的堆排序