20240518模拟赛

news/2025/1/12 5:55:56/文章来源:https://www.cnblogs.com/junjunccc/p/18199335

C240518A. 传送门(portal)

构造一个图使得点\(1\)\(2\)的最短路正好有\(k\)条,使构造出的图点的个数\(N\le n_5\)

考虑\(k=2^t\)那么可以轻松构造出如下的图

pkuBB4J.png

对于其他的情况可以考虑二进制拆分,如\(k=10\)时为了,使最短路长度固定加入点\(9\)

pkuB0N4.png

\(k=10^9\),只需构造\(80\)个点,可以通过

(考场时一直以为是要构造的图的边数小于\(165\),想了差不多一个小时

代码:

#include<cstdio>
int k,n1,n2,n3,n4,n5;
int N,M,top,a[50],low;
struct Edge{int u,v;Edge(){}Edge(int x,int y){u=x,v=y;}
}edge[1005];
int main(){scanf("%d%d%d%d%d%d",&k,&n5,&n4,&n3,&n2,&n1);if(k==1)printf("2 1\n1 2");else if(k==2)printf("4 4\n1 3\n1 4\n2 3\n2 4");else if(k==3)printf("5 6\n1 3\n1 4\n1 5\n2 3\n2 4\n2 5");else{while(k)a[top]=k&1,top++,k>>=1;for(int i=31;~i;i--)if(a[i]){top=i;break;}for(int i=0;i<32;i++)if(a[i]){low=i;break;}edge[++M]=Edge(1,3);edge[++M]=Edge(1,4);for(int i=2;i<=top;i++){edge[++M]=Edge(i*2-1,i*2+1);edge[++M]=Edge(i*2-1,i*2+2);edge[++M]=Edge(i*2,i*2+1);edge[++M]=Edge(i*2,i*2+2);}N=2*top+2;edge[++M]=Edge(2,N);edge[++M]=Edge(2,N-1);if(top!=low){N++;edge[++M]=Edge(1,N); if(a[top-1]){edge[++M]=Edge(N,5);edge[++M]=Edge(N,6);}if(low==0){for(int i=top-2;i>=1;i--){N++;edge[++M]=Edge(N-1,N);if(a[i]){edge[++M]=Edge(N,(top-i+1)*2+1);edge[++M]=Edge(N,(top-i+1)*2+2);}}N++;edge[++M]=Edge(N-1,N);edge[++M]=Edge(N,2);}else{for(int i=top-2;i>=low;i--){N++;edge[++M]=Edge(N-1,N);if(a[i]){edge[++M]=Edge(N,(top-i+1)*2+1);edge[++M]=Edge(N,(top-i+1)*2+2);}}}}printf("%d %d\n",N,M);for(int i=1;i<=M;i++)printf("%d %d\n",edge[i].u,edge[i].v);}return fflush(stdout),fclose(stdin),fclose(stdout),0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/708208.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『手撕Vue-CLI』添加帮助和版本号

前言 经过上一篇『手撕Vue-CLI』编码规范检查之后,手撕 Vue-CLI 已经进阶到了代码规范检查这一步,已经将基本的工程搭建好了,然后代码规范约束也已经加入了,并且将 nue-cli 指令绑定到了全局当中,可以在任何地方使用了。 正文 接下来这篇文章呢,就要来实现一下大多数的命…

ASE180N08-ASEMI低压N沟道MOS管ASE180N08

ASE180N08-ASEMI低压N沟道MOS管ASE180N08编辑:ll ASE180N08-ASEMI低压N沟道MOS管ASE180N08 型号:ASE180N08 品牌:ASEMI 批号:2024+ 沟道:N沟道 导通内阻RDS(ON)Max:4.0mΩ 启动电压:2V-4V 最大漏源电流(Id):180A 漏源击穿电压(VRM):80V 正向电压:1.3V 特性:低…

垂直关系转化思维导图

线线、线面、面面垂直关系转化思维导图前言 使用方法:如果想得到更好的显示效果,可以点击全屏按钮,已经实现电脑端、手机端的适配,效果很好;电视端没有实现适配,Ipad端的适配没有测试; 思维结构图全屏 相关说明 内容继续编辑完善中,源文件存放在 draw.io 上。

C++学习----make

基本规则:touch main.c add.c sub.c add.h sub.h #新建以上文件 main函数: int main(void) {return 0; } Makefile文件: main:main.o add.o sub.ogcc -Wall -g main.o add.o sub.o -o main main.o:main.cgcc -Wall -g -c main.c -o main.o add.o:add.c add.hgcc -Wall -g -c …

logstash

遇到的问题:环境: 配置:input {beats {port=>5044codec=>plain{charset=>"UTF-8"}} }filter {mutate {remove_field => ["host","input","@timestamp","ecs","tags","agent","@ve…

2024.5.18 杂题

2024.5.18 杂题 「SMOI-R1」Apple 两个操作,修改元素,求子集和。 高位前缀和不会。考虑朴素 dp 转移 设 \(f[i]\) 表示二进制下长度为 \(n\) 的数前 \(i\) 位为 \(1\),后边为 \(0\) 的子集和。理论来说可以转移,但是比较麻烦,考虑优化状态,\(f[i][j]\) 表示前 \(\frac{n}…

【日记】母亲生日,我在跟数字人民币 Battle(612 字)

正文昨天跟奇安信 Battle,今天跟数字人民币 Battle。鬼知道数字人民币客户端怎么写的,我弄了一天,隐藏 Root,禁止读取应用列表,权限开放,用另一个手机或 iPad 登陆,都不行。全在提示 “检测到环境异常,暂无法提供数字人民币服务”。最后给我逼急了,用另外两个同事手机…

【工具使用】【Arthas】平时经常使用到的命令

1 前言 Arthas,应该大家都用过吧,比如我最近项目 uat 的时候,要查看某些请求比较耗时,查看耗时在哪些地方,再比如一些配置变量值配置的对不对尤其跟一些第三方交互的时候,配置的对不对需要实时查看校验下等,都可以通过Arthas 查看。 Arthas 地址:使用文档 Arthas 的下…

C++学习----gcc

gcc编译步骤 静态库使用步骤 hello_fn.h #ifndef _HELLO_FN_H #define _HELLO_FN_Hvoid hello(const char* name);#endif hello_fn.c #include <stdio.h> #include "hello_fn.h"void hello(const char* name) {printf("hello %S!!!\n", name); } ma…

Less靶场SQL注入通关宝典

这篇文章是一个 sqil-labs 靶场的保姆级教学,从安装、配置、场景通关都有详细的介绍,其中场景通关是我们这篇文章的重点。 首先我们要了解 sqli-labs 靶场是什么?sqli-labs 靶场是刚刚接触 SQL 注入的新手,了解 SQL 注入、练习 SQL 注入的一个很方便,很实用的一个靶场,配…

ASE160N08-ASEMI低压N沟道MOS管ASE160N08

ASE160N08-ASEMI低压N沟道MOS管ASE160N08编辑:ll ASE160N08-ASEMI低压N沟道MOS管ASE160N08 型号:ASE160N08 品牌:ASEMI 封装:TO-247 批号:2024+ 沟道:N沟道 导通内阻RDS(ON)Max:4.2mΩ 启动电压:2V-4V 最大漏源电流(Id):160A 漏源击穿电压(VRM):80V 安装方式:…

(FPGA) XCKU15P-1FFVE1517E XCKU15P-3FFVE1517E XCKU15P-2FFVE1517E IC适用于智能IP集成的SmartConnect技术

Kintex UltraScale+™ FPGA为需要高端功能(包括 33Gb/s 收发器和 100G 连接内核)的应用提供了经济高效的解决方案。Kintex™ UltraScale+™ 器件在 FinFET 节点中提供高性价比,为需要高端功能(包括 33Gb/s 收发器和 100G 连接内核)的应用提供了经济高效的解决方案。该中端…