会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
happybob
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
7
8
9
10
11
12
13
14
15
···
51
下一页
2023年9月26日
P4075 [SDOI2016] 模式字符串 题解
摘要: 考虑点分治。 路径的合并,只需要求出每个点到当前重心的字符串是否可以成为模式串依次相连的前缀或后缀即可。 这显然可以哈希维护,手推一下就知道咋做了。 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath>
阅读全文
posted @ 2023-09-26 18:35 HappyBobb
阅读(31)
评论(0)
推荐(0)
2023年9月24日
CF986E Prince's Problem 题解
摘要: *2800,不是很难,但有点卡常。 考虑 gcd\gcdgcd 不是很好直接算,经典套路是分解质因数。 对 www 分解质因数,设结果为 w=p1a1×p2a2×⋯×pkakw=p_1^{a_1} \times p_2^{a_2} \times \cdots \times p_k^{a_k}w=p
阅读全文
posted @ 2023-09-24 20:45 HappyBobb
阅读(29)
评论(0)
推荐(0)
AT_abc321_e [ABC321E] Complete Binary Tree 题解
摘要: 简单题。 考虑枚举 LCA,显然 LCA 必然是 xxx 的祖先。 由于是完全二叉树,枚举 LCA 的复杂度显然是 O(logn)O(\log n)O(logn) 的。 枚举之后,转化成子问题,求点 uuu 的子树中有多少个到 uuu 距离为 kkk 的点。 比较显然的,点 xxx 的子树中距离为
阅读全文
posted @ 2023-09-24 10:24 HappyBobb
阅读(22)
评论(0)
推荐(0)
[ABC321F] #(subset sum = K) with Add and Erase
摘要: 这不可撤销背包板子吗。 设 fif_ifi 表示凑出 iii 方案数。 加的时候加一下,删的时候减一下,注意两个循环顺序不一样,具体可以看代码理解。 #include <bits/stdc++.h> using namespace std; #define int long long const
阅读全文
posted @ 2023-09-24 08:44 HappyBobb
阅读(32)
评论(0)
推荐(0)
2023年9月23日
AT_cf17_final_j Tree MST 题解
摘要: 一个有趣的结论是,一个图,选出若干个边集,满足他们的并为原图边集。则必有他们每个集合的 MST 的边的并,再求一次 MST 为原图的 MST。 考虑点分治,设当前重心为 uuu,设 dj=wj+dist(u,j)d_j = w_j + dist(u,j)dj=wj+dist(u,j),则有对于两
阅读全文
posted @ 2023-09-23 12:17 HappyBobb
阅读(29)
评论(0)
推荐(0)
2023年9月22日
CF1628E Groceries in Meteor Town 题解
摘要: 这为啥有 *3100。 考虑询问本质上在干什么。 树上两点之间边权最大值,相当于两点在 Kruskal 重构树(边权从小到大排序)上 LCA 的点权。 设 li,jl_{i,j}li,j 表示重构树上 iii 与 jjj 的 LCA,valival_ivali 表示重构树上 iii 的点权。 于
阅读全文
posted @ 2023-09-22 21:59 HappyBobb
阅读(26)
评论(0)
推荐(0)
2023年9月21日
CF1117G Recursive Queries 题解
摘要: 题意相当于,对 [l,r][l,r][l,r] 建出大根笛卡尔树后,求每个点的子树大小的和。 考虑点 iii 的子树大小的意义是什么?笛卡尔树上每个点的子树的编号连续。 设 LiL_iLi 表示 iii 左边第一个大于 aia_iai 的位置,RiR_iRi 表示右边第一个大于 aia_iai
阅读全文
posted @ 2023-09-21 21:08 HappyBobb
阅读(29)
评论(0)
推荐(0)
2023年9月18日
P6604 [HNOI2016] 序列 加强版 题解
摘要: 与最小值相关,考虑求出每个点左右两边第一个小于这个数的点。可以用笛卡尔树或者单调栈维护。 设 fif_ifi 表示以 iii 为右端点的所有区间的最小值之和。考虑如何转移 fif_ifi。 设 iii 左边第一个小于 aia_iai 的位置为 preipre_iprei,则 fi=fprei
阅读全文
posted @ 2023-09-18 21:54 HappyBobb
阅读(21)
评论(0)
推荐(0)
2023年9月17日
P9638 「yyOI R1」youyou 的军训 题解
摘要: Kruskal 重构树板子。 考虑建边权从大到小排序后跑 Kruskal 的重构树,对于当前点 uuu 和参数 www,只能走 ≥w\geq w≥w 边,即能去的点是 uuu 祖先中最浅的点权 ≥w\geq w≥w 的点所在子树内每个叶子节点。 发现边权修改后,相对大小不变,直接在重构树点权修改即可
阅读全文
posted @ 2023-09-17 18:04 HappyBobb
阅读(28)
评论(0)
推荐(0)
CF1062E Company 题解
摘要: 典中典。 一个点集 SSS 的 LCA 是这些点中 DFS 序最小和最大的两点的 LCA。 所以必然只会删掉最大的或最小的。 线段树或 ST 表维护一下最大和次大,最小和次小就做完了。复杂度 O(nlogn)O(n \log n)O(nlogn)。
阅读全文
posted @ 2023-09-17 12:56 HappyBobb
阅读(15)
评论(0)
推荐(0)
上一页
1
···
7
8
9
10
11
12
13
14
15
···
51
下一页
公告