首页 > 其他分享 >CF819E Mister B and Flight to the Moon(构造题)

CF819E Mister B and Flight to the Moon(构造题)

时间:2024-07-03 11:45:03浏览次数:20  
标签:std 连边 Flight long Moon add CF819E Mister define

CF819E Mister B and Flight to the Moon

构造题

考虑从小推到大。容易得出 \(n=3\) 和 \(n=4\) 的构造方案,如果每次只增加一个点,那么必然会再次覆盖已经完成的边。所以考虑每次增加两个点 \(a\)、\(b\),那么增加的边有:

  1. 它们会向之前所有的点连边。
  2. 增加边 \((a,b)\)。

对于点对 \((1,2)\) 这样的 \((i-1,i)\),可以构造出连两次 \((a,b,i-1,i)\) 的连边方式,每次可以完成 \((a,i-1)\)、\((a,i)\)、\((b,i-1)\)、\((b,i)\)。

对于 \(n\) 为偶数的情况,上面的连边方式可以刚好满足 “它们会向之前所有的点连边” 这些边,并且还剩下 \((a,b)\) 没连,这时候把 \((1,a,b,2)\) 的环拆成 \((a,b,1)\) 和 \((a,b,2)\) 即可。

对于 \(n\) 为奇数的情况,从 \(n=3\) 拓展,让它余下 \(1\) 这个点,对于点对 \((2,3)\) 这样的 \((i-1,i)\) 可以和上面一样完成,并且还剩下 \((a,b)\) 没连,这时候用两次 \((a,b,1)\) 就好了。

复杂度 \(O(n^2)\)。

#include <bits/stdc++.h>
#define pii std::pair<int, int>
#define mk std::make_pair
#define fi first
#define se second
#define pb push_back

using i64 = long long;
using ull = unsigned long long;
const i64 iinf = 0x3f3f3f3f, linf = 0x3f3f3f3f3f3f3f3f;

int n;
std::vector<std::vector<int> > ans;
void add(std::vector<int> p) {
	ans.pb(p);
}
int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
	std::cin >> n;

	if(n & 1) {
		add({1, 2, 3});
		add({1, 2, 3});
		for(int i = 5; i <= n; i += 2) {
			int s = i, t = i - 1;
			add({s, 1, t});
			add({s, 1, t});
			for(int j = 2; j <= i - 3; j += 2) {
				add({s, j, t, j + 1}), add({s, j, t, j + 1});
			}
		}
	} else {
		add({1, 2, 3});
		add({1, 2, 4});
		add({2, 3, 4});
		add({1, 3, 4});
		for(int i = 6; i <= n; i += 2) {
			int s = i, t = i - 1;
			add({s, 1, t}), add({s, 2, t});
			add({s, 1, t, 2});
			for(int j = 3; j <= i - 3; j += 2) {
				add({s, j, t, j + 1}), add({s, j, t, j + 1});
			}
		}
	}
	std::cout << ans.size() << "\n";
	for(int i = 0; i < ans.size(); i++) {
		std::cout << ans[i].size() << " ";
		for(auto x : ans[i]) std::cout << x << " ";
		std::cout << "\n";
	}

	return 0;
}

标签:std,连边,Flight,long,Moon,add,CF819E,Mister,define
From: https://www.cnblogs.com/FireRaku/p/18281297

相关文章

  • preflight 错误,但服务端告诉你已经设置过了 CORS 信息怎么办
    开发过程遇到一个问题异步去一个cdn上请求一个自定义JSON格式的文件报了一个preflight错误hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:ItdoesnothaveHTTPokstatus但当我在开发者工具内直接使用fetch(u......
  • Singleflight(合并请求)
    简介看到一个有意思的库:SingleFlight是Go语言提供的一个扩展包。作用是当有多个goroutine同时调用同一个函数的时候,只允许一个goroutine去调用这个函数,等到这个调用的goroutine返回结果的时候,再把结果返回给这几个同时调用的goroutine,这样可以减少并发调用的数量。Singleflight......
  • CF241E Flights
    CF241EFlights边权转点权+差分约束显然图中不在\(1\)到\(n\)路径上的边是不会影响答案的,所以现在只考虑\(1\)到\(n\)路径上的边。然后就有重要性质,图中\(1\)到\(n\)的所有路径的航程相同可以转化为,对于每个在\(1\)到\(n\)某条路径上的\(u\),都有\(1\)到\(u......
  • 使用@lakehouse-rs/flight-sql-client nodejs api 快速访问dremio 服务
    @lakehouse-rs/flight-sql-client是基于rust开发的nodearrowflightsqlclient,dremio目前也是推荐基于arrowflightsql的访问模式参考代码package.json{"name":"node-arrow-flight-sql","version":"1.0.0","ma......
  • Redirect is not allowed for a preflight request 跨域问题的一个解决思路
    一、前置知识首先,我们应当明确一下这个报错究竟是什么问题当我们需要跨域(当两个页面的协议,主机和端口号有任意一个不相同时)请求资源,且为非简单方法(比如方法为HEAD、GET、POST之外)时,会向服务器发送预检请求。预检请求方法为OPTIONS,用来检测服务器所支持的请求方法。在预检......
  • IOS开发——构建版本发布到TestFlight后邀请人员安装App测试流程
    关于打包上传TestFlight详见: IOS开发Archives打包后构建版本发布到TestFlight全流程。这里详细说明发布到TestFlight后邀请人员安装App进行测试。1.创建测试组:登录上AppStoreConnect之后,选择App,切换到TestFlight界面,点击左侧导航中”内部测试“栏目右边蓝色的添加图标......
  • IOS开发Archives打包后构建版本发布到TestFlight全流程
    前言:构建版本之前一定要先配置好项目icons,不然会报错。1.选择需要构建的包之后,点击右侧的DistributeApp按钮:2.Selectamethodofdistribution界面,选择AppStoreConnect(要发布到TestFlight需要选这个)3.Selectadestination——选择Upload(如果选择Export,则需要自己用......
  • Xcode15打包导致:App Store/TestFlight,iOS 13以下安装崩溃问题处理
     热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!Xcode15打包导致:AppStore/TestFlight,iOS13以下安装崩溃问题处理。1、项目 -> BuildSettings->ALL->OtherLinkerFlags添加:-ld64。2、若使用Cocoapods,选择Pod项目,在Build......
  • 测试Flight登陆界面(4)
    测试Flight登陆界面(4)一、实验目的二、实验的步骤和方法1、测试用例设计2、录制测试脚本3、测试脚本一、实验目的1)掌握QTP的基本功能的使用2)学习QTP测试脚本的编辑3)通过此案例掌握QTP功能测试的方法二、实验的步骤和方法1、测试用例设计测试用例要求:用户......
  • IfcRampFlightTypeEnum
    IfcRampFlightTypeEnum类型定义此枚举定义IfcRampFlight或IfcRampFlightType对象可以实现的不同类型。 IFC2x2中的新枚举。 EnumerationdefinitionConstantDescriptionSTRAIGHTArampflightwithastraightwalkingline.SPIRALArampflightwithacircul......