首页 > 其他分享 >【CF1773K】King‘s Puzzle(构造)

【CF1773K】King‘s Puzzle(构造)

时间:2024-06-20 17:12:56浏览次数:23  
标签:度数 King 倒数 ... int Puzzle tot 第二个 CF1773K

King‘s Puzzle

题目链接:CF1773K

题目大意

要你构造一个 n 个点的无向图,让所有点之间连通且无重边,且所有点的度数恰好有 k 种。
输出方案或无解。

思路

高考完来复建了/hsh

首先发现全部连成环就是 \(m=1\)。
然后思考最多能有多少种度数。

然后发现除了 \(1\ 1\) 可以之外,一定要有 \(k<n\),而且似乎一定能构造出 \(k=n-1\) 的情况。
于是尝试构造:

考虑先连成一条线,那度数就是 \(1\ 2\ ...\ 2\ 1\) 的样子,一共 \(2\) 种。
然后如果要增加种数,可以把第一个和倒数第二个连,变成 \(2\ 2\ ...\ 3\ 1\)。
发现如果继续把第二个和倒数第二个连,就会变成 \(2\ 3\ ...\ 4\ 1\),就又多一种情况。
不过把第三个和倒数第二个连了还是 \(4\) 种度数,不过如果一直连到倒数第四个和倒数第二个(倒数第三个本来就和倒数第二个连),就会发现度数变成了:\(2\ 3\ ...\ 3\ 2\ n-1\ 1\)
发现前面的 \(2\ 3\ ...\ 3\ 2\) 其实是和 \(1\ 2\ ...\ 2\ 1\) 同一个形式而且这里面也是一条链,并且倒数第二个的 \(n-1\) 在这里面会是最大的,因为它连了里面的其他所有点,而前面的点内部再怎么连也不会和最后一个点连。

所以前面的点就能保证不会和 \(1\) 和 \(n-1\) 重复,并且变成了大小为 \(n-2\) 的情况了。
那就一路递归下去构造,直到种数为题目的 \(k\) 即可停止。

代码

#include<cstdio>

using namespace std;

const int N = 500 * 500 + 50;
int n, m, tot;
int answ[N][2];

void ansadd(int x, int y) {
	tot++;
	answ[tot][0] = x; answ[tot][1] = y;
}

void ansprint() {
	printf("YES\n");
	printf("%d\n", tot);
	for (int i = 1; i <= tot; i++) {
		printf("%d %d\n", answ[i][0], answ[i][1]);
	}
}

void work(int l, int r, int nd) {
	if (!nd) return ;
	ansadd(l, r - 1); nd--;
	if (!nd) return ;
	for (int i = l + 1; i <= r - 3; i++) ansadd(i, r - 1);
	work(l, r - 2, nd - 1);
}

int main() {
	scanf("%d %d", &n, &m);
	if (n == 1) {//注意特判 1 1
		printf("YES\n");
		printf("0");
		return 0;
	}
	if (n == m) {
		printf("NO"); return 0;
	}
	if (m == 1) {
		for (int i = 1; i < n; i++) {
			ansadd(i, i + 1);
		}
		if (n != 2)	ansadd(1, n);
		ansprint();
		return 0;
	}
	for (int i = 1; i < n; i++) {
		ansadd(i, i + 1);
	}
	work(1, n, m - 2);
	ansprint();
	return 0;
}

标签:度数,King,倒数,...,int,Puzzle,tot,第二个,CF1773K
From: https://www.cnblogs.com/Sakura-TJH/p/18259019/CF1773K

相关文章

  • flask-SQLAlchemy解决报错 Working outside of application context.
    尝试想要写自己的自动化测试框架,使用的是flask,想要使用SQLAlchemy实现数据库的模型映射,但是按照官方文档创建好module后执行时,会报错Workingoutsideofapplicationcontext.经过一番查找,存在flask的上下文问题,以下是解决过程官网案例:http://www.pythondoc.com/flask-sqlalche......
  • DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intellig
    DeepSeek-Coder-V2:BreakingtheBarrierofClosed-SourceModelsinCodeIntelligence相关链接:arxivgithub关键字:开源、代码智能、混合专家模型(MoE)、编程语言支持、上下文长度扩展摘要我们介绍了DeepSeek-Coder-V2,这是一个开源的混合专家(MoE)代码语言模型,其性......
  • CatGPT Puzzle
    规则简述一个Nonogram谜题包含一个\(m*n\)大小的空白方格矩阵,以及在表格每一行右侧、每一列下方的一组线索数.每组都有一个或多个数字,这些数字就是解题的线索.要想解开Nonogram谜题,要做的就是解读这些线索数,并把与之对应的空格涂黑.线索数会提示你要在对应的行或者列涂......
  • Sigir2024 ranking相关论文速读
    简单浏览一下Sigir2024中与ranking相关的论文。不得不说,自从LLM大热后,传统的LTR方向的论文是越来越少了,目前不少都是RAG或类似场景下的工作了,比如查询改写、rerank等。目录TheSurprisingEffectivenessofRankersTrainedonExpandedQueriesCanQueryExpansionImproveGene......
  • Oracle报错:“Error in invoking target ‘agent nmhs’ of makefile...”
    Oracle报错:“Errorininvokingtarget‘agentnmhs’ofmakefile...”  前言:Oracle在安装过程中的报错一定要重视,这决定你后续是否能完成安装以及是否能使用。我这边会陆续汇总一些报错现象以及解决方案共享。##InstallProduct86%报错信息:“Errorininvokingtarget'......
  • Kingbase单表加密
    开启Kingbase的加密插件修改kingbase.conf,找到shared_preload_libraries配置项,增加sysencrypt插件,多个插件用半角逗号隔开。示例:shared_preload_libraries='liboracle_parser,synonym,plsql,force_view,kdb_flashback,plugin_debugger,plsql_plugin_debugger,plsql......
  • 人大金仓kingbase部署&测试
    人大金仓KingBase安装&部署为了方便,我们这里使用docker方式进行kingbase部署,其中kingbase使用的版本为v8r6#1.下载docker镜像dockerpullwarm3snow/kingbase:v8r6#2.创建本地数据目录mkdir-p/opt/kingbase/data#3.启动kingbasedockerrun-d--namekingbasev......
  • [Cloud Networking] Layer 2
    目录1.什么是MacAddress?2.如何查找MAC地址?3.二层数据交换1.什么是MacAddress?MAC地址是计算机的唯一48位硬件编码,嵌入到网卡中。MAC地址也称为网络设备的物理地址,在IEEE802中规定,数据链路层分为逻辑链路控制(LLC)子层和媒体控制访问(MAC)子层。MAC地址由数据链路层的......
  • Attacking organizations with big scopes: from zero to hero -- by Hussein Daher
    SRC意识:1.模仿与抄袭某个知识点,某个writeup,某个主题,某个赏猎报告等;2.对现网中所有实际SRC目标进行遍历;3.枯草且乏味的持之以恒的坚持前面的第1步与第2步。错误的SRC意识:学了OWASPTOP10和BP官网靶场的所有漏洞主题之后依旧在SRC方面没有表现出应该具备的自信心?错误的做法在于,选......
  • Honor of Kings 2024.06.03 50star (S35) AFK
    HonorofKings2024.06.0350star(S35)AFK来个赛季S35总结吧,这个赛季结束以后,可能要和【魔兽世界】一样AFK了,手游来说肯定没法子和WOW相比,干啥都是有队友才好玩。单排荣耀王者,基本都是肉肉队伍我玩的基本都是肉,爆发强的英雄,最好可以是万金油,免控那种无脑我不怎么玩......