D. Regular Bridge 解析(思維、圖論)
Codeforce 550 D. Regular Bridge 解析(思維、圖論)
今天我們來看看CF550D
題目連結
題目
給你一個\(k\le100\),請構造出一個至少有一個Bridge的,每個點的degree都是\(k\)的無向圖。
前言
學到了Handshaking Lemma

想法
首先既然要有一個Bridge,我們就從已經有一個Bridge的圖開始構造。
可能會發現到\(k=2\)無解,而\(k=3\)(\(k\)是奇數)有以下這個解(我一開始根本沒想到):
首先只考慮Bridge的一邊,然後必然有\(k-1=2\)條邊連出去,接著我們再多連出去一個點(2---4,3---5),然後\(leaf(點4,5)\)連到右方所有還沒滿的點,接著\(leaf\)再兩兩連起來。

接著證明當\(k\mod 2=0\)時無解:首先只考慮Bridge的一邊,接著我們會發現連接Bridge的那個點的度數是\(k-1\),是奇數,而其他點的度數都是\(k\),是偶數。根據Handshaking Lemma,無解。(如果不知道這個Lemma也可以直接證明不存在,只是比較繁瑣)
程式碼:
const int _n=1e6+10;
int t,n,k;
vector<PII> e;
main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>k;if(k%2==0){cout<<"NO\n";return 0;}
rep(i,2,k+1)e.pb({1,i});rep(i,k+1,2*k)rep(j,2,k+1)e.pb({i,j});
for(int i=k+1;i<=2*k-2;i+=2)e.pb({i,i+1});
cout<<"YES\n"<<4*k-2<<' '<<2*SZ(e)+1<<'\n';
rep(i,0,SZ(e))cout<<e[i].fi<<' '<<e[i].se<<'\n';
rep(i,0,SZ(e))cout<<e[i].fi+2*k-1<<' '<<e[i].se+2*k-1<<'\n';
cout<<1<<' '<<2*k<<'\n';
return 0;
}
標頭、模板請點Submission看
Submission
D. Regular Bridge 解析(思維、圖論)的更多相关文章
- E. Almost Regular Bracket Sequence 解析(思維)
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向 ...
- C. Bank Hacking 解析(思維)
Codeforce 796 C. Bank Hacking 解析(思維) 今天我們來看看CF796C 題目連結 題目 略,請直接看原題. 前言 @copyright petjelinux 版權所有 觀 ...
- E. Xenia and Tree 解析(思維、重心剖分)
Codeforce 342 E. Xenia and Tree 解析(思維.重心剖分) 今天我們來看看CF342E 題目連結 題目 給你一棵樹,有兩種操作,把某點標成紅色或者查詢離某點最近的紅點有多遠 ...
- B. Once Again... 解析(思維、DP、LIS、矩陣冪)
Codeforce 582 B. Once Again... 解析(思維.DP.LIS.矩陣冪) 今天我們來看看CF582B 題目連結 題目 給你一個長度為\(n\)的數列\(a\),求\(a\)循環 ...
- A. Peter and Snow Blower 解析(思維、幾何)
Codeforce 613 A. Peter and Snow Blower 解析(思維.幾何) 今天我們來看看CF613A 題目連結 題目 給你一個點\(P\)和\(n\)個點形成的多邊形(照順或逆 ...
- B. Two Fairs 解析(思維、DFS、組合)
Codeforce 1276 B. Two Fairs 解析(思維.DFS.組合) 今天我們來看看CF1276B 題目連結 題目 給一個連通圖,並給兩個點(\(a,b\)),求有多少點對使得:任一路徑 ...
- B. Game of the Rows 解析(思維)
Codeforce 839 B. Game of the Rows 解析(思維) 今天我們來看看CF839B 題目連結 題目 有如下圖片所示的飛機座位\(n\)排,和\(k\)隊士兵,每隊數量不一定. ...
- F. Make It Connected 解析(思維、MST)
Codeforce 1095 F. Make It Connected 解析(思維.MST) 今天我們來看看CF1095F 題目連結 題目 給你\(n\)個點,每個點\(u\)還有一個值\(a[u]\ ...
- A. Arena of Greed 解析(思維)
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿, ...
随机推荐
- C++ (C#)实现获取NX PART预览图
VS环境下 C++版本: 1 int GetPreviewImage(const TCHAR* prtFile, const TCHAR* imageFile) 2 { 3 IStorage* pSt ...
- 学习OpenGL
重要!!! OpenGL新人一枚,希望可以再此和大家分享有用的知识,少走弯路 文章会定期更新,把前面几段已经整理过的知识更完后,接下来每周至少会更两次. 文章如果有不对的,理解错误的地方,也非常希望在 ...
- 用Docker swarm快速部署Nebula Graph集群
用Docker swarm快速部署Nebula Graph集群 一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准 ...
- 基础篇:JAVA资源之IO、字符编码、URL和Spring.Resource
目录 1 JAVA.IO字节流 2 JAVA.IO字符流 3 乱码问题和字符流 4 字符集和字符编码的概念区分 5 URI概念的简单介绍 6 URL概念及与URL的区别 7 Spring.Resour ...
- MySQL系列:Docker安装 MySQL提示错误:Access denied for user'root'@'localhost' (using password:yes)
问题: 解决方法: 在my.conf文件里配置 [mysqld] skip-grant-tables
- Windows10系统下wsappx占用CPU资源过高?wsappx是什么?如何关闭wsappx进程?
在Windows10系统开机的时候,wsappx进程占用的CPU资源非常高,导致电脑运行速度缓慢,那么我们如何关闭wsappx进程,让电脑加快运行速度呢?下面就一起来看一下操作的方法吧. [现象] 1 ...
- 下载 node.js 步骤 bower npm 报错解决
1,下载node.js ,安装之后就可以 了 2,解决"npm不是内部或外部命令" ,打开安装的node.js 的文件夹 将这个地址,放在环境变量里面 <1,属性环境 ...
- thinkphp5 chunk 分块处理数据小坑
场景: 使用chunk方法进行分块查询写入数据,执行发现chunk分几条一次处理 数据库就插入几条,并没有return false; 代码如下 解决方法: 增加排序字段
- TMS, XYZ & WMTS的不同
WMS是OGC定义的协议,用于请求任意区域的渲染地图图像.客户可以根据需要以平铺模式对其进行请求. WMS-C是OSGeo创建的WMS扩展,它向功能文档中添加了元数据,以使客户端知道在哪里发出请求,从 ...
- linux系统上用户态pppoe收发包过程
花了几天看了一下ppp/pppoe有关的东西,画了一下用户态pppoe收发包的示意图.