Codeforces Round 988 (Div. 3)题解记录(A~F)

news/2024/11/18 1:40:47/文章来源:https://www.cnblogs.com/cjcf/p/18551489

比赛链接:https://codeforces.com/contest/2037
本场F题卡了快一小时?G题20分钟内一直在想如何容斥,有空就补思路

A. Twice

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{ll ans = 1;while (y){if (y & 1){ans = ans % mod * (x % mod) % mod;}x = x % mod * (x % mod) % mod;y >>= 1;}return ans % mod % mod;
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll a[250000];
int main()
{fio();ll t;cin>>t;while(t--){ll n;cin>>n;map<ll,ll>q;ll cnt=0;for(ll i=1;i<=n;i++){ll x;cin>>x;if(q[x]==0)q[x]++;else cnt++,q[x]=0;}cout<<cnt<<endl;}}

B. Intercepted Inputs

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{ll ans = 1;while (y){if (y & 1){ans = ans % mod * (x % mod) % mod;}x = x % mod * (x % mod) % mod;y >>= 1;}return ans % mod % mod;
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll a[250000];
int main()
{fio();ll t;cin>>t;while(t--){map<ll,ll>q;ll n;cin>>n;ll u=n-2;ll l,r;for(ll i=1;i<=n;i++){ll x;cin>>x;if(x*x==u){q[x]++;if(q[x]>=2){l=x,r=x;}}else if(u%x==0){q[x]++;if(q[x]&&q[u/x]){l=x,r=u/x;}}}cout<<l<<" "<<r<<endl;}}

C. Superultra's Favorite Permutation

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{ll ans = 1;while (y){if (y & 1){ans = ans % mod * (x % mod) % mod;}x = x % mod * (x % mod) % mod;y >>= 1;}return ans % mod % mod;
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll a[250000];
ll b[250000];
int main()
{fio();ll t;cin>>t;while(t--){ll n;cin>>n;if(n<=4)cout<<-1<<endl;else {ll l,r;l=r=0;for(ll i=6;i<=n;i++){if(i%2==0){l++;a[l]=i;}else {r++;b[r]=i;}}for(ll i=1;i<=l;i++)cout<<a[i]<<" ";cout<<2<<" "<<4<<" "<<5<<" "<<1<<" "<<3<<" ";for(ll i=1;i<=r;i++)cout<<b[i]<<" ";cout<<endl;}}}

D. Sharky Surfing

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{ll ans = 1;while (y){if (y & 1){ans = ans % mod * (x % mod) % mod;}x = x % mod * (x % mod) % mod;y >>= 1;}return ans % mod % mod;
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll a[250000];
ll b[250000];
struct s
{ll x, y;
}p[250000];
s p1[250000];
int main()
{fio();ll t;cin>>t;while(t--){ll n,m,l;cin>>n>>m>>l;for(ll i=1;i<=n;i++){cin>>p[i].x>>p[i].y;}for(ll i=1;i<=m;i++){cin>>p1[i].x>>p1[i].y;}ll cnt=1;ll o=1;ll wz=1;ll c=1;priority_queue<ll>f;ll pd=0;ll gs=0;while(wz<p[o].x&&o<=n){while(c<=m){if(p1[c].x<p[o].x){f.push(p1[c].y);c++;}else break;}while(!f.empty()&&cnt+p[o].x-1<=p[o].y){gs++;cnt+=f.top();f.pop();}if(cnt+p[o].x-1<=p[o].y){pd=1;break;}else {wz=p[o].y+1;o++;}}if(pd||wz!=p[n].y+1)cout<<-1<<endl;else cout<<gs<<endl;}
}

E. Kachina's Favorite Binary String

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
//#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
ll ksm(ll x, ll y)
{ll ans = 1;while (y){if (y & 1){ans = ans % mod * (x % mod) % mod;}x = x % mod * (x % mod) % mod;y >>= 1;}return ans % mod % mod;
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll q(ll l,ll r)
{cout<<"? "<<l<<" "<<r<<endl;cout.flush();ll x;cin>>x;return x;
}
ll a[250000];
int main()
{fio();ll t;cin>>t;while(t--){ll n;cin>>n;ll cnt=0;a[1]=1;for(ll i=2;i<=n;i++){if(cnt==0){ll j=q(1,i);if(j==0){a[i]=1;}else  {cnt=j;a[i]=1;for(ll k=i-1;k>=i-1-cnt+1;k--){a[k]=0;}//	cout<<a[i]<<endl; }}else {ll j=q(1,i);if(j==cnt){a[i]=0;}else {cnt=j;a[i]=1;}}}if(cnt==0){cout<<"! IMPOSSIBLE"<<endl;continue;}  cout<<"! ";for(ll i=1;i<=n;i++){cout<<a[i];}cout<<endl;}
}

F. Ardent Flames

#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<deque>
#include<cctype>
#include<string.h>
#include<math.h>
#include<time.h>
#include<random>
#include<stack>
#include<string>
#define ll                                     long long
#define lowbit(x) (x & -x)
//#define endl "\n"//                           交互题记得删除
using namespace std;
mt19937 rnd(time(0));
const ll mod = 998244353;
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll q(ll l,ll r)
{cout<<"? "<<l<<" "<<r<<endl;cout.flush();ll x;cin>>x;return x;
}
ll a[250000];
ll b[250000];
ll c[250000];
ll n,m,k;
struct s
{ll l,r;
}p[4500000];
bool cmp(s x, s y)
{if(x.l!=y.l)return x.l<y.l;else return x.r<y.r;
}
ll ck(ll x)
{ll l=0;for(ll i=1;i<=n;i++){ll u=a[i]/x;if(a[i]%x!=0)u++;if(u>m)continue;else if(u==m) {l++;p[l].l=p[l].r=b[i];}else {l++;p[l].l=b[i]-(m-u);p[l].r=b[i]+(m-u);}}sort(p+1,p+1+l,cmp);priority_queue<ll,vector<ll>,greater<ll>>q;ll ans=0;for(ll i=1;i<=l;i++){if(q.empty()){q.push(p[i].r);}else {while(!q.empty()&&q.top()<p[i].l){q.pop();}q.push(p[i].r);}ans=max(ans,(ll)q.size());}if(ans>=k)return 1;else return 0;
}
int main()
{fio();ll t;cin>>t;while(t--){cin>>n>>m>>k;for(ll i=1;i<=n;i++)cin>>a[i];for(ll i=1;i<=n;i++)cin>>b[i];ll l=1,r=5e14;while(l<r){ll mid=(l+r)>>1;if(ck(mid))r=mid;else l=mid+1;}if(r==5e14)cout<<-1<<endl;else cout<<r<<endl;}
}

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

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

相关文章

【圆圆的日语教室】日语入门第2课-平假名的书写+了解日本

第二课 相似的假名平假名的书写あ (a) 的书写第二笔不要太直,它是从草书演变过来的,特点是圆润有弧度 第三笔要交叉 长得像“安”い (i) 的书写第一笔要勾上去う (u) 的书写第一笔:点第二笔:起笔不要太平,先往上走再往下拐。联想记忆:u住耳朵え (e) 的书写联想:e,见到一…

Scrum 冲刺博客-day3

这个作业属于哪个课程 班级的链接这个作业要求在哪里 作业要求的链接这个作业的目标 Scrum 冲刺博客-day3团队成员 梁志聪 李永杰 曾繁曦一、会议照片二、工作情况成员 昨天已完成工作 今日计划工作梁志聪 编写主菜单,人物移动相关代码 设计障碍物,实现人物碰撞李永杰 构思大…

基于RDK X5的智慧交通监控系统

本Blogs同步发表至CSDN:https://blog.csdn.net/xiongqi123123/article/details/143840675?sharetype=blogdetail&sharerId=143840675&sharerefer=PC&sharesource=xiongqi123123&spm=1011.2480.3001.8118 一、项目背景在当前高等教育普及化、大学持续扩招的宏…

【ai+模型】五大主流开源大模型RAG评估框架详解

RAG 评估的挑战 增强检索生成技术(Retrieval Augmented Generation,简称 RAG)目前正成为增强大语言模型(LLM)性能的核心手段。该技术通过将外部知识库融入LLM,大幅提升了大模型的精确度和对上下文的感知力。然而,对 RAG 系统性能的评测颇具挑战,这促使了一系列开源 RAG…

【待发】CyberEdge:简洁而强大的互联网资产测绘工具

免责声明 利⽤本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,创作者及作者不为此承担任何责任,一旦造成后果请自行承担责任!简介: CyberEdge是一款精心设计的互联网资产测绘工具,为网络安全专业人士提供精准、高效的扫描体验。 核心特性: 全…

Spring Security 认证授权(黑马讲义)

1.基本概念 1.1.什么是认证 用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机短信登录,指纹认证等方式。 1.2.什么是授…

SkyWalking 安装部署操作指引

环境 CentOS-7-x86_64-DVD-2009.iso https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso apache-skywalking-apm-10.0.1.tar.gz https://dlcdn.apache.org/skywalking/10.0.1/apache-skywalking-apm-10.0.1.tar.gz jdk-11.0.23_linux-x64_bin.tar.…

Win11 24H2 使用Rclone将SMB协议链接转为本地磁盘驱动器

9月份升级了ITX主机,多了好几块机械硬盘, 后来又买了Nas, 先装了飞牛Nas系统, 结果要格盘,考虑到Refs, Zfs, exFAT 在坏盘情况对数据恢复不友好, 决定改用Win11作为Nas 系统 .Windows 做Nas 系统不要太好, 免去各类docker 的缓慢和配置,可以正常使用迅雷等各类软件,并且很多Nas…

在Keil中使用ST-LINK烧录STM32程序指南

前言 之前玩STM32都是用J-LINK烧录程序,不仅便捷,而且烧录的速度比用串口快好多。 最近我接了几个32单片机的毕设单子,便买了几块C8T6的最小系统板用来开发。最初我还是用J-LINK烧录C8T6的,只要从J-LINK中找出对应的引脚用杜邦线连上就可以烧录,但是每晚要去学校的实验室,…

第八章习题

学号后四位:3018 8.4:点击查看代码 import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt# 定义微分方程组 def differential_equations(state, t):x, y = statedxdt = -x ** 3 - ydydt = x - y ** 3return [dxdt, dydt]# 设定初始条件 ini…

Next App Router 模式下,如何同步服务端 Redux 初始状态?

大家的阅读是我发帖的动力,本文首发于我的博客:deerblog.gu-nami.com/,欢迎大家来玩,转载请注明出处喵。🎈前言 Next.js 是一个广受欢迎的 React 服务端渲染(Server Side Rendering,SSR)框架。Next.js 的页面会先在服务端渲染一次,然后把结果传给浏览器,也就是客户端…

Git版本管理系统快速上手指南

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.git命令初体验1.搭建Golang开发环境2.git init项目初始化3.git status查看工作目录状态4.git add将文件从工作区提交到暂存区5.git config配置git个人信息6.git commit提交代码到本地仓库7.git log查看…