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

码蹄杯练题纯享版

2026年码蹄杯题集目前为止做的都是青铜与白银难度的题目然后就只是将自己思考的比较深的题目放在这里做一个记录了其他非常非常简单的题目没有记录在这里黄金及以上会在后面慢慢去挑战MC0505厨房里练手艺专诸为了完成刺杀任务天天在厨房练习藏剑于鱼肚的技巧反复模拟刺杀动作。经过几个月的训练他手法越来越熟练。他记录了一个长度为nn的整数序列a1​∼an​表示这一系列动作的初始熟练度。在接下来的q次训练调整中每次操作可能是以下三种之一·1 l r x将al∼ar​都加上x。·2 l r x对于al​∼ar​每个数若它大于x则将其变成x否则不变。·3 l r问你​等于多少请处理所有操作并输出每次操作类型3的询问结果。格式输入格式第一行两个整数n,q(1≤n,q≤104)n。第二行nn个整数a1∼an(1≤ai≤10)。接下来q行每行三个整数或者四个整数表示询问或者操作其中满足1≤l≤r≤n,1≤x≤10。输出格式对于每个询问输出一行一个整数表示答案。样例 1输入6 3 3 3 1 2 6 6 2 5 6 3 1 1 5 1 3 2 6输出16样例 2输入5 2 1 2 3 4 5 3 1 3 3 3 4输出6 7本题相关知识点 语言基础数组 语言基础循环结构思考这个题主要考察的是数组题目本身不难直接遍历就能解决代码如下#includebits/stdc.h #define N 10004 using namespace std; int a[N]; int main( ) { int n, q; cin n q; for(int i 0; i n; i) cin a[i]; while(q--) { int num, l, r, x; cin num l r; if(num 3) { int ans3 0; for(int i l-1; i r; i) ans3 a[i]; cout ans3 \n; } if(num 1) { cin x; for(int i l-1; i r; i) a[i] x; } if(num 2) { cin x; for(int i l-1; i r; i) { if(a[i] x) a[i] x; } } } return 0; }MC0506摆酒席设圈套公子光设宴邀请吴王僚吴王虽心存疑虑但仍前来赴宴。公子光早已布置武士埋伏在四周并让专诸将短剑藏于烤鱼之中准备在宴席上发动刺杀。为了评估动手的最佳时机公子光记录了宴会上每道菜的美味度形成一个长度为nn的整数序列a1∼an。现在他想知道有多少个四元组(q,w,e,r)(q,w,e,r)满足1≤qwer≤n且aqawaear这种模式表示在两道美味度相同且较高的菜品出现时吴王僚的注意力被吸引是动手的良机。请输出满足条件的四元组数量对10007取模的结果。格式输入格式第一行一个整数n(1≤n≤3000)。第二行nn个整数a1∼an(1≤ai≤109)整数之间用一个空格隔开。输出格式一行一个整数表示答案。样例 1输入4 1 3 3 2输出1本题相关知识点 语言基础数组思考这个题一开始看到本人就有些许害怕了哈哈哈哈因为也就只会纯暴力去遍历然后计数想着想着就忘记思考题目了然后就只剩下恐惧就被aqawaear所吸引尤其是中间两个元素还是相等的然后我就因为粗心然后被误导了一度以为中间两个元素是相邻的所以去提交了好几个WA不中了orzok回到正题这里我们知道awae然后we我们可以遍历整个数组找到两个相等的元素然后再依次去统计左边小于aw的元素个数l以及右边小于ae的元素个数r然后根据排列组合得到这个awae四元组的个数为l×r左边有l个选择右边有r个选择所以一共计算l×r组遍历完整个数组后就能得到所有四元组的个数。但是提交之后超时了orz直接暴力超时版本代码如下// 21个示例只通过了20个示例 #includebits/stdc.h #define N 3003 #define M 10007 using namespace std; long long a[N]; int main( ) { int n; cin n; for(int i 0; i n; i) cin a[i]; long long cont 0; for(int i 1; i n-1; i) { for(int k i1; k n-1; k) { if(a[i] a[k]) { long long l 0, r 0; for(int j 0; j i; j) { if(a[j] a[i]) l; } for(int j k1; j n; j) { if(a[j] a[k]) r; } cont l*r; } } } cout cont%M; return 0; }然后我痛定思痛还去问了小豆包最后反应过来似乎我现在的代码是每找到一组awae我都会去重复计算满足条件的元素个数emmmm这就是超时的主要原因了所以假设我们现在找到了第w个元素和第e个元素相等如果我们能提前算出前w个有多少是小于aw与后n-e-1个是有多少小于ae的后面再去遍历找相等时直接取元素个数值出来相乘计算的话就能解决刚刚的问题了。所以在新的代码里面我就在一开始就去计数将每一个元素a[i]所对应的左边小于其的个数和右边小于其的个数分别存入了l[i]和r[i]后面在寻找相等的a[w]a[e]也就是代码里面的a[i]a[k]元素时就直接将l[w]×r[e]也就是代码里面的l[i]*r[k]就能得到当前可以组合的四元组个数了AC代码如下#includebits/stdc.h #define N 3003 #define M 10007 using namespace std; long long a[N], l[N], r[N]; int main( ) { int n; cin n; for(int i 0; i n; i) cin a[i]; long long cont 0; // 预处理左边小于a[i]的元素个数后面查表直接用用空间换时间 for(int i 0; i n; i) { for(int j 0; j i; j) { if(a[j] a[i]) cont; } l[i] cont; cont 0; } // 预处理右边 for(int i 0; i n; i) { for(int j i1; j n; j) { if(a[j] a[i]) cont; } r[i] cont; cont 0; } for(int i 1; i n-1; i) { for(int k i1; k n-1; k) { if(a[i] a[k]) { cont l[i]*r[k]; } } } cout cont%M; return 0; }最后这个题一定不要忘记了还要对10007取模并且数组的范围是1e9的所以用long long。还想说一句话这个我问过豆包后才知道原来处理这里超时的方法实则是借鉴了动态规划的用空间换时间的思想所以也算是接触到了看似难的算法只不过这道题没有那么那么难主要是这里预处理的思想我真的觉得太妙了所以忍不住又多了几句话希望自己后面多看看。MC0513水淹晋城险象生智伯下令引汾水灌城晋阳城墙被水浸泡眼看就要倒塌。城中百姓架起木筏逃生粮仓被淹情况十分危急。赵襄子站在城头望着滔滔洪水心中对城里剩余的粮食数量万分焦急。现给定整数n粮仓初始存粮为n!石守军每日固定消耗2026石粮食。当存粮不足2026石时停止消耗。请计算最终粮仓剩余的粮食数量即n! mod 2026的值。其中x mod y表示x对y取模的结果。格式输入格式一行一个整数n(1≤n≤106)。输出格式一行一个整数表示答案。样例 1输入1000输出596本题相关知识点 语言基础循环结构思考这个题是阶乘最后取模如果就直接进行乘n过大时就算使用的是long long类型的变量仍然会溢出所以我们就可以考虑边乘边取模这里的原理也是我向豆包学习后才知道的(a*b) mod M[(a mod M)*(b mod M)] mod M具体代码如下#includebits/stdc.h using namespace std; int main( ) { int n; cin n; long long sum 1; for(int i 2; i n; i) { sum sum * i % 2026; // 边乘边取模防止溢出原理是(a*b)mod M[(a mod M)*(b mod M)] mod M } cout sum % 2026; return 0; }MC0517义释壮士显胸襟赵襄子发现豫让后质问豫让豫让直言欲为智伯报仇。左右欲诛杀之襄子叹道”彼义士也吾谨避之耳。”遂下令释放豫让。赵襄子释放豫让后为防其再度行刺在宫中布置了n个重点防守的哨点第ii个哨点坐标为(xi,yi)。襄子下令进行m次全面巡查每次巡查有三个参数x,y,r表示以(x,y)为中心r为半径的圆形区域。现在需要统计在所有巡查结束后每个哨点总共被重点检查了多少次以便调整后续的布防策略。格式输入格式第一行两个整数n,m(1≤n,m≤104)。第2∼n1行第i1行包含两个整数xi,yi(1≤xi,yi≤104)整数之间用一个空格隔开表示第ii个哨点的坐标。接下来m行每行三个整数x,y,r(1≤x,y,r≤104)表示一次巡查的中心坐标和半径。输出格式输出一共n行每行一个整数其中第ii行代表第ii个哨点被巡察的次数。样例 1输入5 3 3 1 1 1 2 2 3 3 4 4 1 1 1 2 1 3 3 1 2输出2 3 2 2 0本题相关知识点 语言基础公式与计算思考这个题我一开始又想歪了看到坐标就会不自觉想到二维坐标系但是既然提到了圆的半径所以我们直接计算每一个坐标点与圆心的距离再将其与半径比较就能知道被搜索了多少次MC0516题的话就是能得到是否被搜索过然后再记录下来即可然后这里存坐标的话我是直接用的二维数组m行2列然后遍历行去与圆心做距离的计算。注意此题与MC0516的思路是一样的就只是最后存储输出的不一样而已。代码如下#includebits/stdc.h using namespace std; int a[10004][2], c[10004]; int main( ) { int n, m; cin n m; for(int i 0; i n; i) { cin a[i][0] a[i][1]; } while(m--) { int x, y, r; cin x y r; for(int i 0; i n; i) { // 直接算距离若是小于搜索半径的就能被找到因此cont double len sqrt((x-a[i][0])*(x-a[i][0])(y-a[i][1])*(y-a[i][1])); if(len r) c[i]; } } for(int i 0; i n; i) cout c[i] \n; return 0; }MC0549专诸市井被荐吴国市井之中专诸正与众人搏斗场面激烈。伍子胥路过见专诸勇猛心生赏识想引荐给公子光。为考验专诸的应变之能伍子胥设计了一道题目假设市井中的摊位排布在一条直线上共有n个摊位其中第i个摊位的坐标为xi这n个点的位置互不相同且构成一个连续的整数集合。每个摊位初始的分数值都为0。接下来有m次事件发生每次事件给出一对整数l,r对于∀i∈[1,n]若l≤xi≤r则本次操作该点分数值不变否则该点分数值加1。现在需要专诸计算在m次事件之后所有摊位的分数总和是多少由于结果可能很大请输出其对10007取模后的结果。连续的整数集合把这个集合中的数字从小到大排序后满足后一个数值等于前一个数值1。格式输入格式第一行两个整数n,m(1≤n,m≤3×1e5)。第二行n个整数x1∼xn(1≤xi≤1e9)。接下来m行每行两个整数l,r(1≤l≤r≤1e9)表示一次操作。输出格式一行一个整数表示操作结束后所有点的分数值之和对10007取模的结果。样例 1输入5 2 3 5 4 7 6 4 100 1 3输出5本题相关知识点 语言基础选择结构语言基础循环结构思考整个题的思路其实非常之简单就是找到数组元素里面不在l和r范围内的元素个数然后每一次操作的个数都加起来最后取模就是答案了。但是如果就这样直接暴力遍历整个数组的话其实是会超时的我们可以来看看时间复杂度如果直接暴力的话就是O(m*n)已经是10的10次方了所以超时是必然的所以就得想想其他办法了。再观察观察题目我发现其实数组x里面存的值其实是不会改变的然后我们要找的也是l和r范围外的元素个数所以这里就可以将数组x进行一个排序这里是直接使用了sort(x, xn)如果是直接和个数挂钩的话实则在排完序后直接分别记录第一个小于l的元素的位置L以及最后一个大于r的元素的位置R最后在l和r范围外的元素个数就是n-(R-L1)了然后每操作一次就加上这里为了防止加上过大溢出我仍然是使用的边加边取模。再仔细想想我要降低时间复杂度然后找数组位置不禁就能联想到二分查找进行时间复杂度的验证二分后时间复杂度将会为O(log(m*n))可以发现的确是会降低所以就尝试着写二分查找了。二分查找的函数我个人浅浅尝试写了一下如下int find_left(int val) { int l 0, r n-1, mid; while(l r) { mid (lr)/2; if(val x[mid]) r mid - 1; else l mid 1; } return l; // 这里浅浅尝试写的是找的从左往右第一个大于val(也就是输入的l)的元素位置 } int find_right(int val) { int l 0, r n-1, mid; while(l r) { mid (lr)/2; if(val x[mid]) l mid 1; else r mid - 1; } return r; // 这里浅浅尝试写的是找的从左往右最后一个小于val(也就是输入的r)的元素位置 }整道题的代码如下#includebits/stdc.h using namespace std; long long x[300005]; int n, m; int find_left(long long val) { int l 0, r n-1, mid; while(l r) { mid (lr)/2; if(val x[mid]) r mid-1; else l mid1; } return l; } int find_right(long long val) { int l 0, r n-1, mid; while(l r) { mid (lr)/2; if(val x[mid]) l mid1; else r mid-1; } return r; } int main( ) { cin n m; for(int i 0; i n; i) cin x[i]; sort(x, xn); long long l, r, cont 0; while(m--) { cin l r; long long L find_left(l); long long R find_right(r); long long in R-L1; long long out n-in; cont (contout)%10007; } cout cont%10007; return 0; }碎碎念五一假期可以小小的休息但是还有正事要做等这些都完事了可以放一个大大的假加油加油冲冲冲

相关文章:

码蹄杯练题纯享版

2026年码蹄杯题集 目前为止做的都是青铜与白银难度的题目,然后就只是将自己思考的比较深的题目放在这里做一个记录了,其他非常非常简单的题目没有记录在这里,黄金及以上会在后面慢慢去挑战! MC0505厨房里练手艺 专诸为了完成刺杀…...

Claude Code终极配置同步指南:三分钟实现跨设备开发环境一致性

Claude Code终极配置同步指南:三分钟实现跨设备开发环境一致性 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining…...

技术架构革新:构建跨平台网盘直链解析服务的性能突破

技术架构革新:构建跨平台网盘直链解析服务的性能突破 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘等. 支持文件夹分享解析. 体验地址: https://l…...

OpenClaw 2026.3.8 更新了哪些内容?备份 CLI、Talk 静默超时、TUI Agent 识别与 ACP 溯源能力解析

🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...

手机变身高精度测绘仪:RtkGps如何让Android设备实现厘米级定位突破

手机变身高精度测绘仪:RtkGps如何让Android设备实现厘米级定位突破 【免费下载链接】RtkGps Playing with rtklib on android 项目地址: https://gitcode.com/gh_mirrors/rt/RtkGps 想象一下,你手中的普通智能手机突然拥有了专业测绘设备的定位精…...

roop-unleashed:零训练AI人脸替换技术的架构解析与实践指南

roop-unleashed:零训练AI人脸替换技术的架构解析与实践指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 在数字内容创作领域,人脸…...

DevEco Studio:上传文件到模拟器中

先启动一个模拟器:例如,将demo.jpg用鼠标直接拖到模拟器中:点击模拟器的文件管理:点击 我的手机:点击 Download:可以看到刚才拖上来的文件:点击这个文件,在模拟器上展示:…...

X-TRACK开源GPS自行车码表终极指南:5步打造你的专属骑行数据可视化系统

X-TRACK开源GPS自行车码表终极指南:5步打造你的专属骑行数据可视化系统 【免费下载链接】X-TRACK A GPS bicycle speedometer that supports offline maps and track recording 项目地址: https://gitcode.com/gh_mirrors/xt/X-TRACK 想要打造一个支持离线地…...

为什么你的PHP 8.9 Fiber总卡死?——5类隐式同步陷阱(含PDO::ATTR_EMULATE_PREPARES= false致命配置)

更多请点击: https://intelliparadigm.com 第一章:PHP 8.9 Fiber 协程高并发实战案例全景图 PHP 8.9 并未官方发布(截至 2024 年,PHP 最新稳定版为 8.3),但本章基于社区广泛讨论的「Fiber 原生协程增强提案…...

安装yolo26【无标题】

这里写自定义目录标题1 安装ubuntu26.042 安装cuda12.81 安装 CUDA 12.82 配置 CUDA 环境变量3 安装 cuDNN 9.214 安装miniforge5 安装yolo261. 创建并进入 yolo26 环境2. 安装 CUDA 12.8 的 PyTorch nightly(关键)3. 验证 PyTorch CUDA 是否生效&#…...

RGB-D相机深度补全:掩码建模技术解析与实践

1. 项目概述:当RGB-D相机遇上掩码建模去年调试一台服务机器人时,我发现它在光线复杂的厨房环境中频繁撞到透明玻璃门——这暴露了传统RGB-D相机在空间感知上的致命缺陷。常规的深度补全算法在遇到反光、透明或纹理缺失表面时,往往会输出错误的…...

超越频谱分析:双谱图在机械故障诊断中的实战应用指南(以Python为例)

超越频谱分析:双谱图在机械故障诊断中的实战应用指南(以Python为例) 在工业设备的预测性维护领域,早期故障特征往往隐藏在振动信号的噪声中,就像试图在暴雨中听清远处的钟声。传统功率谱分析虽然能识别频率成分&#x…...

3分钟上手Scrcpy Mask:用键盘鼠标玩转安卓设备的终极指南

3分钟上手Scrcpy Mask:用键盘鼠标玩转安卓设备的终极指南 【免费下载链接】scrcpy-mask A Scrcpy client in Rust, Bevy and React, aimed at providing mouse and key mapping to control Android device, similar to a game emulator 项目地址: https://gitcode…...

Hermes配置技能库:从基础调优到生产部署的实战指南

1. 项目概述:一个关于“Hermes”的配置技能库最近在社区里看到不少朋友在讨论一个名为hqhq1025/hermes-setup-skill的项目。乍一看这个标题,可能会有点摸不着头脑——“Hermes”是什么?是那个奢侈品牌吗?显然不是。在技术圈&#…...

不停电、不宕机!UPS在线更换蓄电池组,一文看懂全流程

在机房、数据中心、医疗设备、工业自控等关键场景,UPS电源就是负载设备的“应急生命线”,而蓄电池组则是UPS的“能量心脏”。随着使用时间增长,蓄电池老化、容量下降,会直接导致UPS应急供电失效,一旦突发停电&#xff…...

动态早期退出技术:深度学习推理优化实践

1. 动态早期退出技术概述动态早期退出(Dynamic Early Exiting)是近年来深度学习推理优化领域的重要技术突破。这项技术的核心思想是让神经网络在推理过程中,根据输入样本的复杂度动态决定在哪个中间层提前退出计算,避免对所有样本…...

告别卡顿!在Manjaro/Debian上为Firefox配置N卡硬解,流畅看B站4K

在Manjaro/Debian上解锁N卡硬解:让Firefox流畅播放B站4K视频的终极指南 每次在B站打开4K视频,笔记本风扇就开始狂转,CPU占用率飙升,画面却依然卡顿?如果你正在使用Manjaro或Debian系统,搭配NVIDIA显卡和Fir…...

避开这5个坑,你的Logisim计算机组成实验就能一次跑通

避开这5个坑,你的Logisim计算机组成实验就能一次跑通 第一次打开Logisim时,很多人会被它简洁的界面迷惑——看似简单的拖拽连线,却能在短短几行电路里藏下无数陷阱。那些在实验报告截止前熬夜debug的夜晚,往往都耗费在几个看似微不…...

从Telnetlib到Netmiko:一个网络工程师的Python自动化工具箱升级之路

从Telnetlib到Netmiko:网络工程师的自动化工具进化实战 第一次用Telnetlib写脚本时,那种兴奋感至今难忘——几行代码就能让路由器乖乖执行命令,再也不用反复登录设备敲配置。但随着网络规模扩大,当面对几十台不同厂商的设备时&…...

国产MCU+Flash存储方案避坑:GD32F4系列SPI读写GD25Q64的五个常见问题与调试技巧

GD32F4系列SPI读写GD25Q64实战避坑指南 在嵌入式开发中,SPI Flash存储器因其接口简单、容量适中而广受欢迎。GD25Q64作为一款64Mb(8MB)容量的SPI NOR Flash,与国产GD32F4系列MCU的组合,成为许多项目的首选方案。然而在…...

自然语言生成矢量动画:OmniLottie框架技术解析

1. 项目概述:当矢量动画遇见多模态指令 上周在调试一个金融类App的加载动画时,我第17次打开AE调整贝塞尔曲线,突然意识到:为什么2023年了,我们制作Lottie动画还在用20年前的关键帧工作流?这个顿悟直接催生了…...

数据库Skill开发教程:从零构建SQLite应用

1. 数据库架构设计(图表描述)图表说明:这是一个典型的电商数据库ER图,包含用户、产品和订单三个核心表。Users表存储用户信息,Products表管理商品数据,Orders表记录交易。外键关系确保数据完整性&#xff1…...

RoPE扩展与分层注意力优化代码大模型长上下文理解

1. 项目背景与核心挑战 在当今AI辅助编程领域,代码大模型的单行补全已经相当成熟,但当开发者需要处理复杂项目时,往往会遇到一个关键瓶颈——模型难以理解跨文件的上下文依赖关系。我最近在重构一个中型前端项目时深有体会:当修改…...

别再只会用arecord了!手把手带你用ALSA CORE API在Linux上写个录音小程序

从命令行到代码:用ALSA CORE API打造Linux音频应用的实战指南 如果你已经能熟练使用arecord和aplay这些命令行工具在Linux上进行基础的音频操作,那么是时候深入一层,探索更强大的音频编程能力了。ALSA(Advanced Linux Sound Architecture)作为…...

3步掌握Scrcpy Mask:安卓投屏隐私保护终极指南

3步掌握Scrcpy Mask:安卓投屏隐私保护终极指南 【免费下载链接】scrcpy-mask A Scrcpy client in Rust, Bevy and React, aimed at providing mouse and key mapping to control Android device, similar to a game emulator 项目地址: https://gitcode.com/gh_mi…...

为什么 AI 率 25% 的论文跑工具反而升到 30%?低档位降 AI 攻略。

为什么 AI 率 25% 的论文跑工具反而升到 30%?低档位降 AI 攻略。 「我 AI 率原本 25%——刚过红线一点。跑了一遍降 AI 工具,结果变成 30%!是工具骗人吗?」 不是工具骗人。是你低档位用错了高档位方案——把本来轻度的稿子粗暴改…...

论文 AI 率不同档位的降 AI 教程:先初检定位档位再选工具。

论文 AI 率不同档位的降 AI 教程:先初检定位档位再选工具。 降 AI 不是直接打开工具就跑——先初检定位档位再选工具才是正确的顺序。这一篇给所有档位通用的 5 步流程教程。 5 步通用教程 步骤操作时间第 1 步买初检报告15 分钟第 2 步看档位 选工具5 分钟第 3 …...

如何在Windows电脑上实现iPhone投屏?终极AirPlay 2接收器指南

如何在Windows电脑上实现iPhone投屏?终极AirPlay 2接收器指南 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 还在为iPhone无法投屏到Windows电脑而烦恼吗?每次会议演示都要找转…...

开发者效率神器:开源速查表项目全解析与高效使用指南

1. 项目概述:一份属于开发者的“作弊”宝典在编程和系统运维的世界里,我们常常会遇到这样的场景:面对一个熟悉的命令,却突然想不起某个关键参数的具体用法;需要快速配置一个服务,但记不清配置文件里某个选项…...

AutoDL服务器+PyCharm远程开发避坑大全:从TensorBoard可视化到包编译的实战经验

AutoDL服务器PyCharm远程开发高阶实战指南 远程开发环境搭建完成后,真正的挑战才刚刚开始。本文将聚焦AutoDL云服务器与PyCharm专业版深度整合时遇到的典型高阶问题,提供经过实战验证的解决方案。不同于基础教程,我们直接切入那些让开发者夜不…...