摘要: P1120 小木棍 - 洛谷 分析 求最小可能长度len,我们从小到大枚举len,然后dfs搜索是否存在一种短棍的分配方法,使得每根长棍长度为len。 dfs(u,k,p)当前所拼长棍剩余长度u,剩余要拼的长棍个数k,当前可用短棍最长长度 搜索剪枝: sum==len * cnt;//sum为短棍长 阅读全文
posted @ 2025-12-12 21:21 Ahui2667d 阅读(9) 评论(0) 推荐(0)
摘要: P3509 [POI 2010] ZAB-Frog - 洛谷 分析 p[i]数组给定:预处理nxt[i]为距离p[i]第k近的序号。 nxt[i]的预处理:显然,nxt[i]是包含 i 的长度为k+1的子区间的权较大端点中的权最小的点。 考虑滑动窗口维护。 跳跃m步的查询:m范围很大,我们用类似快速 阅读全文
posted @ 2025-12-11 20:39 Ahui2667d 阅读(6) 评论(0) 推荐(0)
摘要: P7167 [eJOI 2020] Fountain (Day1) - 洛谷 分析 由于喷泉确定,比第i个盘子大的第一个盘子nxt i 是确定的。我们由ST表维护nxt i 。 最终落入第几个盘子的答案显然单调,我们进行二分。nxt i j 表示i后面第 j+1个盘子,对 j 二分 代码实现 #in 阅读全文
posted @ 2025-12-09 22:07 Ahui2667d 阅读(15) 评论(0) 推荐(0)
摘要: P2880 [USACO07JAN] Balanced Lineup G - 洛谷 分析 f[i][j]记录以i开头,长度为2^i的子段的最值 f[i][j+1]=max( f[i][j] , f[i+2^(j-1)][j-1] ) 代码实现 #include<bits/stdc++.h> #def 阅读全文
posted @ 2025-12-09 20:05 Ahui2667d 阅读(7) 评论(0) 推荐(0)
摘要: P1115 最大子段和 - 洛谷 分析 dp[i]为以a[i]为子段末尾的最大子段和 dp[i+1]=max( a[i] , dp[i] + a[i] ) 代码实现 #include<bits/stdc++.h> #define int long long #define endl '\n' usi 阅读全文
posted @ 2025-12-09 19:18 Ahui2667d 阅读(1) 评论(0) 推荐(0)
摘要: P1045 [NOIP 2003 普及组] 麦森数 - 洛谷 分析 2p-1的位数,易知:跟2p的位数相同,为[log10(2)*p]+1 求末尾500位数字:高精度乘法+快速幂 代码 #include<bits/stdc++.h> #define int long long #define end 阅读全文
posted @ 2025-12-09 19:09 Ahui2667d 阅读(10) 评论(0) 推荐(0)
摘要: P1966 [NOIP 2013 提高组] 火柴排队 - 洛谷 分析 求∑(ai​−bi​)2取最小值等价于∑ai​bi取到最大值,根据排序不等式,当{ai}与{bi}的序相同时,​∑aibi取到最大值 将ai和bi分别映射为序,即ai在原数列中第k大,则ai->k 每次操作交换相邻的元素,交换一次 阅读全文
posted @ 2025-12-09 11:31 Ahui2667d 阅读(4) 评论(0) 推荐(0)
摘要: 浅谈线段树及其应用 ——————————————————————————————————————————————————————————————————————————————————————————— 概要 本文介绍了线段树的基本原理和实现,举了一些典型的可以用线段树解决的问题并进行分析和解答。 阅读全文
posted @ 2025-12-01 22:07 Ahui2667d 阅读(7) 评论(0) 推荐(0)
摘要: P4375 [USACO18OPEN] Out of Sorts G - 洛谷 分析 注意到排序跟只跟数据的序相关,我们将原始数据离散化,并将数值更新为序 不难注意到:每次moo只冒泡一次,对于每一个前缀子区间,会将较大的冒泡到末尾;由此不难想到:对于每个前缀子区间,要想让其内部有序,要冒泡的次数为 阅读全文
posted @ 2025-11-22 16:37 Ahui2667d 阅读(14) 评论(0) 推荐(0)
摘要: P1904 天际线 - 洛谷 分析 类似染色问题,P1496 火烧赤壁 - 洛谷 用x数组将所有点的横坐标离散化,用book[i]记录 [ x [ i ] ~ x [ i + 1 ] ) 的高度,(左闭右开) 每次“染色”将高度更新为最大值 代码实现 #include<bits/stdc++.h> 阅读全文
posted @ 2025-11-20 19:21 Ahui2667d 阅读(20) 评论(0) 推荐(0)