2026萌新联赛第二场--(河南农业大学)
2026萌新联赛第二场河南农业大学补题总结你的心有一道墙 但我发现一扇窗偶尔透出一丝暖暖的微光就算你有一道墙 我的爱会攀上窗台盛放打开窗你会看到悲伤融化这时候林俊杰就有疑问了本场预测难度划分为easyDHIeasy-midABMmidCEFGmid-hardKLhardJ这场比赛就有意思了榜单没有跟着难度走我打的时候也是这样。在赛时我的做题顺序大概是I H M B D L 很可惜啊L题确实是棋差一招啊。不过出题人把它放在mid-hard我是实在不太理解啊这题完全是可以补的呀。当然这个A题出题人把它放在easy-mid也有它的道理。但是在赛时谁看到像语文课文一样的题会想到是一个简单的模拟题呢况且还很有可能读不懂题目(我就是哈语文不好理解不了题意)。当然了奉劝大家在有时间的情况下还是得多卡看看其他的题万一你漏掉了一个能做的只是当时不想做那就太可惜了。题目链接接下来废话不多说开始讲题首先是签到题I题这题就是说让我们取一个右指针然后遍历的时候看右指针会不会移动移动条件就是ia[i]-1ans(右指针)AC代码int n; cinn; vectorint a(n1); for(int i1;in;i) cina[i]; int r1; for(int i1;ir;i) { int shuia[i]-1; if(shun) rn; else rmax(r,shu); } coutrendl;HH题这个题是比上一题还简单的签到题我们对于数组每一个数向上取整累加在一起输出就行了。int n,x,y; cinnxy; vectorint a(n); for(int i0;in;i) cina[i]; int ans0; if(x0||y0){ NO return; } int shumin(x,y); for(int i0;in;i){ ans((a[i]shu-1)/shu); } YES; coutansendl;M题这个M题说实话说的那个多我在赛时是压根不知道它在讲什么但是我们通过看这个题目给的实例就基本上能看个半懂然后根据下面的样例来分析就知道它讲的是啥了。就是一个数组压缩111就压缩成[1 3]也就是3个1那么它让我们输出第k个就很简单了我们把这个数组还原再输出第k个就行了int n; cinn; vectorint v(n1),l(n1); for(int i1;in;i) cinv[i]l[i]; int T; cinT; vectorint ans; while(T--) { int num; cinnum; int shu0; for(int i1;in;i) { if(shul[i]num){ ans.push_back(v[i]); break; }else{ shul[i]; } } } for(int i0;ians.size();i) coutans[i]endl;B题B题的思路就是让这个数求和嘛我们看这个数据很大所以暴力肯定是超时的所以我们就得想一个方法给它优化一下我们不难想到一个数除以一个数等于1的会有很多数(因为向下取整嘛)然后我们就可以利用这个性质来把这个过程给它截出来比如说一个数除以7 8 9都等于1那么我们就把这个7找出来把这个9找出来然后9-71就是这段长度的长31就表示了这段长的和它就可以大大降低我们的时间复杂度这个思路在赛时想了挺久的导致这个代码写成了屎山代码然后在赛后才知道这个思想是分块思想这题还是一个模板题优化的代码十分之简短相比之下我的屎山代码真的是丑爆了赛时ac代码// Problem: 不同的商 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/138554/B // Memory Limit: 1024 MB // Time Limit: 2000 ms // author世间 // Date2026-07-27 13:24:51 #includebits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define endl \n #define int long long #define pii pairint,int #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; int ksm(int a, int b, int p) { int res 1; while (b) { if (b 1) res res * a % p; a a * a % p; b 1; } return res; } void solve() { int x,y; cinxy; if(x1){ cout1endl; return; } if(y1){ coutxendl; return; } int ansx; if(yx){ yx; int cnt2; while(1){ int shu1x/cnt; if(cnty){ ansshu1; break; } int cntr(x/shu1)1; if(cntry) cntry1; int num(cntr-cnt)*shu1; ansnum; cntcntr; if(cnty) break; // coutcnt shu1 cntr numendl; } coutansendl; }else{ int cnt2; while(1) { int shu1x/cnt; if(cnty) { ansshu1; break; } int cntr(x/shu1)1; if(cntry) cntry1; int num(cntr-cnt)*shu1; ansnum; cntcntr; // coutansendl; if(cnty) break; } coutansendl; } // coutfixedsetprecision(x) } signed main() { IOS; int _1; // cin_; while(_--) solve(); return 0; }优化代码int x,y;cinxy; int an0; if(yx) yx; for(int l1;ly;l){ int rx/(x/l); an(x/l)*(r-l1); lr; } coutanendl;D题这个题本来看到三维切割这肯定得用到很多算法什么前缀和什么差分什么动态啊让我很头疼所以这个题目我在看了一眼只后果断放弃但是回过头看了一下发现它的数据特别小我们暴力打一遍直接救过了。暴力思路就是三维数组三层循环没这里就不过多解释了。AC代码呈上int w,x,h; cinwxh; int q; cinq; int answ*x*h; int a[30][30][30]{0}; while(q--) { int x1,y1,z1,x2,y2,z2; cinx1y1z1x2y2z2; for(int ix1;ix2;i) { for(int jy1;jy2;j) { for(int kz1;kz2;k) { if(a[i][j][k]0){ ans--; a[i][j][k]1; } } } } } coutansendl;A题这个题我在赛时也是直接放弃了文字也是直接劝退主包啊但是这题我们如果理解了题目就很好做数据给的也很少了我们可以直接暴力模拟就可以过。题目大意我们在(0,0)然后我们不会攻击但是我们有一个范围在这个范围是我们的领域我们的棋子会暴击就是x从0-4y从-2-2在这里面我们的棋子会造成基础攻击乘以系数4的伤害在外面的棋子只会造成基础攻击乘以2的伤害。然后输入几组坐标表示外面初始棋子的位置。然后再输入几组坐标这几组坐标有限定条件就是如果在我们的领域内的话我们可以观察它的上下左右有没有棋子要是没有的话我们可以在它的其上下左右都放上一个棋子但是如果我们这一轮放置的棋子在领域外面就没有这个性质。然后外面再输入m个坐标这m个坐标是m个敌人它的位置在哪个棋子的领域内棋子就会爆炸造成伤害(棋子的领域题目i也说了是一个菱形其实在后面我们可以推出来是abs(x差)abs(y差)2就是在它的领域)。然后我们输出这个伤害。好吧其实我解释的也有点过于长了不过没办法这题出的长那它的规则也就有些多只要理解了就很好写了你如果理解了题目大意其实就很好写用一个结构体数组来表示棋子的位置和状态还有暴击的系数然后用set来看哪个位置会不会已经有棋子了然后暴力模拟就出来了。AC代码// Problem: 天下劫 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/138554/A // Memory Limit: 1024 MB // Time Limit: 2000 ms // author世间 // Date2026-07-28 13:02:28 #includebits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define endl \n #define int long long #define pii pairint,int #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; const int dx[]{1,-1,0,0}; const int dy[]{0,0,1,-1}; struct node{ int x,y,value; bool ok; }; bool check(int x,int y) { return (x0x4y-2y2); } void solve() { int n; cinn; vectornode v; setpii st; st.insert({0,0}); for(int i0;in;i) { int x,y; cinxy; v.push_back({x,y,4,true}); st.insert({x,y}); } int m; cinm; for(int i0;im;i) { int x,y; cinxy; if(check(x,y)){ if(st.find({x,y})st.end()){ v.push_back({x,y,4,true}); st.insert({x,y}); } for(int d0;d4;d) { int nxxdx[d]; int nyydy[d]; if(nx0ny0) continue; if(st.find({nx,ny})st.end()){ int shucheck(nx,ny)?4:2; v.push_back({nx,ny,shu,true}); st.insert({nx,ny}); } } }else{ if(st.find({x,y})st.end()){ v.push_back({x,y,2,true}); st.insert({x,y}); } } } int q; cinq; for(int i0;iq;i) { int xx,yy; cinxxyy; int ans0; vectorintused; for(int j0;jv.size();j) { if(!v[j].ok) continue; if (abs(v[j].x-xx)abs(v[j].y-yy)2){ ansv[j].value*669; used.push_back(j); } } for(auto t:used){ v[t].okfalse; } coutansendl; } // coutfixedsetprecision(x) } signed main() { IOS; int _1; // cin_; while(_--) solve(); return 0; }G题这个题是一个二维前缀和加差分的板子题目吧。就是如果我们熟练于二维差分加前缀和的话这题其实还挺好写的。首先我们定义一个a数组来标记每一个格子被猫覆盖的数量如果被一个覆盖就等于1然后定义一个数组b来表示格子上面有没有猫哈气。初始的ans2000*2000,然后我们找到一个格子的a数组是1那就表示是一个猫覆盖我们就可以把它对应的b数组定义为1然后ans–,然后如果这个格子1那么我们就把对应的b数组定义为0因为不管依次去掉哪个猫这一块都不会从有猫变成无猫然后ans–。我们用差分是为了节省时间复杂度而用前缀和是为了方便取区间比如区间(2,2)到区间(3,3)那么我们想取这个区间只需要v [ 3 ] [ 3 ] − v [ 1 ] [ 2 ] − v [ 2 ] [ 2 ] v [ 1 ] [ 1 ] v[3][3]-v[1][2]-v[2][2]v[1][1]v[3][3]−v[1][2]−v[2][2]v[1][1]所以我们需要用到前缀和的性质。而差分的话我们在输入n个矩形数据的时候想要把所有的二维坐标对应位置都加上1那不现实因为还需要两层循环来实现那么必定会超时所以我们用到了差分。然后用前缀和来实现这个这个格子是1还是0还是大于1再根据这个来判断统计被一个猫占领的区域。AC代码// Problem: Ha~ // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/138554/G // Memory Limit: 1024 MB // Time Limit: 2000 ms // author世间 // Date2026-07-28 09:12:58 #includebits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define endl \n // #define int long long #define pii pairint,int #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; int a[2010][2010]{0}; int b[2010][2010]{0}; void solve() { int n; cinn; int u[2010]; vectorint d(n5); vectorint l(n5); vectorint r(n5); int ans2000*2000; for(int i1;in;i) { cinu[i]d[i]l[i]r[i]; a[u[i]][l[i]]; a[u[i]][r[i]1]--; a[d[i]1][l[i]]--; a[d[i]1][r[i]1]; } for(int i1;i2000;i) { for(int j1;j2000;j) { a[i][j]a[i][j]a[i-1][j]a[i][j-1]-a[i-1][j-1]; if(a[i][j]1){ ans--; b[i][j]1; }else if(a[i][j]1){ ans--; b[i][j]0; } } } for(int i1;i2000;i) { for(int j1;j2000;j) { b[i][j]b[i][j]b[i-1][j]b[i][j-1]-b[i-1][j-1]; } } for(int i1;in;i) { int numb[d[i]][r[i]]-b[d[i]][l[i]-1]-b[u[i]-1][r[i]]b[u[i]-1][l[i]-1]; coutansnumendl; } // coutfixedsetprecision(x) } signed main() { IOS; int _1; // cin_; while(_--) solve(); return 0; }L题这个题感觉没有哪个难题解说这题是一个字典树板题但是我们不用他们说的也能写啊。这里我来一个听独特的方法仅仅用到哈希表首先呢我们知道哈希表可以存储我们想要存的串但是它的一半串呢我们不知道怎么办但是呢我们可以把它所有的字串全部都存进去然后呢找的时候也能直接找到然后当op3的时候呢我们再依次把它的字串删了但是这里我们得删除把它的字串个数删除完所以这里得改变一下这个字串通过这个s加了几次我们就删除几次。然后进行模拟就行了// Problem: 至理名言 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/138554/L // Memory Limit: 1024 MB // Time Limit: 4000 ms // author世间 // Date2026-07-27 14:56:52 #includebits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define endl \n #define int long long #define pii pairint,int #define fi first #define se second #define YES coutYESendl; #define NO coutNOendl; void solve() { int n; cinn; unordered_mapstring,intmp; while(n--) { int op; cinop; if(op1) { string s; cins; string s1; for(auto x:s){ s1x; mp[s1]; } coutmp[s]endl; } if(op2) { string s; cins; if(mp.count(s)) YES else NO } if(op3){ string s; cins; string s1; int shump[s];//这里我们只删除通过s串加的字串的个数 for(auto x:s){ s1x; mp[s1]-shu; if(mp[s1]0) mp.erase(s1); } } } // coutfixedsetprecision(x) } signed main() { IOS; int _1; // cin_; while(_--) solve(); return 0; }总结​ 有优势有劣势B题通过数学思维把它做出来了还比较可以但是其实这题总过题人数不少了基本上一般人都过了。其次就是差分前缀和一维现在都不太会用这次直接出一个二维的直接给我干爆炸了算法方面还得多练啊其次就是这个L题这个思想当时有点朝这边想了都开了两个map来弄了就差怎么把它的字串删除了这点学长的思维确实厉害。这次排名比上次进步了但是还不是太靠前下次继续努力

相关新闻

Docker零基础入门:从安装到实战部署,解决环境一致性难题

Docker零基础入门:从安装到实战部署,解决环境一致性难题

1. 项目概述:为什么是Docker,以及它能为你带来什么 如果你是一名开发者,或者正在学习编程,那么“环境配置”这个词对你来说一定不陌生。从“在我的机器上能跑”到“在服务器上跑不起来”,这中间的鸿沟,往往…

2026/7/29 9:34:18 阅读更多 →
物流地磅系统核心概念解析:作业类型与皮重类型

物流地磅系统核心概念解析:作业类型与皮重类型

在物流和生产管理场景中,这个“作业类型”通常是用来区分货物在不同状态或地点之间移动的业务类别。以下是它们最常见的意思: 作业类型核心含义举个场景例子倒运短距离的转运或临时性搬迁。通常指在同一个厂区或相邻区域,将货物从一个堆场、…

2026/7/29 9:34:18 阅读更多 →
基于ATTCK框架的内网渗透实战:从Vulnstack靶场到域控攻陷

基于ATTCK框架的内网渗透实战:从Vulnstack靶场到域控攻陷

1. 项目概述:从靶场到实战的桥梁 如果你是一名安全从业者,或者对攻防对抗感兴趣,那么“内网渗透”这个词对你来说一定不陌生。它不再是电影里黑客敲几下键盘就能接管整个公司网络的魔幻场景,而是一套严谨、系统、步步为营的技术与…

2026/7/29 9:34:18 阅读更多 →

最新新闻

智能排产工具:制造业生产调度的算法优化与实践

智能排产工具:制造业生产调度的算法优化与实践

1. 项目概述:什么是"一键式排产绿色工具"在制造业生产管理领域,排产调度一直是让生产主管头疼的难题。传统排产需要人工考虑设备状态、订单交期、物料准备、人员安排等十多个变量,一个中型工厂的排产表往往需要3-5个资深计划员花费…

2026/7/29 9:43:21 阅读更多 →
海尔智家智能家居发展现状与转型路径分析

海尔智家智能家居发展现状与转型路径分析

1. 海尔智家发展现状解析 海尔智家作为国内家电行业的龙头企业,近年来在智能家居领域的布局备受关注。但仔细观察其发展轨迹,我们会发现一些值得深思的现象。从2021年到2023年,海尔智家的营收增速从8.5%放缓至3.7%,净利润增长率也…

2026/7/29 9:43:21 阅读更多 →
华为FreeBuds 7i音效升级实测与动态EQ技术解析

华为FreeBuds 7i音效升级实测与动态EQ技术解析

1. 实测背景与设备初印象 上周刚拿到华为FreeBuds 7i的2023年软件更新版,包装盒上那个显眼的"Devialet联合调音"标志立刻抓住了我的眼球。作为常年测试各类TWS耳机的音频爱好者,这次更新最吸引我的是官方宣称的"默认音效全面升级"。…

2026/7/29 9:43:21 阅读更多 →
Python爬虫实战:Product Hunt每日热榜抓取与分析

Python爬虫实战:Product Hunt每日热榜抓取与分析

1. 项目概述 Product Hunt作为全球知名的产品发现平台,每天都有数百款新产品上线。这个每日热榜项目旨在通过自动化方式抓取并整理Product Hunt平台上当日最受欢迎的产品,为创业者、产品经理和科技爱好者提供及时的市场趋势参考。 我最初做这个项目的动…

2026/7/29 9:43:21 阅读更多 →
智能导盲杖开发全解析:从传感器选型到边缘计算实践

智能导盲杖开发全解析:从传感器选型到边缘计算实践

1. 项目概述:当手杖“睁开”了眼睛 “智能导盲杖”这个名字,听起来就充满了科技的温度。它不再是传统意义上那根简单的探路棍,而是集成了传感器、计算单元和交互模块的移动辅助终端。对于视障朋友而言,它意味着从“被动触探”到“…

2026/7/29 9:43:21 阅读更多 →
建行广东江门分行成功落地全市首笔“数联积分贷+邑科贷”,精准赋能科技企业创新发展

建行广东江门分行成功落地全市首笔“数联积分贷+邑科贷”,精准赋能科技企业创新发展

近日,在江门市科技局和人民银行江门市分行指导下, 建设银行 广东省江门市分行成功落地江门市首笔“数联积分贷邑科贷”组合业务,为广东某电器实业有限公司提供授信500万元,并实现首次投放200万元。“积分多维数据”精准画像&#…

2026/7/29 9:42:21 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻