• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






suncongbo

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  数据结构

1 2 下一页

包含分块。
 
Gym 101480G BZOJ 4432 [CERC2015]Greenhouse Growth (链表)
摘要:题目链接 (Gym) https://codeforces.com/gym/101480/standings (BZOJ) 大人,时代变了。 题解 很神仙的题。 显然如果相邻两个数相等那么它们永远会相等,于是可以把相等的连续段缩到一起。 用链表维护所有的连续段,并对每个连续段维护以下信息: \(l\ 阅读全文
posted @ 2021-01-18 16:42 suncongbo 阅读(262) 评论(1) 推荐(0)
Gym 100299E BZOJ 4054 [CERC2013]Escape (启发式合并)
摘要:题目链接 (Gym) https://codeforces.com/gym/100299 (BZOJ) 大人,时代变了。 题解 一个显然的思路是树形 DP,设 \(f[u]\) 为一个二元组的集合,每个二元组 \((x,y)\) 表示“如果我有至少 \(x\) 的血量,那么我可以多得到 \(y\) 阅读全文
posted @ 2021-01-13 10:55 suncongbo 阅读(229) 评论(4) 推荐(1)
Codeforces 1375H Set Merging (分块)
摘要:题目链接 https://codeforces.com/contest/1375/problem/H 题解 首先注意到 $2.2\times 10^6\approx 2n\sqrt q$,因此想到分块。 考虑对值域进行分块,每块内值域连续,位置保持相对不变,大小为 \(B\),分成 \(\frac{ 阅读全文
posted @ 2020-07-09 18:45 suncongbo 阅读(326) 评论(0) 推荐(0)
Codeforces 997D Cycles in Product (点分治、DP计数)
摘要:题目链接 https://codeforces.com/contest/997/problem/D 题解 点分治这个思路想不到== 首先这两棵树的笛卡尔积并没有什么用处,因为笛卡尔积中的环就是两棵树中各找一个环按任意顺序归并起来(且不难证明不同的归并顺序对应不同的方案)。只需要对两棵树分别求出 \( 阅读全文
posted @ 2020-04-07 23:38 suncongbo 阅读(180) 评论(0) 推荐(0)
Codeforces 997E Good Subsegments (线段树)
摘要:题目链接 https://codeforces.com/contest/997/problem/E 题解 经典题,鸽了 159 天终于看明白题解了。。 考虑一个区间是连续的等价于这个区间内的 $(\max \min) (r l)=0$,否则该值 $\gt 0$. 那么我们考虑从小到大枚举右端点 $r 阅读全文
posted @ 2020-04-07 16:27 suncongbo 阅读(247) 评论(0) 推荐(0)
Codeforces 1004F Sonya and Bitwise OR (线段树)
摘要:题目链接 https://codeforces.com/contest/1004/problem/F 题解 这种水题都不会做了怎么。。 考虑一个序列的前缀 $\text{or}$ 值只会变化 $O(\log W)$ 次,于是线段树维护每个区间的前缀和后缀 $\text{or}$ 值即可。 时间复杂度 阅读全文
posted @ 2020-04-03 20:42 suncongbo 阅读(183) 评论(0) 推荐(0)
Codeforces 516D Drazil and Morning Exercise (栈、二分)
摘要:题目链接 https://codeforces.com/contest/516/problem/D 题解 我还是数据结构水平太低了啊……连一个点子树内距离不超过$l$的点数都不会求 首先有一个熟知的结论是,我们任取原树的一条直径,那么对于任何一个点,直径的两端点中至少有一个到它的距离等于它到所有点的 阅读全文
posted @ 2020-02-20 14:29 suncongbo 阅读(163) 评论(0) 推荐(0)
Codeforces 671E Organizing a Race (贪心、线段树)
摘要:题目链接 https://codeforces.com/contest/671/problem/E 题解 完全不会做……基本是抄lk的代码 ruogu的题解: https://www.luogu.com.cn/blog/ruogu-pupil/cf671esoj809-tan-xin-er-fen- 阅读全文
posted @ 2020-01-17 11:33 suncongbo 阅读(304) 评论(0) 推荐(1)
UOJ #268 BZOJ 4732 [清华集训2016]数据交互 (树链剖分、线段树)
摘要:题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4732 (UOJ) http://uoj.ac/problem/268 题解 首先考虑,给定一条路径,如何计算与其相交的所有路径的权值和?显然一条路径和另一条路径相交,当且仅当 阅读全文
posted @ 2019-12-18 09:52 suncongbo 阅读(240) 评论(0) 推荐(0)
UOJ #164 [清华集训2015]V (线段树)
摘要:题目链接 http://uoj.ac/problem/164 题解 神仙线段树题。 首先赋值操作可以等价于减掉正无穷再加上$x$. 假设某个位置从前到后的操作序列是: $x_1,x_2,...,x_k$ 那么则有: 当前值就是该序列的最大后缀和,历史最大值就是该序列的最大子段和! 然后如果把最大子段 阅读全文
posted @ 2019-12-08 08:35 suncongbo 阅读(186) 评论(0) 推荐(0)
BZOJ 4388 [JOI2012春季合宿]Invitation (线段树、二叉堆、最小生成树)
摘要:题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4388 题解 模拟Prim算法? 原题所述的过程就是Prim算法求最大生成树的过程。于是我们可以知道起始点并没有影响。 那么就用数据结构模拟Prim算法吧。 首先离散化所有区间,每个区间只需 阅读全文
posted @ 2019-10-27 19:14 suncongbo 阅读(276) 评论(0) 推荐(0)
[JOI2012春季合宿]Rotate (链表)
摘要:题意 题解 又是一道神仙题…… 显然的做法是大力splay,时间复杂度$O((N+Q)N\log N)$, 可以卡掉。 正解: 使用十字链表维护矩阵,在周围增加第$0$行/列和第$(n+1)$行/列,设$li[x][d]$表示$x$这个点在$d$这个方向上的下一个元素的编号是什么(一开始给每个元素都 阅读全文
posted @ 2019-10-23 08:27 suncongbo 阅读(279) 评论(0) 推荐(0)
BZOJ 4814 Luogu P3699 [CQOI2017]小Q的草稿 (计算几何、扫描线、set)
摘要:题目链接 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id=4814 (Luogu) https://www.luogu.org/problem/P3699 题解 写了这么多扫描线依然不会写。。 首先思路非常简单,枚举每个点,把所有的直线按照极角序 阅读全文
posted @ 2019-10-18 16:29 suncongbo 阅读(237) 评论(0) 推荐(0)
BZOJ 2959 长跑 (LCT、并查集)
摘要:题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2959 题解 真是被这题搞得心态大崩……调了7个小时……然而并查集都能写成$O(n^2)$的我还能怪谁呢 显然要把每个边双连通分量缩成点,点权为边双连通分量内所有点点权和,然后答案就等于两点 阅读全文
posted @ 2019-09-18 21:52 suncongbo 阅读(225) 评论(0) 推荐(0)
AtCoder AGC014E Blue and Red Tree (启发式合并)
摘要:题目链接 https://atcoder.jp/contests/agc014/tasks/agc014_e 题解 完了考场上树剖做法都没想到是不是可以退役了。。。 首先有一个巨难写的据说是$O(n\log^3n)$的树剖+树套树做法: 对于每条红边$(u,v)$, 给蓝树上两点间路径$+1$, 然 阅读全文
posted @ 2019-09-16 15:24 suncongbo 阅读(297) 评论(0) 推荐(0)
BZOJ 2759 一个动态树好题 (LCT)
摘要:滚回来学文化课了…… 题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2759 题解 LCT,显然的做法是维护链上所有一次函数的复合。 如何处理根的问题? 考虑所有的连通块都建成有根树,另外记录每个根的父亲。 修改父亲的时候,如果修改的是根 阅读全文
posted @ 2019-08-24 12:39 suncongbo 阅读(239) 评论(0) 推荐(0)
BZOJ 1920 Luogu P4217 [CTSC2010]产品销售 (模拟费用流、线段树)
摘要:题目链接 (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=1920 (luogu) https://www.luogu.org/problem/P4217 题解 模拟费用流。 首先可以建出下面这样的图: 对于每一天$i$建一个点,另新建 阅读全文
posted @ 2019-08-19 00:24 suncongbo 阅读(323) 评论(2) 推荐(0)
HDU 6155 Subsequence Count (DP、线性代数、线段树)
摘要:题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6155 题解 DP+线代好题。(考场上过多时间刚前两题,没怎么想这题……) 首先列出一个DP式: 设$dp[i][j]$表示到第$i$位最后一位是$j$有多少个本质不同的子序列(最后一位不一定取到第$i$ 阅读全文
posted @ 2019-08-16 20:23 suncongbo 阅读(200) 评论(0) 推荐(0)
BZOJ 5326 [JSOI2017]博弈 (模拟费用流、线段树)
摘要:题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5326 题解 终于成为第8个A掉这题的人……orz tzw神仙早我6小时 本以为这东西常数巨大,没想到跑得还挺快,bzoj上不到5s就过了。 神仙题。 首先第一步转化就相当神仙: 把数组按后 阅读全文
posted @ 2019-08-14 17:34 suncongbo 阅读(354) 评论(0) 推荐(0)
BZOJ 3836 Codeforces 280D k-Maximum Subsequence Sum (模拟费用流、线段树)
摘要:题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=3836 (Codeforces) http://codeforces.com/contest/280/problem/D 题解 似乎是最广为人知的模拟费用流题目。 线段树维护D 阅读全文
posted @ 2019-08-12 18:48 suncongbo 阅读(160) 评论(0) 推荐(0)
 

1 2 下一页