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

2025.9.16 测试

1.

Problem A: 逆序对(reverse)

根据冒泡,只要逆序对个数够就有方案

经过思考,我们找到第一个操作个数大于的前缀,然后操作前一个前缀,这样前边变有序后,与当前数成逆序对一定是个后缀,然后根据需要选任意个即可

所以我们对任意方案构造出了 \(= 2\) 的解

等于一可以扫描线
等于 0 可以特判

2.

Problem B: 追忆(recall)

发现第一问求树高

考虑方案

选择一个节点,只有在没有同深度的时候才合法

感性理解只有消掉小的一边,大的一边才能操作

所以只能操作最长链

考虑对这条长链 \(dp\)

\(f(l,r,k)\) 表示长链上的区间 \([l,r]\)\(l\) 的子树总共受到了 \(k\) 次操作的影响的操作方案数。

转移在判断操作合法性后从 \(f(l,i,k)\)\(f(i+1,r,k+1)\) 转移。

时间复杂度 \(O(d^4)\)

码先鸽会

3.

Problem C: 字符串(string)

首先看数据范围,不能贪心

然后考虑经典 \(dp\) ,考虑 \(t\) 的前 \(i\) 个,匹配 \(s\) 的前 \(j\) 个是否合法

然后考场上就觉得 \(dp\) 存 0/1 太浪费,但不会了

到这一步发现都是位运算,直接用 \(bitset\) 优化即可

4.

Problem D: 浮夸(grandiloquence)

这是一道浮夸的题目

考场上一点不会,我是数据结构低手

发现对于操作一,\((dep_{u,v} + c - 1) % k + 1\) -> \((dep_v - dep_u + c - 1) % k + 1\)

发现在 \(dep_v\) 确定时这就是区间覆盖

于是因为 \(k\) 很小,所以直接开 \(k\) 颗树存 \(dep % k == i\) 的节点

然后没了

对于 \(3\) 操作,子树 \(siz\) 不固定,有经典 \(trick\) 就是维护欧拉序(括号序)

左右括号之间的就是其子树

用平衡树维护即可

http://www.zskr.cn/news/7770.html

相关文章:

  • qt QHPieModelMapper详解 - 实践
  • webRTC golang 构建核心
  • (附源码)基于Java的学生托管系统的设计与实现 - 实践
  • agentgateway 简单试用
  • 深入解析:Go 1.25.1 自定义包调用
  • 国内AI云市场:挤不进前三,生存将成问题!
  • CDN可以使用iTrustSSL通配符证书吗?
  • [ssh]:SecureCRT的配置
  • [LeetCode] 3408. Design Task Manager
  • 从0开始的游戏全栈开发工程师学习记录
  • US$428 XTOOL X-100 PAD Tablet Key Programmer with EEPROM Adapter Support Special Functions
  • 【API接口】最新可用喜马拉雅接口
  • 25/09/18 小结
  • 用FastAPI和Streamlit实现一个ChatBot
  • re分区为y盘,efi分区为z盘
  • 文件结构与数据分析专项-解析
  • 平静
  • Codeforces 2144F Bracket Groups 题解 [ 紫 ] [ AC 自动机 ] [ DP ] [ 构造 ]
  • Clean Code/代码简洁性Good-Practice:使用统一异常来取代错误处理
  • 一个联名款电子产品的技术实现和诞生
  • JOISC
  • WPF使用Cef加载Vue3页面问题
  • IP子网划分
  • curl与wget
  • Day17冒泡排序
  • RabbitMQ—运维篇 - 指南
  • 几B大模型的空间存储大小
  • matlab免费下载安装激活教程(附安装包下载)MATLAB R2025a超详细下载安装教程
  • Spring Boot + flowable 完美结合,快速实现工作流 - 教程
  • Pyfluent 执行Meshing工作流