AtCoder Beginner Contest 448:A+B+C+D+E
目录A - chmin题意思路正解代码B - Pepper Addiction题意思路正解代码C - Except and Min题意思路正解代码D - Integer-duplicated Path题意思路正解代码E - Simple Division题意思路正解代码B - Pepper AddictionC - Except and MinD - Integer-duplicated PathE - Simple DivisionA - chmin题意题目的意思大致是给我们一个长度为 n 的数列和一个数 x 对其从头到尾进行遍历在遍历到 A[i] 时我们会依据如下条件进行输出1.如果 A[i] x 将 x 更新成 A[i] 并输出 1。2.除此之外输出 0。思路进行 O(n) 的遍历对于每一个 A[i] 进行判断并完成对应输出。正解代码#includebits/stdc.h using namespace std; const int N 105; int T; inline void solve() { int n,x; int a[N]; cinnx; for(int i1;in;i) cina[i]; for(int i1;in;i){ if(a[i] x) { x a[i]; cout1\n; } else cout0\n; } } int main() { ios::sync_with_stdio(false); cin.tie(0); T 1; while(T--) solve(); return 0; }B - Pepper Addiction题意这道题目的意思大致是我们有 m 种辣椒对于品种 j 的辣椒我们有 Cj 克。现在给出 n 个点餐信息对于菜品 i 我们只能放品种为 A[i] 的辣椒并且最多放 B[i] 克。问我们最多能用掉多少辣椒。思路很明显如果我们要尽可能地多放辣椒就要在每一个菜品中都尽可能地多放对应品种的辣椒。于是我们进行 O(n) 的遍历对于每一个菜品如果对应的辣椒还有剩余就尽可能放完。正解代码#includebits/stdc.h #define int long long using namespace std; const int N 1005; int n,m; int c[N]; int a[N], b[N]; signed main() { ios::sync_with_stdio(false); cin.tie(0); cinnm; for(int i1;im;i) cinc[i]; for(int i1;in;i) cina[i]b[i]; int ans 0; for(int i1;in;i) { ans min(b[i],c[a[i]]); c[a[i]] max(0ll,c[a[i]] - b[i]); } coutans; return 0; }C - Except and Min题意题目的大致意思是我们有 n 个球球 i 上写着数字 a[i] 我们需要进行 q 次操作每次操作给出 k 和 k 个数字我们需要删除数字对应的球然后输出最小的目前球上写的数字再将它们都放回去。思路在看完这个题目之后我们很快就可以想到需要使用 map 用 map 来记录每一个球上的数字对应的球的个数每次删除都数量减一如果为 0 则移除 map 中的这一键值对最后输出 map 最前面的键。整个算法复杂度为 O(nlogn) 可以完美通过本题。正解代码#includebits/stdc.h using namespace std; const int N 3e55; int n,q; int a[N]; int k; mapint,intmp; int main() { ios::sync_with_stdio(false); cin.tie(0); cinnq; for(int i1;in;i) cina[i], mp[a[i]] ; while(q--) { cink; vectorintB; for(int i 1;ik;i) { int x; cinx; B.push_back(x); } for(int i:B) { mp[a[i]] --; if(mp[a[i]] 0){ auto it mp.find(a[i]); mp.erase(it); } } auto it mp.begin(); coutit - first\n; for(int i:B) mp[a[i]] ; } return 0; }D - Integer-duplicated Path题意题目的意思大致是我们有一棵节点数为 n 的树给出它的边信息和点权数组 a 。对于点 k (1~n)要求我们判断从 1 到 k 的简单路径上存不存在两个点权相等的点。思路很显然由于我们求的路径都是从 1 到 某个点 所以我们以 1 为根节点进行建树。我们从 1 开始深搜然后维护一个 map 变量来记录目前存在在路径上的点权对于每一个新加入的点进行判断并将已存在重复的信息传递下去就可以顺利完成这道题目了。整个算法的复杂度是 O(nlogn) 可以顺利通过本题。正解代码#includebits/stdc.h using namespace std; const int N 2e55; int n; int a[N]; bool ans[N]; mapint,intmp; vectorinte[N]; inline void dfs(int x, int fa, bool now) { if(mp[a[x]] || now){ ans[x] true; } else ans[x] false; mp[a[x]] ; for(int i:e[x]) { if(i fa) continue; dfs(i,x,ans[x]); } mp[a[x]] --; } int main() { ios::sync_with_stdio(false); cin.tie(0); cinn; for(int i1;in;i) cina[i]; for(int i1;in;i) { int u,v; cinuv; e[u].push_back(v); e[v].push_back(u); } dfs(1,0,false); for(int i1;in;i) cout(ans[i]?Yes:No)\n; return 0; }E - Simple Division题意题目的大致意思是我们有一个被除数 N 和一个除数 M 我们最终需要输出 (N / M ) 向下取整再 mod 10007 的值。我们的 N 一开始是 0 我们要进行 k 次操作每次操作给出一个 c 和 一个 l我们需要将 l 个 c 加入到 N 的尾部。思路由于 c 和 l 都是极大的值所以我们想要使用迭代来求出 N 的值是不现实的事情这时候我们想到了快速幂。对于每一次操作我们先把 N 乘以 10 的 l 次 然后加上 l 个 c后者也是比较好求的我们模仿快速幂的操作写一个函数就可以了也是 logl 的复杂度。但是我们最终的结果是 N/M 向下取整再对 mod 10007 取模所以我们快速幂取模时不可以直接选择 mod。那么我们该选择什么模数呢答案是 mod * M 。为什么呢等价于这样我们在快速幂的过程中取模就不会影响到最终结果了。整个算法的复杂度是 O(klog l) 能够完美通过本题。除此之外我们还可以用矩阵快速幂处理中间的过程不过结果是一样的。正解代码#includebits/stdc.h #define int long long using namespace std; const int M 1e45, K 1e55, L 1e95; int mod 10007; int m,k; int c[K],l[K]; inline int qpower1(int x, int y) { int res 1; for(;y;y1, xx*x%mod) if(y1) resres*x%mod; return res; } inline int qpower2(int x,int y) { int res 0; int base 10; int now x; for(;y;y1, now (now*base%mod now) % mod , base base*base%mod) if(y1) res (res*base%mod now)%mod; return res; } signed main() { cinkm; mod * m; for(int i1;ik;i) cinc[i]l[i]; int ans 0; for(int i1;ik;i) ans (ans*qpower1(10,l[i])%mod qpower2(c[i],l[i])%mod)%mod; mod / m; ans ans/m%mod; coutans; return 0; }以上就是这篇文章的全部内容了。

相关新闻

小白入门:WinForm 自定义仪表盘控件开发(二)

小白入门:WinForm 自定义仪表盘控件开发(二)

一、重写 OnPaint 事件:给仪表盘画「颜值」,核心绘制逻辑都在这 仪表盘的所有外观效果,比如底圆、渐变扇形、环形、中心文字,都靠OnPaint 事件实现,这是自定义控件绘制的核心入口。新手刚开始看这段代码会觉得懵&…

2026/7/2 22:38:05 阅读更多 →
中国经济全景分析---以及未来的核心演化路径(续存在的直觉延申一文)

中国经济全景分析---以及未来的核心演化路径(续存在的直觉延申一文)

本文为个人想法分享,是一种幻觉创作,只图一乐。作者自愿放弃全部内容的一切权利,不作任何原创确权;内容由 AI 辅助生成,未参考任何特定文章,尊重所有原创著作权,侵删。提问: 我们之前…

2026/5/17 10:24:57 阅读更多 →
2026年最新评测!济南众多联想服务器优化策略,究竟哪家才是好用之选?

2026年最新评测!济南众多联想服务器优化策略,究竟哪家才是好用之选?

在当今数字化飞速发展的时代,服务器作为企业数据存储、处理和传输的核心设备,其性能和稳定性至关重要。在济南市场,众多企业提供联想服务器优化策略,其中济南特荣信息技术有限公司脱颖而出,成为值得信赖的好用之选。产…

2026/7/5 11:32:44 阅读更多 →

最新新闻

3个简单步骤掌握VIA键盘配置:打造你的个性化机械键盘

3个简单步骤掌握VIA键盘配置:打造你的个性化机械键盘

3个简单步骤掌握VIA键盘配置:打造你的个性化机械键盘 【免费下载链接】releases 项目地址: https://gitcode.com/gh_mirrors/re/releases VIA(Visual Interface for Anything)是一款革命性的开源键盘配置工具,专为机械键盘…

2026/7/5 15:20:32 阅读更多 →
Codex 桌面客户端下载与安装,Windows 和 Mac 新手一步到位

Codex 桌面客户端下载与安装,Windows 和 Mac 新手一步到位

一、Codex 是什么? Codex 是一款桌面端 AI 智能体工具。 下载地址: 软件下载地址Codex 客户端https://pan.quark.cn/s/d1dd498567ec 很多开发者第一次接触 Codex 时,容易直接跳进“找安装包”的环节,结果装好后发现无法使用。其…

2026/7/5 15:20:32 阅读更多 →
手机啦咯啦咯啦咯啦咯啦咯啦咯啦咯

手机啦咯啦咯啦咯啦咯啦咯啦咯啦咯

2026/7/5 15:18:31 阅读更多 →
SARSteer: Safeguarding Large Audio Language Models via Safe-Ablated Refusal Steering

SARSteer: Safeguarding Large Audio Language Models via Safe-Ablated Refusal Steering

文章核心总结与翻译 一、主要内容 本文聚焦大型音频语言模型(LALMs)的安全对齐问题,针对现有LLM和LVLM安全防御方法直接迁移至LALMs时存在的两大缺陷(音频输入下基于LLM的引导失效、基于提示的防御导致良性查询过度拒绝),提出了首个推理时防御框架SARSteer(Safe-Ablat…

2026/7/5 15:16:31 阅读更多 →
Explainability of Large Language Models: Opportunities and Challenges toward Generating Trustwort...

Explainability of Large Language Models: Opportunities and Challenges toward Generating Trustwort...

文章核心总结与创新点 主要内容 文章聚焦大型语言模型(LLMs)的可解释性,围绕局部可解释性和机制可解释性两大核心方向展开。首先梳理了LLMs的发展背景与Transformer架构基础,系统综述了现有局部可解释性(如思维链推理、检索增强生成等)和机制可解释性(如注意力头分析、…

2026/7/5 15:16:31 阅读更多 →
深度解析Bottles:如何在Linux上轻松运行Windows游戏和软件

深度解析Bottles:如何在Linux上轻松运行Windows游戏和软件

深度解析Bottles:如何在Linux上轻松运行Windows游戏和软件 【免费下载链接】Bottles Run Windows software and games on Linux 项目地址: https://gitcode.com/gh_mirrors/bo/Bottles 你是否曾经因为某个心爱的Windows游戏或专业软件无法在Linux上运行而感到…

2026/7/5 15:14:30 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻