自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 CF713C 及其双倍经验

用可并堆维护中位数,也就是先加入一个段中的所有数,然后删除一半的数,此时最大值就是中位数。唯一担心的是如果合并前已经删除了合并后的中位数,那么就不对了。可以注意到,如果前一个段大于的中位数后一个段的,那么合并后的中位数在前一个段时则 咕咕咕。首先发现对于两种特殊的序列(严格递增和严格递减的序列)最终都是将所有数改为这个序列的中位数。所以将原序列分成若干个单调递减的序列,对于前一个段的中位数大于后一个段的中位数,需要合并,并改成合并后的中位数。尽量增加才可以使答案更优。这个思路看起来就很不对,但是是正确的。

2024-01-30 21:45:08 1396 1

原创 P6525 「Wdoi-1」蓬莱玉枝

题目

2024-01-24 23:15:19 363

原创 重点不在于推式子的计数提

如果对所有情况下的某一特性计数,就可以利用期望的线性性拆到每个最小的单位上,然后乘上填数方案数。可以认为线段树就是一种类似分块的数据结构,也就是线段树上的一个节点。数组从小到大排好序后。

2024-01-18 22:09:34 346

原创 后缀数组做题记录

然后查答案,因为要枚举在。的部分直接做上面的扫描线。用树状数组标记,下标是。,通过二分的方式求出贡献。

2024-01-05 23:40:35 1221

原创 推式子 /kk

首先可以发现每次操作就是在前缀和数组的某一个上。因为绝对值很难处理,所以将绝对值符号拆开对于。

2024-01-05 23:34:02 749

原创 ARC100F Colorful Sequences

因为直接计算每个符合要求的序列的权值比较困难(要求是或起来的),所以考虑算出所有序列的权值再减去不符合条件的序列权值。区间时填原序列的方案数,答案即为前面每种情况方案数的总和。不重复,那么每个数没有本质区别,所以统计出。考虑后者即不符合条件的序列的权值和怎么计算。的元素不重复的序列时的答案再除以。个数不重复的序列,其中含有长度为。的元素不重复的子串的个数之和。都分开统计答案,换言之,统计。即可保证不存在合法的情况。对于原串中出现的每一个。表示极长前缀长度使得。表示极长后缀长度使得。相同的转移就可以了。

2023-12-07 22:09:42 1439

原创 CF571D Campus | 像小小的苍耳从不被人察觉

得到每个询问的点最后一次赋值的时刻后,问题进一步转化成区间求和,再做一遍类似上面的树上 dfs 即可。具体地,dfs 每经过一个点时就在所有以这个点为根的子树的赋值操作的时刻上打。我们先用一次树上 dfs 处理出每次询问的那个在点在询问时刻之前最后一次被赋值为。,然后对于每一个询问在数据结构上二分即可。这里可以选择树状数组二分或线段树二分。首先离线,对于操作一、三和操作二、四,分别建出两棵 Kruskal 重构树。然后问题就转化成在两棵树上分别做子树加一个值和子树赋值的操作。

2023-12-02 23:42:54 321

原创 分块 qwq

表示这个区间内的所有点我们都可以到达。这个区间,那么就将区间右端点与当前的数取。,碰到上面的情况就弹掉,并用最后一个弹掉的。就没用了,所以用单调栈维护用来更新。的答案,然后考虑如何预处理它。为左端点的线段最远的右端点,首先。的询问,我们记一个区间。为左端点的线段的最大右端点。

2023-11-11 23:58:53 33

原创 有关二进制类题目

像位运算这一类二进制的两位之间互不影响,所以首先考虑拆位。并且我们注意到两个数相加后第。那么我们只会关心一个数二进制。的范围内,这个计数可以双指针解决。位,换言之,我们只关心一个数模。当且仅当两数取模后的和在。

2023-11-09 22:19:59 37

原创 dp 神仙题及 trick

但是我们可以考虑一个问题,就是把题目给定的图的有向边变成无向边,原图就是一棵树,正好方便我们树形 dp。的质因数只会出现一个。基于上面的暴力做法,我们先记录每一个数中的大于。的质因数(如果没有就可以直接用暴力做法做),然后将大质数一样的一起做。所以我受这题的影响一直在想边拓扑排序边转移 dp。个数,两个人选择的质数集合分别是。表示以 u 为根的子树中,,前缀和优化后就变成。第二遍做还是不太会。

2023-11-08 23:03:34 87

原创 线段树好神仙

为了方便处理,我们先将相邻两个数对应区间的答案作为线段树叶子结点对应的区间。然后在线段树上维护一个类似 dp 的数组。首先有 log 时间复杂度的一个经典问题:区间最大子段和。,表示区间最左端和最右端的数 没有被覆盖 / 被覆盖 / 是极大值。所以只需要关注操作中心的集合就可以了。然后我们考虑用线段树维护。,这样有重复选择时会将相交的部分抵消掉。个子段不交,那么有一种 trick,就是将选出的子段乘。考虑我们要解决的问题是选出的。然后类似 dp 地在线段树上合并。减一的操作一直进行到。,不会改变最终答案。

2023-11-06 23:58:09 65

原创 扫描线 qwq

时间一维和位置一维没什么区别,随便选一个,比如扫时间一维。用数据结构维护左上角在该位置时的答案。感觉这种维护方法以前没见过?

2023-11-04 23:57:14 47

原创 atcoder dp contest 经典 dp 题选做

可以将 dp 的第二维放在线段树上转移,那么就做完了。经典 dp 的时候将区间限制挂在。首先很容易想到暴力 dp。点的区间限制的权值和。

2023-10-27 22:48:41 109

原创 Ynoi 做题记录

为了方便处理,我们先将相邻两个数对应区间的答案作为线段树叶子结点对应的区间。然后在线段树上维护一个类似 dp 的数组。,表示区间最左端和最右端的数 没有被覆盖 / 被覆盖 / 是极大值。所以只需要关注操作中心的集合就可以了。然后我们考虑用线段树维护。然后类似 dp 地在线段树上合并。减一的操作一直进行到。,不会改变最终答案。

2023-10-25 00:12:36 92

原创 组合恒等式(持续更新)

∑k0k′​kk′​m−1kmk′kmkk(m−1k。

2023-10-09 23:21:14 47 1

原创 图论神仙题

然后我们拓扑排序,然后按照拓扑序将每个点依次放在数轴上,那么图中的每条边都是从数轴上左边的一个点。首先可以注意到,如果一个点在环里,那么它一定不会被选择。对于独立的树,根是任意的,所以对于每一个点都当做根做一遍上面的 dp。因为起点和终点是任意的,所以考虑新建超级源汇点,并连。范围内的点删除后不会影响到这条边。可以注意到拓扑排序和图的连通性还是很有关系的。然后图只剩下一些独立的树和连在环上的树。考虑算出删去每个点时的最长路径。的最长路径,假设最终删去第。为根的子树中,选择了。先考虑连在环上的树。

2023-10-08 23:28:13 65 1

原创 图的连通性

So don't you doubt me when I'm fighting my lonely nights.

2023-10-06 23:16:42 49

原创 trick(持续更新)

多序列问题经常使用根号分治做。数等价类个数等于在等价类里设代表元后的代表元数。

2023-10-06 23:15:32 25

原创 「NOIP2017 提高组」列队

首先我们算出每一次操作真实询问的位置。这里的真实位置是指对于每一行加入维护出进入过该行的所有数以及次序,那么答案应该对应的是哪一个数。真实位置可以用之前的 BIT + 二分 解决。考虑到可能成为答案的数很少,用 BIT + 二分 维护第一行。具体地,如果一个数存在,那么在 BIT 中该位置的等于。,那么可以直接求出,否则按询问输入顺序维护每一行从最后一列加入的数。那么如果单独提出最后一列后,每一行的操作就是独立的了。也就是每一次操作就是对。

2023-09-29 22:04:24 83

原创 容斥原理qwq

学不会计数 qwq

2023-09-23 18:36:25 78 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除