当前位置: 首页 > news >正文

P13959 [ICPC 2023 Nanjing R] 计数器 题解

题目传送门

前置知识:STL。

为了方便,我们使用 set 和 map 进行存储。

这样,set 让 aaa 数组的元素有序,要取某个元素使用 map 访问即可,避免了开桶被 nnn 卡,并且不用另外开数组保存了。

这一部分的代码:

for(int i=1;i<=m;i++){a=read(),b=read();mp[a]=b;s.insert(a);
}

枚举每一个 aia_iai,容易发现,能够进行操作的次数是 ai−ai−1a_i - a_{i-1}aiai1a0=0a_{0} = 0a0=0,那么我们发现这些操作分两大类,第一类:先变 000,再更改;第二类:直接累加。当我们发现现在不能够操作时,直接输出。这样避免枚举 nnn 超时。

代码:

#include<bits/stdc++.h>
using namespace std;
int read() {int x=0,f=1;char c=getchar();while(!isdigit(c)) {if(c=='-') {f=-1;}c=getchar();}while(isdigit(c)) {x=x*10+c-'0';c=getchar();}return x*f;
}
int main(){int _=read(),n,m,a,b,now,tmp;while(_--){n=read(),m=read();bool f=1;map<int,int> mp;set<int> s;for(int i=1;i<=m;i++){a=read(),b=read();mp[a]=b;s.insert(a);}now=tmp=0;mp[0]=0;for(auto i:s){if(mp[i]==0){now=tmp=0;continue;}if(now+(i-tmp)!=mp[i]&&i-tmp-1<mp[i]){putchar('N'),putchar('o'),putchar('\n');f=0;break;}tmp=i;now=mp[i];}if(f) putchar('Y'),putchar('e'),putchar('s'),putchar('\n');}return 0;
} 
http://www.dtcms.com/a/495978.html

相关文章:

  • 下载 | Win11 23H2正式版最新ISO系统映像 (22631.6060、多合一版本)-修复安全漏洞
  • PCB EMI:原因、影响和缓解策略
  • 诚信档案建设网站微信小程序开发
  • 番禺哪里有做网站的公司商城网站建设实训报告模板
  • 建设网站的提成是多少编程软件scratch下载
  • C++泛型编程(函数模板以及类模板)
  • 【avalonia教程】13绑定控件
  • fastddsgen.jar 简介
  • 织梦软件网站模板下载地址佛山十大进出口贸易公司
  • 【JPEG、PNG、WebP:图像格式选择与优化实践】
  • 管理防火墙策略-firewalld、rich rule、iptables
  • 成都外贸建站给别人网站做跳转
  • 征婚网站上拉业务做恒指期货在线制作网站的工具
  • 南县做网站多少钱91福利社区wordpress
  • 云手机和模拟器哪个比较好用
  • 面试_场景_分布式调度系统设计
  • 【C语言】在矩阵中高效查找数字的算法解析
  • 网站在哪里备案信息汉狮做网站公司郑州
  • 求个网站这么难吗2021年自建站
  • 如何在代码中使用唯品会API?
  • 基于skynet框架的一种游戏服登录模块设计
  • MIL、SIL、PIL、HIL、
  • 长沙建站公司网站饮食中心网站建设方案
  • 买外贸服装去哪个网站欧亚专线荷兰快递单号查询
  • 构建AI智能体:六十六、智能的边界:通过偏差-方差理论理解大模型的能力与局限
  • Python编程实战 · 基础入门篇 | 第一个Python程序:Hello World
  • 网站搭建官网深圳苏州企业网站建设服务公司
  • RAG长上下文加速解码策略-meta基于RAG的解决思路浅尝(REFRAG)
  • oracle数据库seg$的type#含义
  • 模式识别与机器学习课程笔记(3):统计决策中的经典学习方法