会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
劝君
渭城朝雨浥轻尘,客舍青青柳色新。劝君更尽一杯酒,西出阳关无故人。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
17
18
19
20
21
22
23
24
25
···
55
下一页
2021年11月16日
洛谷P5340 大中锋的游乐场 题解 分层图最短路
摘要: 题目链接:https://www.luogu.com.cn/problem/P5340 解题思路: 拆点/分层图最短路。 每个点 \(u\) 及到达点 \(u\) 是所吃汉堡与所喝可乐数量之差 \(p\) 对应一个二元组 \((u,p)\)。对二元组求最短路。 示例程序: #include <bit
阅读全文
posted @ 2021-11-16 19:20 quanjun
阅读(62)
评论(0)
推荐(0)
2021年11月9日
洛谷P4168 [Violet]蒲公英 题解 数列分块
摘要: 题目大意:对大小为 \(n\) 的数列进行 \(m\) ,每次求出区间最小众数。 解题思路:数列分块。同:LOJ6285. 数列分块入门 9 示例程序: #include <bits/stdc++.h> using namespace std; const int maxn = 40040; int
阅读全文
posted @ 2021-11-09 14:00 quanjun
阅读(39)
评论(0)
推荐(0)
LOJ6285. 数列分块入门 9 题解
摘要: 题目链接:https://loj.ac/p/6285 设计操作: 区间众数。 解题思路: 我摊牌了,我看的这篇题解:https://www.cnblogs.com/acfunction/p/10051345.html 写的太好了!! 主要操作: \(p_{i,j}\):第 \(i\) 块到第 \(j
阅读全文
posted @ 2021-11-09 13:53 quanjun
阅读(193)
评论(0)
推荐(0)
LOJ6284. 数列分块入门 8 题解
摘要: 题目链接:https://loj.ac/p/6284 涉及操作: 区间查询某一个数 \(c\) 出现的次数; 区间更新。 解题思路: 一开始的思路是除了整块维护以外,再对每一个区间用一个 multiset 维护每一个数出现的次数。这样更新和查询一次的时间复杂度都会降到 \(O(\sqrt n \lo
阅读全文
posted @ 2021-11-09 09:25 quanjun
阅读(108)
评论(0)
推荐(0)
2021年11月8日
LOJ6283. 数列分块入门 7 题解
摘要: 题目链接:[https://loj.ac/p/6283](https://loj.ac/p/6283) 设计操作: 1. 区间加法 2. 区间乘法 3. 单点查询 解题思路: 用 $X_i$ 维护第 $i$ 个分块当前乘的数,用 $Y_i$ 维护第 $i$ 个分块当前加的数。 若当前乘了 $X_i$
阅读全文
posted @ 2021-11-08 22:15 quanjun
阅读(68)
评论(0)
推荐(0)
LOJ数列分块入门 6 题解 重新分块(重构)
摘要: 题目链接:https://loj.ac/p/6282 涉及操作: 单点插入; 单调询问。 解题思路: 每 \(\sqrt n\) 次插入后,重新把数列平均分一下,重构需要的时间复杂度为 \(O(n)\),重构的次数为 \(O(\sqrt n)\),可以解决这个问题。 但是按照原作者的代码,是:如果出
阅读全文
posted @ 2021-11-08 21:07 quanjun
阅读(98)
评论(0)
推荐(0)
LOJ6281. 数列分块入门 5 题解
摘要: 题目链接:https://loj.ac/p/6281 涉及操作: 区间开方; 区间求和。 解题思路: 主要思路:\(2^{32}\) 次方内的数最多开 \(7\) 次方都会变成 \(1\)。 用 \(tag_i\) 表示第 \(i\) 个分块的整体开方次数,则 \(tag_i \ge 7\) 时这个
阅读全文
posted @ 2021-11-08 18:46 quanjun
阅读(44)
评论(0)
推荐(0)
LOJ6280. 数列分块入门 4 题解
摘要: 题目链接:https://loj.ac/p/6280 涉及操作: 区间加法; 区间求和。 解题思路: 数列分块。 需要: \(sum_i\) 表示第 \(i\) 个分块单独累加的数值和; \(tag_i\) 表示第 \(i\) 个分块整体累加的数值和(就是分块 \(i\) 内的每个数都会增加 \(t
阅读全文
posted @ 2021-11-08 18:28 quanjun
阅读(118)
评论(0)
推荐(1)
LOJ6279. 数列分块入门 3 题解
摘要: 题目链接:https://loj.ac/p/6279 涉及操作: 区间加法; 区间询问某个数 \(x\) 的前驱(比其小的最大元素)。 解题思路: 数列分块。思路和第2题思路几乎相同,也是每一段副本排序。完整的分块进行二分查找。 示例程序: #include <bits/stdc++.h> usin
阅读全文
posted @ 2021-11-08 17:16 quanjun
阅读(75)
评论(0)
推荐(0)
LOJ6278. 数列分块入门 2 题解
摘要: 题目链接:https://loj.ac/p/6278 涉及操作: 区间加法; 区间询问小于某个值 \(x\) 的数的个数。 解题思路: 数列分块。 每个分块保存一个副本并排序(程序中用 vector 容器 vec[i] 来保存第 i 个分块中的信息)。 示例程序: #include <bits/st
阅读全文
posted @ 2021-11-08 15:30 quanjun
阅读(54)
评论(0)
推荐(0)
上一页
1
···
17
18
19
20
21
22
23
24
25
···
55
下一页
公告