CCO2017 Vera and Trail Building 构造+图论

正解:构造+图论

解题报告:

这题好像只有这儿有QwQ

这题好像麻油翻译,,,我先翻译下QAQ

一个图上,如果存在(a,b)满足a<b且存在从a到b再回到a的路径,每条道路被经过至多一次,我们称(a,b)为完美点对
试构造一个点数和边数不超过5000的无向连通图,其完美点对数量恰好为K

k<=107

昂这题也比较简单啊,,,就每次都尽量大地构边双联通分量

然后把他们连起来就好辣

显然连起来是不会构造完美点对的

然后关于边双联通分量,可以得到当有n个点的时候完美点对的数量为n(n-1)/2

然后就好辣?

over!

原文地址:https://www.cnblogs.com/lqsukida/p/10357378.html

时间: 2024-08-30 18:05:22

CCO2017 Vera and Trail Building 构造+图论的相关文章

Johnny Solving CodeForces - 1103C (构造,图论)

大意: 无向图, 无重边自环, 每个点度数>=3, 要求完成下面任意一个任务 找一条结点数不少于n/k的简单路径 找k个简单环, 每个环结点数小于n/k, 且不为3的倍数, 且每个环有一个特殊点$x$, $x$只属于这一个环 任选一棵生成树, 若高度>=n/k, 直接完成任务1, 否则对于叶子数一定不少于k, 而叶子反向边数>=2, 一定可以构造出一个环 #include <iostream> #include <algorithm> #include <c

灵巧の每日计划!

maya任务太多辣,,,所以决定每天计划下第二天要做什么,,,不然太颓辣QAQ 2.8 [ ]AC自动机搞完(8:00pm [ ]考试题目落实(9:30pm [ ]单调队列搞完(10:30pm 2.9 [ ]构造图论搞完(上午 [ ]点分治初涉猎(下午 [ ]贪心学习总结(晚上 原文地址:https://www.cnblogs.com/lqsukida/p/10356597.html

ACM学习历程—BNUOJ3685 Building for UN(构造)

The United Nations has decided to build a new headquarters in Saint Petersburg, Russia. It will have a form of a rectangular parallelepiped and will consist of several rectangular floors, one on top of another. Each floor is a rectangular grid of the

CodeForces 22C System Administrator 小水怡情 图论+构造

题目链接:点击打开链接 构造一个星形图+一个完全图就好了.. #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <iostream> #include <map> #include <set> #include <math.h> using namespace std; #define inf

uva1605 - Building for UN(构造法)

这道题构造出的结果很妙,考察思维能力.就两层,每层都n*n个格子,第一层第i行都放国家i,第二层第j列都放国家j. 需要注意的是ASCII中A至Z在a至z的前面(数字小),而且它们两组不挨着.所以需要char c(int i)这个函数. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<map>

(白书训练计划)UVa 1605 Building for UN(构造法)

题目地址:UVa 1605 一道答案特判的题.最简单的方法是只构造两层,第一层中第i行全是i国家,第二层中第i列全是i国家.这样就保证了所有的国家都会相邻. 代码如下: #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <stdlib.h> #include <math.h> #include <ctype.h&

UVA-1605 Building for UN (构造)

题目大意:n个国家的人要在一栋大厦里办公,要求任意两个国家的办公室要相邻(同层同边或邻层同面),设计一个满足要求的方案. 题目分析:题目限制较少,任意构造出一个解即可. 代码如下: # include<iostream> # include<cstdio> # include<cstring> # include<algorithm> using namespace std; int main() { int n,flag=0; while(~scanf(&

UVa1605 - Building for UN(构造)

题目大意:有n个国家,要求你设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的 解题思路:刚开始以为很复杂,被样例给误导了,加上题意没审清,以为房间相邻必须在同一层...就这样被坑了好久 只需要设计两层就可以了,每个国家占第一层的每一行,占第二层的每一列,这样的话就既满足联通又相邻了 #include<cstdio> #include<cstring> #define maxn 60 char ans[maxn]="ABCDE

UVa 1605 (构造) Building for UN

题意: 有n个国家,要设计一栋长方体的大楼,使得每个单位方格都属于其中一个国家,而且每个国家都要和其他国家相邻. 分析: 紫书上有一种很巧妙的构造方法: 一共有2层,每层n×n.一层是每行一个国家,另一层是每列一个国家. 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 const int maxn = 50; 7 char b[2][max