11月 月度检测 总结

news/2025/11/24 21:54:17/文章来源:https://www.cnblogs.com/LcukyCat/p/19265941

菜菜菜。

比赛 rk2。嗯对所以为什么 H 没有调出来为什么。

A - ASCII Art Contest

这个简直纯红题了吧,输入三个数塞进数组,从小到大排序,然后看差值,找中位数,做完了。

B - Dungeon Equilibrium

统计每种数字的出现个数,然后看 \(i\) 的出现个数 \(c_i\) 是否大于等于 \(i\),大就删,少了就全删(不能要了)。注意还有个 \(i=0\)

C - Your Name

统计字符出现个数然后判等即可。

D - Expansion Plan 2

赛时吃发罚时,脑抽正着推了,还没判断距离情况。

咦不对啊好像正着推也没错(

我这里是反着做的,就是维护 \((nx,ny)\) 这个节点,从你所关注的节点 \((X,Y)\) 开始跑,看最终能不能跑得到 \((0,0)\) 去。根据l两种扩充方式来,如果是八方向扩就是往最靠近的一个方向,四方向只能移一边所以要看距离绝对值哪个更大移哪边。

E - 兔子与兔子

Hash 板题。预处理 Hash 前缀和以及倍数情况然后可以 \(O(1)\) 提取一段序列的 Hash 值最后直接判断就 OK 了。

F - Divine Tree

首先我们发现只要构造一条链就好了!

紧接着我们发现,我们定义 \(d_i\) 为某个值,然后使 \(\sum d = m\) 就好了。

噢对上面这些,啊,都是废话。

然后我们发现 \(d_i\) 最大也只能是 \(i\),所以看一下 \(\sum i\) 是否 \(\ge m\)。还不够那就是真不够了直接无解。

同理再发现 \(d_i\) 最小是 \(1\),于是当 \(m<n\) 时直接拜拜。

接下来,我们考虑先让所有 \(d_i = i\),再挨个去调整。

一个个去调整很麻烦啊,何况你也不知道要把 \(d_i\) 调成啥,于是这里就定,如果要调,就把 \(d_i = 1\) 吧。

那么就是,最开始有个 \(sum = \sum i\),接着倒序枚举 \(i\),只要 \(sum-(i-1) \ge m\) 我们就改 \(d_i = 1\),并让 \(sum \gets sum-(i-1)\)。直到最后 \(sum\) 会变为 \(m\),这个时候我们就得到了一个合理的 \(d\) 数组。

最后就是考虑如何构造这个 \(d\) 数组。首先找出所有 \(d_i = i\)\(i\),从大到小串成一条链,最大的当根。这样就能够确保这些 \(i\) 都有 \(d_i = i\) 了。这个时候 \(1\) 已经接在这条链的末端了,我们把剩下的所有 \(i\)(也就是被改成 \(d_i = 1\) 的那一波)无序接在 \(1\) 的后面成一条链就完了。

然后你发现 \(1\) 后面那一串东西全部都当 \(1\) 的儿子接着也是可以的。

G - Tree Jumps

水题喵。

首先这一眼 DP 题啊。先定状态,\(dp_i\) 表示从 \(1\) 移动到 \(i\) 的方案序列个数,最终答案即为 \(\sum dp_i\)

接着我们考虑转移。根据这个转移的性质我们需要记录每个 \(i\) 的深度 \(dep_i\),这里令根节点深度为 \(0\)

初始化所有 \(dep_i = 1\)\(i\) 都有 \(dp_i=1\)。以及 \(dp_1 = 1\),根节点唯一的移动方式就是别动。

紧接着我们就深度为 \(2\) 的节点开始转移。由于担心转移深度 \(d\) 的时候,还有深度为 \(d-1\) 的没转移完,这个时候深度 \(d\) 的转移就会受到影响,于是决定按照深度从小到大枚举。可以用个 vector 一开始按深度存一下之后直接遍历就行。

这个时候我们考虑如何转移 \(dp_i\)。发现我们只需要枚举所有深度为 \(dep_i-1\) 并且不是 \(i\) 的父亲的节点 \(j\),让 \(dp_i \gets dp_i + dp_j\),当然是要取模的。

于是我们就成功得到了一个平方级别的做法,需要优化它。

发现转移 \(dp_i\) 的时候,所有深度为 \(dep_i-1\) 的节点中只有 \(i\) 的父亲不算入,其他都算,那你完全没必要把所有的枚举一遍啊,记录个 \(sum\) 然后把它父亲的减掉不就完了。

也就是说,每当你求出一个 \(dp_i\),就让 \(sum_{dep_i} \gets sum_{dep_i} + dp_i\),取模。那么转移 \(dp_i\) 的时候,就直接可以让 \(dp_i = sum_{dep_i - 1} - dp_{fa_i}\),于是我们就成功优化成 \(O(n)\) 线性的啦!

还是那句话,记得取模。

H - Prefix-Suffix Palindrome (Hard version)

会思路然后实现不出来是真的很窒息。

我赛时的思路大概就是,首先沿着左右两边找最长的公共子串,接着跑 Manacher 根据信息找最大的回文串,要求挨着左右两边的分别端点之一(这里的端点是指找过最长公共子串后的),最后还原字符串。

感觉这个思路是不复杂的,不过实现起来真的有点麻烦,主要是因为跑 Manacher 那会儿是加了无意义字符杂在中间的,还原有些麻烦,以及有些时候的边界问题比较复杂。以及就是最后需要把字符串弄出来这里就有两倍代码量了。

抽空还是会去把它实现掉吧。

I - Adjusting Drones

没听太懂?,好像有一部分是类似前缀和的什么模拟,其他的没太听懂。/ng

J - Git Gud

纯属构造题啊,这。

首先能想到 \(\log\) 级别砍半的做法,但是细算下来会爆炸,大约要个 \(2 \times 10^6\) 朝上的机器人币,但你没有这么多。

于是想到去做一个分块的做法,每次进行跳跃让块长减一,然后最后跳成几个块,直接就搞定了。发现取初始块长 \(B=100\) 时可以卡线小于 \(10^6\),机器人币够!太棒了!所以就解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zhengrui 喵了个喵

首先显然缩成一段段的,发现长度 \(\ge 2\) 的和 \(= 2\) 没区别,可以转化一下,然后就是不难发现每次会删去一个段。 那么将操作变成如下:你现在有一些 \(1, 2\) 交错的段,你可以每次删除一个段,然后将左右两端合…

黄仁勋GTC华盛顿主题演讲:加速计算与AI的下一个“阿波罗时刻” - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Trick——语法

part1 经常在表示 \(2^n\) 时使用 \((1<<n)\)。 但不幸的是,它在 \(long long\) 范围会溢出! 难道只能手写快速幂了吗? 不,改成 \((1ll<<n)\) 就行了。

人工智能 —— 教培 —— 技校 —— 授课内容

人工智能 —— 教培 —— 技校 —— 授课内容发现了一个神奇的资源: https://github.com/AccumulateMorepython 基础(教培内容) https://github.com/AccumulateMore/Python本博客是博主个人学习时的一些记录,不保证…

老鼠和奶酪 记忆化搜索

记忆化dp的特征很明显(之前递推学过的记忆化就派上用处) 如果超时就用这个方法改进吧 重要的是我们dp[][]从这个点出发可以吃到的最多奶酪 int mm=g[x][y]; mm=max(mm,g[x][y]+dfs(nx,ny));//没走和走了 出发的概念就…

深入解析:数独解题算法lua脚本

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

老鼠和奶酪 关于修改地图我找到了不可行之处

不能修改的地图的在于我们用到地图的值的乖乖用visited!!! 在if句子出错但是检查不出来 #include <bits/stdc++.h> using namespace std; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int g[105][105]; int n,…

Hanoi和全排列

hanoi #include <bits/stdc++.h> using namespace std; void hanoi(int n,char f,char a,char t) {if(n==1) {printf("Move disk %d from %c to %c\n",n,f,t);return;//要写 }hanoi(n-1,f,t,a);printf…

2025.11.24 周作业 45 速通

A. CF2163C 好像有 \(O(n)\) 做法。 但是我写了高贵的 \(O(n \log^2 n)\),对于每个左端点去确定右端点的取值范围,二分套二分。 B. CF1849C 考虑把操作区间扩展到极长有序区间,map 做完了。 C. CF2147D 注意力题,但…

Trae搭建Android 开发中 MVVM 架构,使用指南

我理解你需要一份关于如何搭建 Android MVVM 架构的详细指南。下面我将为你进行详细的解释。 一、MVVM 架构简介 MVVM(Model-View-ViewModel)是一种软件架构模式,将应用分为三个核心组件:Model:负责数据处理(网络…

2025/11/24~2025/11/28 做题笔记 - sb

2025/11/24 Codeforces Round 1066 (Div. 1 + Div. 2) A. Dungeon Equilibrium 比较简单,很明显要么全部清除要么削减到 \(a_i = i\),直接算即可 Code #include <iostream> #include <map>using namespa…

IPD流程用什么项目管理工具?飞书项目、Primavera P6、Jira、Windchill 功能对比与选型

在实施 IPD(集成产品开发)流程时,选择合适的项目管理工具至关重要。本文系统分析了 飞书项目、Oracle Primavera P6、Jira + Confluence、PTC Windchill 在需求管理、阶段评审、跨部门协同、变更控制、风险闭环等 I…

CF2061H2 Kevin and Stones (Hard Version) 题解

Description Kevin 有一个包含 \(n\) 个顶点和 \(m\) 条边的无向图。初始时,某些顶点上有石子,Kevin 想要将这些石子移动到新位置。 Kevin 可以执行以下操作:对于每个位于 \(u_i\) 的石子,选择一个相邻顶点 \(v_i\…

详细介绍:Java外功基础1Spring Web MVC构建现代Web应用的基石

详细介绍:Java外功基础1Spring Web MVC构建现代Web应用的基石2025-11-24 20:51 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

大盘风险控制策略分析报告 - 2025年11月24日 - 20:52:39

大盘风险控制策略分析报告 - 2025年11月24日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-wi…

解码服务器IO模型

IO 模型 服务器 IO 模型是服务端网络程序同时处理多个套接字的核心方案,无论是 UDP 还是 TCP 服务器,都需通过合理的 IO 模型应对多客户端请求场景。以下从核心概念到具体模型,结合代码示例与详细解释展开说明。 UD…

winfrom 操作列 动态按钮

winfrom 操作列 动态按钮public partial class Form1 : Form {public Form1(){InitializeComponent();// 绑定事件this.dataGridView1.CellPainting += DataGridView1_CellPainting;this.dataGridView1.CellClick += D…

蓝桥杯-Python-基础语法

蓝桥杯-Python-基础语法上周开始了蓝桥杯python算法课程的学习,前几部分都是python算法基础,无非是一些加减乘除的运算,但还是需要牢记。在这里总结一些我自己容易遗忘或记错的语法。 一. 算数运算符加 两个对…

电脑重启后WiFi服务没有启动导致WiFi无法开启

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wcmsvc 双击"DependOnService" 删除其中的WinHttpAutoProxySvc,点击确定。 重启电脑

大盘风险控制策略分析报告 - 2025年11月24日 - 20:51:47

大盘风险控制策略分析报告 - 2025年11月24日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-wi…