thumbnail
2025.3.16 分治
0x00--【模版】快速幂 洛谷p1226 0x01--平面上的最接近的点 洛谷p1257 一开始用的暴力,令我惊奇的是 最大数据刚好卡到最大循环次数(10^8) 和数据类型定义为long double刚好能过 这样终归不太好,我们可以用分治的算法来解决: 0x02--奶牛们的秘密代码 洛谷p3612 0x03--逆序对 洛谷p1908 求逆序对的…
thumbnail
2025.3.16 第三周周赛复盘
0x00--计算阶乘 很基础 不多写了 0x01--三位小数的除数 很基础 不多写了 0x02--找每列的#的数量 很基础 不多写了 0x03--四舍五入 0x04-- (K+1)-th Largest Number 这题的思路可以分为两个部分:1.将原始数组去重,并拿到每个数字对应的大于它本身的数字的个数,用一个哈希表存储起来 2.对原始数组进行…
thumbnail
2025.3.15 堆&贪心
因为堆是一种维护当前最大(最小)值的数据结构,所以它往往可以与贪心算法(采取当前局部最优解)放在一起使用。 0x00--【模板】堆 洛谷p3378 0x01--合并果子 洛谷p1090 一道经典的贪心题 0x02--排队接水 洛谷p1223 (贪心) map和multimap 按照索引的值来排序 0x03--[NOIP 2007 普及组] 纪念品分…
thumbnail
2025.3.14 前缀和 并查集
0x00--在你窗外闪耀的星星 简单的前缀和题。如果她的心思也像这么简单好猜就好了。 0x01--牛吃草 洛谷p1672 这道题可以用二分,可以用差分,数据量比较小,还可以用暴力。 暴力: 差分: 二分的方法和暴力差不多,只是判断函数里的==改成>=或<=,main函数里再进行二分条件判断,这里就不写了。 0x02--【模版】并查集 洛谷p3…
thumbnail
2025.3.13
0x00 砍树 洛谷p1873 简单的二分,注意M的最大值可以到2*10^9,用int 来存储sum可能会溢出,所以用long long 0x01--求区间和 简单的前缀和题,注意10^4 *10^5=10^9,因此前缀和数组可以用int 类型 int最大到2*10^9 0x02--最大加权矩形 洛谷p1719 看完题目第一反应是前缀和,但是这是一…
thumbnail
2025.3.12
0x0--租借教室 洛谷p1083 (差分&二分) 最开始用暴力,时间超时,只能拿到60分: 分析了一下超时的原因:时间复杂度是O(n*m) 当n m都是题目中的最大值10^6时,总的处理次数为10^12,时间限制1s,远大于一秒处理次数10^8。 因此可以考虑用差分的方法来判断第i个请求是否满足,时间复杂度仅为O(n+m),并且最后用一个…
thumbnail
2025.3.11 dfs bfs专题 (全AC)
0x00--连通水坑(dfs、bfs) 洛谷p1596 dfs: bfs: 0x01--选数 洛谷p1036 (dfs) 0x02-- 求细胞数量 洛谷p1451 (dfs) 0x03-- 奇怪的电梯 洛谷p1135 (bfs) 0x04-- 马的遍历 洛谷p1443 (bfs) 0x05--哈利波特的迷宫 洛谷p2199 (bfs)