【CodeForces训练记录】Codeforces Round 1002 (Div. 2)

news/2025/2/3 0:39:21/文章来源:https://www.cnblogs.com/longxingx/p/18697281

训练情况

赛后反思

这个B题感觉太猜猜乐了,个人感觉B难度远大于C

A题

想要数组 \(c\) 至少有三个不同的元素,数组 \(a,b\) 的元素数的和必须 \(\ge 4\),如果种类和为 \(3\) 种,最多能凑出两种不同的数字

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){int n; cin>>n;vector<int> a(n + 1),b(n + 1);set<int> s1,s2;for(int i = 1;i<=n;i++) cin>>a[i],s1.insert(a[i]);for(int i = 1;i<=n;i++) cin>>b[i],s2.insert(b[i]);if(s1.size() + s2.size() >= 4) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

B题

对于 \(n=k\) 的情况,我们只能选取偶数位,这个比较好处理直接判断即可,对于其他情况,答案不是 \(1\) 就是 \(2\),我们有一种分法,通过改变第一个子数组的长度来选择第二个子数组,所以第二个子数组的范围只能 \(2 \sim n-k+2\) 中选,如果全为 \(1\),第二个子数组就能选长度为 \(2\)\([1,1]\),答案就是 \(2\),否则就存在一种选法使得第二个长度为一的子数组中不是 \(1\),所以答案是 \(1\)

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){int n,k; cin>>n>>k;vector<int> a(n + 1);for(int i = 1;i<=n;i++) cin>>a[i];bool flag = false;if(k == n){int tot = 0;for(int i = 2;i<=n;i+=2){++tot;if(a[i] != tot){flag = true;break;}}if(!flag) tot++;cout<<tot<<endl;} else {for(int i = 2;i<=n-k+2;i++){if(a[i] != 1){cout<<1<<endl;return;}}cout<<2<<endl;}
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

C题

维护后缀连续 \(1\) 的个数,我们想要 mex 最大,只能每次贪心选择 \(1\) 个数最少的那一行,我们直接使用优先队列维护即可

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){int n; cin>>n;vector<vector<int>> a(n + 1,vector<int>(n + 1));for(int i = 1;i<=n;i++){for(int j = 1;j<=n;j++){cin>>a[i][j];}}for(int i = 1;i<=n;i++){for(int j = n;j;j--){a[i][j-1] += a[i][j];}}vector<int> lim(n + 1);for(int i = 1;i<=n;i++){for(int j = 1;j<=n;j++){if(a[i][j] == n-j+1){lim[i] = n-j+1;break;}}}priority_queue<int,vector<int>,greater<int>> q;for(int i = 1;i<=n;i++) q.push(lim[i]);int now = 0;while(q.size()){int x = q.top(); q.pop();if(x >= now) now++;}cout<<now<<endl;
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

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

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

相关文章

进程的基本概念

写在前面 这是一篇十分简短的文章,主要讲述了进程的基本概念,如何创建进程以及一些细节问题,为接下来学习进程调度打好基础。 什么是进程 简单来说,进程就是运行中的程序。比如,我们双击了存放在硬盘中的某个exe程序,程序被加载到内存中运行起来后,就是所谓的进程。所以…

python 中实现gz文件的解压

python 中实现gz文件的解压。001、(base) [root@PC1 test]# ls a.txt.gz test.py (base) [root@PC1 test]# zcat a.txt.gz ## 测试的压缩文件 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 (base) [root@PC1 test]# cat test.py ## 测试的py…

【模拟电子技术】19-差分放大电路的构成

【模拟电子技术】19-差分放大电路的构成 我们知道在直接耦合放大电路中零点漂移是一个很困扰的问题(可以理解为静态工作点稳定问题),我们通过增加电阻Re来抑制温漂,前面我们也提到过有一种电路可以在直流的时候doubleRe,而交流的时候使得Re消失我们想要抑制这种现象,想到…

球钟问题

球钟问题,对栈和队列的实际应用球钟问题 1. 问题背景 ​ 球钟是一个利用球的移动来记录时间的简单装置。它有三个可以容纳若干个球的指示器:分钟指示器,五分钟指示器和小时指示器。 举例:若分钟指示器中有2个球,五分钟指示器中有6个球,小时指示器中有5个球,则时间为5:32…

本地部署deepseek

前言 如果你电脑配置不错,且期望不受网络限制也可以流畅使用deepseek,那就本地部署deepseek试试吧。下载并安装Ollama Ollama是一个开源的 LLM(大型语言模型)服务工具(就是大模型运行工具),用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者…

【邮件安全】近期常见的钓鱼邮件(202411期)

本期主要分享自2024年11月至今几种典型的钓鱼邮件样本。希望通过这种分享,可以帮助广大用户提高警惕性,增强识别与防范钓鱼邮件的能力。 邮箱账户异常类 以下图为例,该钓鱼邮件伪造用户账户出现异常登录情况,引导用户点击“认证账户”按钮进入钓鱼页面。 下图是一封伪造用户…

AI医院:大语言模型在多智能体医疗交互模拟器中的表现如何?

近年来,人工智能(AI)技术,尤其是大语言模型(LLMs),在医学领域取得了显著进展。这些模型在静态医疗问答任务中表现优异,甚至在某些情况下能够媲美人类专家。然而,医学诊断并非单一静态的任务,而是一个动态、复杂的过程,涉及多轮互动和信息收集。 为了更全面地评估LLM…

万字综述|一文掌握大语言模型在生物信息学中的应用

随着大语言模型(LLMs)技术的飞速发展,其在自然语言处理(NLP)领域的成功应用逐渐扩展到了生物信息学领域。生物信息学作为一个跨学科的领域,涉及基因组学、蛋白质组学、药物发现等多个方向,LLMs的引入为这些领域带来了新的研究工具和方法。 2025年1月,佐治亚大学Tianmin…

自主做前端页面小工程07

通过使用elementui和js部分代码实现 其重点在于导航栏与弹窗和数据的回显与数据只可预览,基本完成 这是补发昨天学习记录

自主做前端小工程08

今天学习记录,完成部门经理页面,主要是分vue中的变量,创建了更多对话框页面和表单

【邮件安全】近期常见的钓鱼邮件(202412期)

# 钓鱼邮件样本 本期主要分享自2024年12月至今几种典型的钓鱼邮件样本。年关将至,大家要擦亮眼睛,谨防受骗! 带附件类钓鱼上图是一封带有html附件的钓鱼邮件,html附件中包含钓鱼页面。一旦用户打开html文件,可能会非法收集用户个人信息或引导用户输入账号密码等敏感信息。…

CTF-web过年加更

一、菜狗杯的无一幸免看代码可以发现$arr[]=1(在数组中追加一个数且赋值为1,永久为真),想要饶过它就需要让数组溢出(最大int数) int范围为32位:2的31次方-1=2147483647;64位:2的63次方-1=9,223,372,036,854,775,807 在顶部传入参数0=(以上2个看情况选)即可拿到flag二…