Acwing第 141 场周赛

A题

签到模拟即可

B题

单独考虑每一个a[i],如果i要是答案需要指针移动多少次,然后算完,排个序,指针移动最少的就是答案。

#include <bits/stdc++.h> 
#define int long long
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define pii pair<int, int>
#define pll pair<long long, long long>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f 
#define x first
#define y second
#define pb push_backusing namespace std;const int N=2e5+10,mod=1e9+7;void solve()
{int n;cin>>n;vector<pii>a(n+1);int ans=1e9;rep(i,1,n)	{int val;cin>>val;int pos=val%n+1;if(n==0)	pos=1;int k=0;//a[i]减为0时指针的位置在i之后if(pos>i)	k=n-pos+i;else if(pos<i)	k=i-pos;a[i]={val+k,i};}	sort(a.begin()+1,a.begin()+1+n);cout<<a[1].y<<endl;return;
}
signed main()
{IOS	
//  	freopen("1.in", "r", stdin);
//  	int _;
//	cin>>_;
//	while(_--)solve();return 0;
}

C题

4e7d4e1e520f8e511b76f5cd7f4a545.png
赛时没过被卡map了开成vector光速过了
我的思路就是从前往后 O ( n ) O(n) O(n)扫一遍模拟一下交换,这样交换的次数应该是最少的
3 ∗ n − c n t 3*n-cnt 3ncnt去判断如果为偶数说明剩下的数可以通过偶数次交换不改变结果的情况下消耗掉。
这时就直接输出1反之则输出2

#include <bits/stdc++.h> 
#define int long long
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(int i = (a); i >= (b); --i)
#define ls p<<1
#define rs p<<1|1
#define pii pair<int, int>
#define pll pair<long long, long long>
#define ll long long
#define ull unsigned long long
#define db double
#define endl '\n'
#define debug(a) cout<<#a<<"="<<a<<endl;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f 
#define x first
#define y second
#define pb push_backusing namespace std;const int N=2e5+10,mod=1e9+7;void solve()
{int n;cin>>n;
// 	map<int,int>mp;vector<int>a(n+1);vector<int>mp(n+1);rep(i,1,n){cin>>a[i];mp[a[i]]=i;	}int cnt=0;auto change=[&](){rep(i,1,n){if(a[i]!=i){//tar是i当前所在的位置,posint tar=mp[i];int tmp=a[i];swap(a[i],a[tar]);mp[i]=i;mp[tmp]=tar;cnt++;// cout<<mp[i]<<' '<<mp[a[i]]}}};change();if((3*n-cnt)%2==0)	cout<<1<<endl;else	cout<<2<<endl;		return;
}
signed main()
{IOS	
//  	freopen("1.in", "r", stdin);
//  	int _;
//	cin>>_;
//	while(_--)solve();return 0;
}

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

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

相关文章

【QT+QGIS跨平台编译】之二十二:【FontConfig+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、FontConfig介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、FontConfig介绍 FontConfig 是一个用于配置和定制字体的库&#xff0c;广泛应用于基于X Window系统的操作系统中&#xff0c;尤其是在Linux和Unix-like系统中。它为应用程序提供了一种统一的…

车载测试Vector工具——基于DoIP的ECU/车辆的连接故障排除

车载测试Vector工具——基于DoIP的ECU/车辆的连接故障排除 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和…

【周总结】Programmer‘s weekend routine---First week of February

总结 工作&#xff1a; 参加项目重构方案讨论会议、个人任务计划分期以及工期安排、项目初步重构开发 日常&#xff1a;参加年会&#xff08;阳光普照奖都莫得&#xff09; 2024.2.3 阴 不冷 连着一周的雨&#xff0c;我那袜子挂两三天了还能挤出水。。离谱、莆…

MySQL全表扫描:性能杀手的隐患与优化策略

MySQL全表扫描&#xff1a;性能杀手的隐患与优化策略 MySQL数据库作为常用的关系型数据库管理系统之一&#xff0c;全表扫描问题一直困扰着开发者。本文将深入剖析MySQL全表扫描的原理、其对性能的严重影响&#xff0c;同时提供一系列优化策略&#xff0c;助您高效应对MySQL性能…

2.3作业

一&#xff0e;选择题 1、适宜采用inline定义函数情况是&#xff08;C&#xff09; A. 函数体含有循环语句 B. 函数体含有递归语句 C. 函数代码少、频繁调用 D. 函数代码多、不常调用 2、假定一个函数为A(int i4, int j0) {;}, 则执行“A (1);”语句后&#xff0c;i和j的值分别…

TQ15EG开发板教程:开发板资源介绍

时钟资源 采用时钟芯片CDCM6208提供系统时钟 PL端时钟 PS 收发器时钟 PL收发器时钟 电源 BANK500 BANK501 BANK502 BANK503(专用) 1.8V 1.8V 1.8V 1.8V PS端外设 QSPI 采用2片MT25QU256 拼接成8bit的QSPI存储系统。采用1.8V供电 SD卡 SATA接口 PS端以太网接口 D…

字符数组的学习

前言&#xff1a; 在前面我们介绍过字符型数据是以字符的ASCII码储存在存储单元中&#xff0c;一般占一个字节&#xff0c;由于 ASCII码也属于整数类型&#xff0c;因此在C99标准中把字符类型归纳为整数类型中的一种&#xff0c;由于字符数据 的应用比较广泛&#xff0c;尤其…

演讲回顾:如何为大规模研发团队加速CI构建,实现高效流水线

近日&#xff0c;龙智联合Atlassian举办的DevSecOps研讨会年终专场”趋势展望与实战探讨&#xff1a;如何打好DevOps基础、赋能创新”在上海圆满落幕。龙智Atlassian技术与顾问咨询团队&#xff0c;以及清晖、JamaSoftware、CloudBees等生态伙伴的嘉宾发表了主题演讲&#xff0…

【高阶数据结构】红黑树

文章目录 前言什么是红黑树红黑树的性质红黑树结点的定义红黑树的插入情况一情况二情况三插入代码总结 验证是否为红黑树红黑树的删除 前言 前面我们学习了 AVL 树——高度平衡的二叉搜索树&#xff0c;AVL 树保证了结点的左右子树的高度差的绝对值不超过 1&#xff0c;也就是…

bash脚本学习笔记

一、扫盲 脚本文件是一种文本文件&#xff0c;其中包含了一系列的命令和指令&#xff0c;可以被操作系统解释器直接解释执行。脚本文件通常被用来完成特定的任务或执行重复性的操作。 脚本文件通常以某种编程语言的语法编写&#xff0c;例如 Bash、Python、Perl、Ruby 等等。…

png,jpg,bmp等格式图像转.npy文件(附代码)

目录 一、npy文件二、代码三、转后效果 一、npy文件 .npy 文件是 NumPy 库用于存储数组的二进制文件格式。这种文件可以存储一个或多个 NumPy 数组对象。.npy 文件在保存和加载 NumPy 数组时非常有用&#xff0c;因为它们可以用于在磁盘上高效地存储数据&#xff0c;并且在加载…

IEC104 S帧超时判定客户与服务端不匹配造成的异常链接问题分析

2、通过ss命令发现确有链接端口变化&#xff0c;与设备约一天一次的重连&#xff0c;通过抓包&#xff08;tcpdump -vvv -nn port 1001 -w 0926.cap&#xff09;分析得以下现象 2.1、异常情况时未对设备的I帧均匀的回S帧进行确认&#xff0c;正常情况时均匀的回S帧进行确认 2.…