打卡信奥刷题(2789)用C++实现信奥题 P3939 数颜色
P3939 数颜色题目背景大样例可在页面底部「附件」中下载。题目描述小 C 的兔子不是雪白的而是五彩缤纷的。每只兔子都有一种颜色不同的兔子可能有相同的颜色。小 C 把她标号从 1 到n nn的n nn只兔子排成长长的一排来给他们喂胡萝卜吃。排列完成后第i ii只兔子的颜色是a i a_iai​。俗话说得好“萝卜青菜各有所爱”。小 C 发现不同颜色的兔子可能有对胡萝卜的不同偏好。比如银色的兔子最喜欢吃金色的胡萝卜金色的兔子更喜欢吃胡萝卜叶子而绿色的兔子却喜欢吃酸一点的胡萝卜……为了满足兔子们的要求小 C 十分苦恼。所以为了使得胡萝卜喂得更加准确小 C 想知道在区间[ l j , r j ] [l_j,r_j][lj​,rj​]里有多少只颜色为c j c_jcj​的兔子。不过因为小 C 的兔子们都十分地活跃它们不是很愿意待在一个固定的位置与此同时小 C 也在根据她知道的信息来给兔子们调整位置。所以有时编号为x j x_jxj​和x j 1 x_j1xj​1的两只兔子会交换位置。小 C 被这一系列麻烦事给难住了。你能帮帮她吗输入格式从标准输入中读入数据。输入第 1 行两个正整数n nn,m mm。输入第 2 行n nn个正整数第i ii个数表示第i ii只兔子的颜色a i a_iai​。输入接下来m mm行每行为以下两种中的一种“1 l j r j c j 1\ l_j\ r_j\ c_j1lj​rj​cj​” 询问在区间[ l j , r j ] [l_j,r_j][lj​,rj​]里有多少只颜色为c j c_jcj​的兔子“2 x j 2\ x_j2xj​”x j x_jxj​和x j 1 x_j1xj​1两只兔子交换了位置。输出格式输出到标准输出中。对于每个 1 操作输出一行一个正整数表示你对于这个询问的答案。输入输出样例 #1输入 #16 5 1 2 3 2 3 3 1 1 3 2 1 4 6 3 2 3 1 1 3 2 1 4 6 3输出 #11 2 2 3说明/提示【样例 1 说明】前两个 1 操作和后两个 1 操作对应相同在第三次的 2 操作后3 号兔子和 4 号兔子交换了位置序列变为 1 2 2 3 3 3。【数据范围与约定】子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难可以尝试只解 决一部分测试数据。 对于所有测试点有1 ≤ l j r j ≤ n , 1 ≤ x j n 1 \le l_j r_j \le n,1 \le x_j n1≤lj​rj​≤n,1≤xj​n。 每个测试点的数据规模及特点如下表特殊性质 1保证对于所有操作 1有∣ r j − l j ∣ ≤ 20 |r_j - l_j| \le 20∣rj​−lj​∣≤20或∣ r j − l j ∣ ≤ n − 20 |r_j - l_j| \le n - 20∣rj​−lj​∣≤n−20。特殊性质 2保证不会有两只相同颜色的兔子。C实现#includeiostream#includecstdio#includecstring#includecmath#includevector#includealgorithmusingnamespacestd;intread(){intw1,x0,chgetchar();for(;ch0||ch9;chgetchar())if(ch-)w-1;for(;ch0ch9;chgetchar())xx*10ch-0;returnx*w;}constintMAXN(int)3e5100;intn,m,a[MAXN];vectorintq[MAXN];intopt,l,r,x;intmain(){nread(),mread();for(inti1;in;i){a[i]read();q[a[i]].push_back(i);}while(m--){optread();if(opt1){lread(),rread(),xread();intptr_llower_bound(q[x].begin(),q[x].end(),l)-q[x].begin();intptr_rupper_bound(q[x].begin(),q[x].end(),r)-q[x].begin()-1;if(ptr_lptr_r){printf(0\n);continue;}printf(%d\n,ptr_r-ptr_l1);}else{xread();if(a[x]a[x1])continue;intptr_llower_bound(q[a[x]].begin(),q[a[x]].end(),x)-q[a[x]].begin();q[a[x]][ptr_l];intptr_rlower_bound(q[a[x1]].begin(),q[a[x1]].end(),x1)-q[a[x1]].begin();q[a[x1]][ptr_r]--;swap(a[x],a[x1]);}}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容

相关新闻

为AI代理设计分层记忆

为AI代理设计分层记忆

想象一个不仅仅是响应,而是记忆的AI。一个能够从过去的交互中学习、理解复杂关系、并从一个深邃的知识之井中提取事实的AI。这不是科幻小说;这是代理AI的承诺——而它的秘密武器在于一个复杂的、多层次记忆系统。 大语言模型(LLMs&#xff0…

2026/7/3 15:21:17 阅读更多 →
Excel时间魔法:用NOW与TODAY函数实现动态年龄计算与倒计时

Excel时间魔法:用NOW与TODAY函数实现动态年龄计算与倒计时

想让Excel表格中的年龄自动增长,或者创建实时更新的项目倒计时?NOW和TODAY这两个易失性函数是你的秘密武器。 在Excel中处理日期和时间数据时,我们常常需要让某些计算结果能够自动更新,反映当前的最新状态。无论是计算员工年龄、监…

2026/7/3 15:21:18 阅读更多 →
Java SaaS Niucloud云编译全端开发框架:插件化驱动的SaaS开发新范式

Java SaaS Niucloud云编译全端开发框架:插件化驱动的SaaS开发新范式

摘要 针对当前企业级SaaS多用户系统开发中存在的重复造轮、技术栈碎片化、多系统整合复杂及迭代效率低下等问题,本文引入Java SaaS Niucloud云编译全端开发框架。该框架基于SpringBootMyBatisPlusSa-Token后端架构与ViteTypeScriptVue3前端技术栈,以插件…

2026/7/3 0:52:28 阅读更多 →

最新新闻

RPA办公自动化如何帮你解决繁琐重复工作的全流程拆解

RPA办公自动化如何帮你解决繁琐重复工作的全流程拆解

写给那些被Excel、发票、报表折磨到怀疑人生的打工人一、RPA到底是什么?3分钟说清这个让打工人提前下班的神器先说人话:RPA(Robotic Process Automation,机器人流程自动化) 就是一个能模仿你鼠标点击和键盘输入的软件机…

2026/7/3 16:14:27 阅读更多 →
STM32F745ZG与MAX9744音频系统设计与优化

STM32F745ZG与MAX9744音频系统设计与优化

1. 为什么选择MAX9744与STM32F745ZG组合? 在音频功率增强方案中,MAX9744作为D类音频功率放大器,与STM32F745ZG微控制器的组合提供了独特的优势。MAX9744采用扩展频谱调制技术,无需输出滤波器即可实现低EMI特性,这在空间…

2026/7/3 16:12:27 阅读更多 →
AD74413R与STM32L162ZE工业级数据采集系统设计

AD74413R与STM32L162ZE工业级数据采集系统设计

1. AD74413R与STM32L162ZE的硬件协同设计AD74413R这颗芯片最吸引我的地方在于它把高精度ADC和多通道DAC集成在单芯片上,这在工业传感器接口设计中简直是神器。去年在做PLC模拟量模块时,我对比了至少五款类似芯片,最终选择AD74413R主要基于三个…

2026/7/3 16:10:26 阅读更多 →
秋之盒:免费图形化ADB工具终极指南

秋之盒:免费图形化ADB工具终极指南

秋之盒:免费图形化ADB工具终极指南 【免费下载链接】AutumnBox 图形化ADB工具箱 项目地址: https://gitcode.com/gh_mirrors/au/AutumnBox 还在为复杂的ADB命令行而头疼吗?秋之盒(AutumnBox)是一款革命性的图形化ADB工具&a…

2026/7/3 16:08:17 阅读更多 →
口碑好的鹤壁烟酒公司:节前备酒,提前安排清单

口碑好的鹤壁烟酒公司:节前备酒,提前安排清单

好的,这就为您撰写一篇关于节前备酒的原创文章,严格遵循您的要求,聚焦鹤壁本地企业的采购场景。节前备酒,鹤壁企业采购的这份“提前安排清单”请收好对鹤壁的广大企业来说,节前备酒是一项关乎员工福利、客户关系和公司…

2026/7/3 16:08:17 阅读更多 →
第30篇:安全、对齐与合规——大模型走向产业落地的最后一道门槛

第30篇:安全、对齐与合规——大模型走向产业落地的最后一道门槛

引言:能力越强,风险越大 这 30 篇专栏,我们走过了从数学基础到多模态大模型的全栈旅程。 但最后一篇不讲技术——讲安全。一个技术再先进的模型,如果不安全、不合规,就无法落地。在全球 AI 监管日益严格的今天,安全合规不仅是技术问题,更是业务问题。 一、红队测试 红…

2026/7/3 16:04:15 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻