欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!
专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。 2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。
适合人群:
- 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
- 希望系统学习C++/Python编程的初学者
- 想要提升算法与编程能力的编程爱好者
AWC 0089
赛情分析
| A | Correcting the Household Account Book | ⭐ | 模拟 / 前缀和 | 维护总和,每次操作直接减去被清零位置的值即可。 |
| B | Connecting Pipes | ⭐⭐ | 贪心 / 排序 | 将管道按有效长度降序排序,依次选取并维护最大长度,注意每多选一根管道需扣除连接成本K。 |
| C | A Walk to Cherry Blossom Viewing | ⭐⭐⭐ | 双指针(滑动窗口) | 用滑动窗口维护成本不超过预算B的连续散步道区间,动态调整左右指针并更新最大景点分数和。 |
| D | Cheapest Route | ⭐⭐⭐ | Dijkstra最短路 | 边权为两端城市人口乘积,从城市1跑单源最短路,取所有机场城市的最小距离。 |
| E | Painting the Fence | ⭐⭐⭐⭐⭐ | 离散化 + 扫描线 + 差分 | 将区间端点离散化后用扫描线维护当前覆盖集合,利用差分数组统计忽略K个连续指令后的最大覆盖长度。 |
题目
题解:AtCoder AT_awc0089_a Correcting the Household Account Book
题解:AtCoder AT_awc0089_b Connecting Pipes
题解:AtCoder AT_awc0089_c A Walk to Cherry Blossom Viewing
题解:AtCoder AT_awc0089_d Cheapest Route
题解:AtCoder AT_awc0089_e Painting the Fence
AWC 0088 Beta
赛情分析
| A | Bus Departure Time | ⭐ | 模拟 | 所有学生上车完毕的时间为
T i T_i Ti 的最大值,加上 K K K 即为发车信号时间。 |
| B | Bus Tour Group Division | ⭐⭐ | 贪心 / 排序 | 将出发时间排序后贪心分组,每组以第一个元素为基准,差值超过
K K K 时开启新组。 |
| C | Farm Harvest Festival | ⭐⭐⭐ | 差分 / 前缀和 | 用差分数组标记所有被覆盖过的田地,前缀和还原后累加被覆盖位置的
A i A_i Ai。 |
| D | Control Panel Operation Sequence | ⭐⭐⭐⭐ | 全排列枚举 + 哈希表 |
N ≤ 9 N \\leq 9 N≤9 允许枚举 N ! N! N! 种操作顺序,用 map 离线记录每种结果序列的出现次数。 |
| E | Intervals That Can Be Arranged Alternately | ⭐⭐⭐⭐⭐ | 莫队算法 | 好区间判定转化为前缀差分数组中两位置差值绝对值不超过 1,用莫队离线统计数对。 |
题目
题解:AtCoder AT_awc0088_a Bus Departure Time
题解:AtCoder AT_awc0088_b Bus Tour Group Division
题解:AtCoder AT_awc0088_c Farm Harvest Festival
题解:AtCoder AT_awc0088_d Control Panel Operation Sequence
题解:AtCoder AT_awc0088_e Intervals That Can Be Arranged Alternately

