首页 > 其他分享 >【刷题笔记】[BalticOI 2024] Portal

【刷题笔记】[BalticOI 2024] Portal

时间:2024-11-19 17:07:26浏览次数:1  
标签:return tx ty 传送门 ll 2024 Portal BalticOI 图形

【刷题笔记】[BalticOI 2024] Portal

\(Solution\)

先注意到,题目中的图形是许多的自相似图形,要求能满足要求的单位图形的最大面积
先考虑只有一维的情况, 设几个传送门的坐标为 \((a_i,0)\) ```

发现将整个图形平移后答案不会改变,所以不妨把一个传送门移动到 \((0,0)\)
可以发现单位图形的长度为所有点横坐标的 \(gcd\)
再考虑二维的情况,首先注意到一个性质
将点 \((x_i,y_i)\) 移动到 \((x_i-k\times{x_j}, y_i-k\times{y_j})\) 答案不变
看下面一个图

其中传送门的坐标为 \((0,0)\) , \((2,7)\) , \((3,2)\)
我们可以从 \((0,0)\), 不停传送到 \((3,2)\) 然后再走回来, 相当于不停地从 \((2,7)\) 往下走 \(2\) 个单位,再往左走 \(3\) 个单位。
于是我们就可以将所有的传送门变为以下三种形式 \((a,b)\) , \((x,0)\), \((0,0)\)
把点转移到 \(x\) 轴上的过程类似于辗转相除
最后的答案就是

\[gcd(x_i)\times{b} \]

如果答案为 \(0\) ,就说明没有宽的限制后没有长的限制,于是就会有无数个,输出 \(-1\)

\(Code\)

#include<bits/stdc++.h>
#define maxn 100010
#define ll __int128
using namespace std;
ll n, x[maxn], y[maxn], tx = -1, ty = -1;
ll ans = 0;
ll read(){
	char ch=getchar();
	ll s=0,f=1;
	while(ch>'9'||ch<'0'){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch<='9'&&ch>='0'){
		s=(s<<3)+(s<<1)+ch-'0';
		ch=getchar();
	}
	return s*f;
}
void write(ll x){
	if(x<0)putchar('-'),x=-x;
	if(x>9)write(x/10);
	putchar(x%10+'0');
	return;
}
ll abs(ll a){
	if(a > 0) return a;
	return a = -a;
}
void work(ll x, ll y){
	while(ty){
		ll cur = y / ty;
		x -= cur * tx; y -= cur *ty;
		swap(x, tx); swap(y, ty);
	}
	ans = __gcd(ans, abs(tx));
	tx = x, ty = y;
}
int main(){
 	n = read();
	for(int i = 1; i <= n; i++){
		x[i] = read(); y[i] = read();
		if(i > 1){
			x[i] -= x[1];
			y[i] -= y[1];
		}
	}
	tx = x[2], ty = y[2];
	for(int i = 3; i <= n; i++){
		work(x[i], y[i]);
	}
	if(ans * abs(ty) != 0) write(ans * abs(ty));
	else write(-1);
	return 0;
}

标签:return,tx,ty,传送门,ll,2024,Portal,BalticOI,图形
From: https://www.cnblogs.com/GSNforces/p/18555231

相关文章

  • 帝国CMS存在SQL注入漏洞(CNVD-2024-4321448、CVE-2023-50073)
    帝国CMS(EmpireCMS )是一款非常出名的网站管理系统,用户也非常多。 国家信息安全漏洞共享平台于2024-11-06公布其存在SQL注入漏洞。漏洞编号:CVE-2024-44725、CNVD-2024-43215影响产品:帝国CMSV7.5漏洞级别:高公布时间:2024-11-06漏洞描述:帝国CMS v7.5版本存在SQL注入漏洞,该漏......
  • SeaCMS(海洋CMS)跨站脚本漏洞(CNVD-2024-39583、CVE-2024-44683)
    SeaCMS(海洋CMS)是一款开源免费PHP影视系统,该系统主要被设计用来管理视频点播资源,因其功能强大,操作使用简单,拥有大量用户。 国家信息安全漏洞共享平台于2024-09-29公布其存在跨站脚本漏洞。漏洞编号:CNVD-2024-39583、CVE-2024-44683影响产品:SeaCMS(海洋CMS)13.0漏洞级别:中公布......
  • 2024.11.19 模拟赛
    11.19模拟赛题目质量点赞!好题!storm普及组模拟题god有趣的dp题key:考察相对位置设计状态\(f(i,j)\)表示考虑后\(i\)个操作,经过了相对坐标为\(j\)的点的概率。转移中,如果这一步不动,相对坐标不变;否则,相对坐标整体平移。答案就是\(f(n,j)\)。fate瞎搞贪心题显然从......
  • SeaCMS(海洋CMS)存在MySQL慢查询漏洞(CNVD-2024-39253、CVE-2024-46640)
    SeaCMS(海洋CMS)是一款开源免费PHP影视系统,因其功能强大,操作使用简单,拥有大量用户。 国家信息安全漏洞共享平台于2024-09-26公布其存在MySQL慢查询漏洞。漏洞编号:CNVD-2024-39253、CVE-2024-46640影响产品:SeaCMS(海洋CMS) 13.2漏洞级别:高公布时间:2024-09-26漏洞描述:攻击者可......
  • ZZCMS存在SQL注入漏洞(CNVD-2024-43213、CVE-2024-10291)
    ZZCMS是一款用于搭建招商网站的CMS系统,由PHP语言开发。 国家信息安全漏洞共享平台于2024-11-06公布其存在SQL注入漏洞。漏洞编号:CNVD-2024-43213、CVE-2024-10291影响产品:ZZCMS2023漏洞级别:中公布时间:2024-11-06漏洞描述:漏洞位于源文件“/Ebak5.1/upload/phome.php”中的......
  • 【SkekchUp Pro 2024下载与安装教程】
    SketchUp Pro 2024作为一款专业的3D建模软件,在建筑设计、城市规划和室内设计等领域具有广泛的应用前景.‌安装SketchUpPro2024的基本要求:‌操作系统要求‌Windows系统‌:SketchUpPro2024支持Windows10和Windows11操作系统。确保你的系统是最新的,并且已经安装了所有重......
  • 20222416 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容本次实验使用的MetasploitFramework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程。(1)前期渗透①主机发现(可用Aux中的arp_sweep,search一下就可以use)②端口扫描:可以直......
  • 2024年入职/转行网络安全,该如何规划?_网络安全职业规划
     前言前段时间,知名机构麦可思研究院发布了 《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。网络安全前景对于网络安全的发展与就业前景,想必无需我多言,作为当下应届生收入较高的专业之一,网络安全同样也在转行领域中占据热门位置,主要......
  • 2024最新网络安全自学路线,内容涵盖3-5年技能提升
     01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • 2024网络安全学习路线,最全保姆级教程,学完直接拿捏!
     关键词: 网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线首先咱们聊聊,学习网络安全方向通常会有哪些问题CSDN独家网络安全资料包!点这里即可获取1、打基础时间太长学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上,更多的人会倒在......