自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零单排力扣周赛_周赛275

前言这场打得就很辣鸡了,因为 B 题我看错题了!不过 wls 登顶了OrzA 2133. 检查是否每一行每一列都包含全部整数题意给出 n×nn\times nn×n 的矩阵,判断每一行和每一列是否包含了 [1,n][1,n][1,n] 中的所有整数。1≤n≤1001\le n\le 1001≤n≤100。分析用个 setsetset 维护即可。复杂度是 O(n2logn)O(n^2logn)O(n2logn)。代码class Solution {public: bool

2022-01-10 21:28:56 416 1

原创 从零单排力扣周赛_双周赛69

前言上周周赛因为忘记起床导致没打TAT本次周赛战绩: rk5,总完成时间20min,还有奖品,好耶!A 2129.将标题首字母大写题意给出一个包含若干个单词的句子,把所有字母变为小写字母,如果单词长度超过 222,则首字母大写。1≤length≤1001\le length\le 1001≤length≤100分析按照题意模拟即可,这里我们使用 stringstream 类会方便一点。比赛时这题写得比较蠢,浪费了不少时间555。代码class Solution {public:

2022-01-10 21:28:30 651

原创 浅谈Opencv中的傅立叶变换

本文同步发表于个人博客前言最近在搞图像处理的大作业,做了一个图像处理软件,在实现滤波时需要用到傅立叶变换把图像从时域转移到频率域,从而加速图像卷积。感觉网上相关资料颇少而且不够完整,并且为了防止以后自己忘记,我就决定开一个博客简要阐述并记录一下 OpencvOpencvOpencv 中傅立叶变换的原理及使用!前置芝士傅立叶变换在图像处理中,我们经常需要使用离散傅立叶变换 (DFT)(DFT)(DFT) 把图像从时域转移到频率域进行分析。低频分量对应的是图像中变化平缓的部分,如人的皮肤,大块面积的

2022-01-02 14:12:01 1625

原创 从零单排力扣周赛_周赛273

前言感觉 leetcodeleetcodeleetcode 周赛不花时间,做一做还能保持一下手感,最重要的是能让人在周末早起。于是以后可能就会多打打 leetcodeleetcodeleetcode 了。周赛273AK时间: 21min最终排名:A 5963.反转两次的数字给出数字 nnn,R(n)R(n)R(n) 表示 nnn 翻转后去掉前导零的结果,要求判断 R(R(n))R(R(n))R(R(n)) 是否等于 nnn。0≤n≤1060\le n\le 10^60≤n≤106。做法

2021-12-27 00:39:10 532

原创 搭了一个新博客

由于大概率不搞ACM了,就新建了一个新博客,来记录自己学习的东西。欢迎来踩!以后的博客也会同步到这个博客!(主要是为了引流CSDN我会想你的!!!!(才怪

2021-12-15 18:11:52 393

原创 XCPC退役记

随着2021年的icpc上海站结束,我的大学acm生涯大概也结束了。可惜还是没能出线,现在的形势出线真的太难了(而且我还不会做构造,出个鬼线)。不过本赛季还是解锁了全金战绩,而且还是在广州、沈阳、上海这三个卷站,感谢队友带飞QAQ。队友真的太强了,都是零基础,能打到现在真的很不容易,而且他们科技树都点满了,还学了很多奇奇怪怪的防ak题知识(虽然到最后也没用上)。赛前两个月大概一周四训,在gym上到处留名hhh。感觉自己非常菜,所幸的是我遇到了很强的队友,拿到了看起来还不错的成绩,大概是ccpc一金一银

2021-11-29 11:24:52 501

原创 [CF70 D] Professor‘s task(动态凸包)

题意有 qqq 个操作,每个操作为以下两种:给出 x,yx,yx,y,把点 (x,y)(x,y)(x,y) 加入到二维平面中给出 x,yx,yx,y,询问点 (x,y)(x,y)(x,y) 在不在当前平面上的点构成的凸包内(上)q≤105,−106≤x,y≤106q\le 10^5,-10^6\le x,y\le 10^6q≤105,−106≤x,y≤106。保证前三个操作是 111 操作。分析动态凸包模板题。取一个点为基点,为避免误差,取前三个点的重心为基点。然后用 setsetse

2021-09-29 17:22:51 131

原创 [HDU 4785] Exhausted Robot(闵可夫斯基和 + 扫描线)

题意给出一个房间(矩形)和 nnn 个家具(凸包) furnitureifurniture_ifurniturei​,再给出一个扫地机器人(凸包)robotrobotrobot,机器人用它第一个点扫地,但扫地的时候不能和家具有交。机器人可以穿过家具,但穿过的时候不能扫地。问扫地能扫到的最大面积。其中,n≤20n\le 20n≤20,每个凸包的点数 ≤20\le 20≤20,所有点的坐标绝对值不超过 300030003000。分析设移动的向量为 α\alphaα,那么对于任意 iii,α∉{furni

2021-09-26 12:58:58 469

原创 [JSOI2018] 战争(闵可夫斯基和 + 二分)

题意给出两个凸包 A,BA,BA,B,有 qqq 次询问,每次询问给出向量 (dx,dy)(dx,dy)(dx,dy),问 BBB 所有点移动 (dx,dy)(dx,dy)(dx,dy) 是否与 AAA 有交集。其中,∣A∣,∣B∣,q≤105|A|,|B|,q\le 10^5∣A∣,∣B∣,q≤105。分析前置知识——闵可夫斯基和定义两个点集 A,BA,BA,B 的闵可夫斯基和为 C={a+b∣a∈A,b∈B}C = \{a+b|a\in A, b \in B\}C={a+b∣a∈A,b∈B}。

2021-09-16 00:36:34 348

原创 [HDU3629] Convex(极角序+双指针)

题意给出 nnn 个点,第 iii 个点的坐标为 (xi,yi)(x_i,y_i)(xi​,yi​)。求可以形成的严格凸四边形个数。其中,1≤n≤7001\le n\le 7001≤n≤700。分析纪念自己独立写出来的第一道计算几何!!考虑 答案 =Cn4−=C_n^4-=Cn4​− 凹四边形的个数。凹四边形意味着有一个点在另外三个点围成的三角形内部(包括边界)。因此我们枚举在内部的点 AAA,然后用 Cn−13C_{n-1}^3Cn−13​ 减去不包含 AAA 的三角形个数。然后对于剩下的点

2021-09-13 20:53:15 118

原创 [2021牛客多校9 K] xay loves sequence(二分+主席树)

题意有长度为 nnn 的序列 {an}\{a_n\}{an​}。设 f([a1,a2,..,an],k)f([a_1,a_2,..,a_n],k)f([a1​,a2​,..,an​],k) 表示最少的操作次数,使得 aaa 全为 000。每次操作你可以选择一个区间 [l,r][l,r][l,r],使得 ∀i∈[l,r],ai=(ai+1) mod k\forall i \in [l,r],a_i=(a_i+1)~mod~k∀i∈[l,r],ai​=(ai​+1) mod&nb

2021-08-23 19:23:32 232

原创 [2021牛客多校7 E] xay loves nim (bitset+fwt)

题意有 nnn 堆石子,每堆石子的数量在 [l,r][l,r][l,r] 之间,有 mmm 个特殊的数 SiS_iSi​,两个人轮流取石子,每次可以在一堆石子中取走 xxx 个石子,满足 μx=1 or x∈S\mu_x=1~or~ x\in Sμx​=1 or x∈S。求后手必胜的方案数。其中,1≤n≤106,1≤l≤r≤105,1≤m≤51\le n\le 10^6,1\le l\le r\le 10^5,1\le m\le 51≤n≤106,1≤l≤r≤10

2021-08-23 17:35:54 116

原创 [2021牛客多校7 B] xay loves monotonicity(线段树)

题意有长度为 nnn 的序列 aaa 和 010101序列 bbb,有 mmm 次操作,每次操作给出 l,rl,rl,r。每个操作为以下三种之一:将 ala_lal​ 改成 rrr将 bl,bl+1...,brb_l,b_{l+1}...,b_rbl​,bl+1​...,br​ 翻转 (即bi=(bi+1) mod 2b_i=(b_i+1)~mod~2bi​=(bi​+1) mod 2)设 [l,r][l,r][l,r] 中 aaa 形成的单调栈下标序列为

2021-08-23 17:18:16 141

原创 2021牛客多校9 A Math Challenge(类欧几里得算法+自然数幂前缀和)

题意求 ∑i=0n∑j=1⌊ai+bc⌋ipjq\sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}i^pj^qi=0∑n​j=1∑⌊cai+b​⌋​ipjq。对 998244353998244353998244353 取模。其中,1≤n,c≤109,0≤a,b≤109,0≤p,q≤501\le n,c\le 10^9,0\le a, b\le 10^9,0\le p,q\le 501≤n,c≤109,0≤a,b≤10

2021-08-18 20:33:32 243 4

原创 2021牛客多校10 Game of Death(容斥ntt)

题意有 nnn 个人,每个人会等概率随机向另外一个人开枪,有 ppp 的概率击中。问恰好有 k(k=0,1,2,..,n)k(k=0,1,2,..,n)k(k=0,1,2,..,n) 个人活着的概率,对 998244353998244353998244353 取模。其中,n≤3×105n\le 3\times10^5n≤3×105。分析设 fif_ifi​ 为特定 iii 个人活着,其它人不管死活的概率。那么根据容斥原理,ansk=Cnk∑i=kn(−1)i−kCn−k,i−kfi=Cnk(n−k

2021-08-18 14:08:41 237 1

原创 [CF1554E] You(数论)

题意给定一棵树,每次可以删一个点,一个点的权值为删除该点时周围没被删的点的个数。对于一种删点方式,会得到一个序列 {an}\{a_n\}{an​}。对于 k∈[1,n]k\in [1,n]k∈[1,n],求 gcd⁡(a1,a2,..an)=k\gcd(a_1,a_2,..a_n)=kgcd(a1​,a2​,..an​)=k 的方案数。其中,1≤n≤105,∑n≤3×1051\le n\le 10^5,\sum n\le 3\times10^51≤n≤105,∑n≤3×105。分析可以将问题转化为

2021-07-30 16:55:57 146

原创 XCPC2020赛季流水账

前言由于疫情原因,2020赛季最后一场比赛沈阳站在2021年7月18日才正式比完=.=,我的2020赛季也随之结束了。回望这个赛季,感觉自己还是有点菜,拿奖全靠队友带QAQ,总共拿了:CCPC长春银首ICPC小米邀请赛决赛打铁校赛冠军ICPC澳门银首广东省赛季军ICPC沈阳金(总共去了北京、珠海、澳门、沈阳=.=由于是流水账,就不考虑排版了QAQ流水账2020年6月,我的cf成功上了橙名(但是为什么过了一年还是橙名啊!),感觉自己也有独当一面的能力了。2020年的7月,我找了z

2021-07-24 01:03:44 1423

原创 icpc2017西安 D Islands(树链剖分+分治ntt)

题意给一棵 nnn 个点的树,每条边可以断开,也可以不断开,求和 111 所在的连通块大小为 kkk 的方案数,k=1,2,3,...,nk=1,2,3,...,nk=1,2,3,...,n。答案对 181193932918119393291811939329 取模。n≤105n\le 10^5n≤105。分析令 Fu[xn]F_u[x^n]Fu​[xn] 表示 uuu 向 faufa_ufau​ 贡献连通块大小为 nnn 的方案数。因此有 Fu=x∏(u,v)FvF_u=x\prod\limit

2021-05-19 23:32:15 241

原创 [LOJ 6285] 花朵(树链剖分+分治ntt)

题意给出一棵 nnn 个点的树,每个点有点权 viv_ivi​,选出 mmm 个不相邻的点,代价为这 mmm 个点的权值之积。求所有合法方案的代价和,对 998244353998244353998244353 取模。n,m≤8×104,vi<998244353n,m\le 8\times 10^4,v_i <998244353n,m≤8×104,vi​<998244353。分析令 dp0,u,jdp_{0,u,j}dp0,u,j​ 表示来到节点 uuu,不选节点 uuu,总共选了

2021-05-19 22:49:48 267

原创 icpc2020济南K Kth Query(01trie)

题意令 f(a,S,K)f(a,S,K)f(a,S,K) 表示数组 bbb 中第 KKK 小的元素,其中 ∀i∈[1,n],bi=ai⊕S\forall i \in [1,n], b_i=a_i \oplus S∀i∈[1,n],bi​=ai​⊕S(⊕\oplus⊕ 为异或操作)。现在有数组 aaa 和 qqq 次询问,每次询问给出 L,RL,RL,R,求 min⁡S=LRf(a,S,K)\min\limits_{S=L}^{R}f(a,S,K)S=LminR​f(a,S,K)。其中,n,q≤105,

2021-05-01 21:28:27 355 2

原创 CF1516E Baby Ehab Plays with Permutations(牛逼计数)

题意给定 n,Kn,Kn,K,每次可以交换两个数,问长度为 nnn 的有序排列经过 kkk 次交换后能生成多少排列,答案对 1e9+71e9+71e9+7 取模。n≤109,K≤200n\le 10^9, K\le 200n≤109,K≤200分析普通做法设 dpn,kdp_{n,k}dpn,k​ 表示长度为 nnn 的排列必须经过 kkk 次交换才能生成的排列数(也就是小于 kkk 次生成不了这个排列),那么 ansk=dpn,k+dpn,k−2+dpn,k−4...+dpn,k%2ans_k=

2021-04-25 18:00:57 317 4

原创 Prufer序列

PruferPruferPrufer 序列一棵 nnn 个点的带标号生成树唯一对应一个长度为 n−2n-2n−2 的 PruferPruferPrufer 序列。PruferPruferPrufer 序列是这样构造的:每次选出编号最小的叶子节点,将它删去,并将它相连的点加入序列中,直到进行 n−2n-2n−2 次后剩两个点。一个点在 pruferpruferprufer 序列中出现的次数为度数-1。每个数都可能在 pruferpruferprufer 序列的每个位置出现。相关结论nnn 个点的带标

2021-04-21 16:58:16 143

原创 [LNOI2014] LCA(树链剖分+主席树+标记永久化)

题意给一棵 nnn 个点的树,有 mmm 次询问,每次询问给出 l,r,xl,r,xl,r,x,求 ∑i=lrdeplca(i,x)\sum\limits_{i=l}^{r}dep_{lca(i,x)}i=l∑r​deplca(i,x)​。其中,n,m≤50000n,m\le 50000n,m≤50000。分析有个比较套路的思想,就是用将 [l,r][l,r][l,r] 中的点到根的路径都 +1+1+1,然后求 xxx 到 111 的路径和就是答案。于是我们可以用离线来做这道题,用 rrr 的贡献

2021-04-15 20:22:21 141

原创 点分树/动态点分治

前言点分治是一种树上分治算法,常用于处理和路径相关的统计,或者是树上满足某种条件的点对数量。在点分治的基础上,构造一棵支持修改的树,就成了点分树。算法理解点分治的核心是按照重心来划分连通块,我们在递归的时候,将上一层的重心作为这一层的重心的父亲,就成了点分树。容易知道,这棵树的树高是 O(logn)O(logn)O(logn) 的,因为总共只会有 O(logn)O(logn)O(logn) 层。下面盗用 辰星凌大佬的图 来看看点分树长什么样子。如图,上面是原树,下面是点分树。可以看到,点分树和原

2021-04-13 20:33:06 324

原创 虚树学习笔记

虚树的概念虚树指的是在原树中抽出包含某特定几个节点且保留原树结构的最小的树。虚树解决的问题用来解决多组询问的树形 DPDPDP 问题,每次询问会给出一个点集作为关键点,假设点集大小为 kkk,则 ∑k\sum k∑k 和 nnn 同阶。而树形 dpdpdp 的转移往往可以只用关键点来解决,也就是很多非关键点的作用不是必要的。假设给出大小为 kkk 的点集,我们就利用这些关键点建出一棵大小为 O(k)O(k)O(k) 的树,这棵树的结构和原树一致,然后在这颗树上进行 dpdpdp。建树的复杂度是 O(

2021-04-07 00:00:38 167

原创 CF1503D Flip the Cards(思维题)

题意有 nnn 张卡,每张卡上面有一个数 aia_iai​,下面有一个数 bib_ibi​,每个数都在 [1,2n][1,2n][1,2n] 范围内且仅出现一次。卡的顺序可以随意调整。现在可以翻转若干张卡,使得存在 a1<a2<a3<...<ana_1< a_2< a_3<...< a_na1​<a2​<a3​<...<an​,b1>b2>b3>...>bnb_1> b_2> b_3>...&

2021-04-05 17:58:08 378

原创 CDQ分治与整体二分

前言CDQ分治和整体二分都是离线算法,并且都是基于分治的思想。大部分非强制在线的树套树题都可以使用整体二分或CDQ分治解决,当然也有一些是不行的,比如动态求区间种类数或者动态求区间 mexmexmex。CDQ 分治分治首先要了解什么是分治,分治的全称为分而治之,英文名为 divide and conquerdivide\ and\ conquerdivide and conquer,和分治相关的算法有很多,譬如线段树,点分治,归并排序等。下面以归并排序为例。

2021-04-01 22:36:43 320

原创 莫队算法合集

前言莫队算法,是一种离线算法,可以解决一类区间询问问题,适用范围很广。莫队算法的本质就是分块 + 暴力,通过适当的操作把时间复杂度降为 O(nn)O(n\sqrt{n})O(nn​)。普通莫队一、适用问题用于不带修改的询问问题,且由区间 [L,R][L,R][L,R] 可以 O(1)O(1)O(1) 或 O(logn)O(logn)O(logn) 扩展到 [L−1,R],[L+1,R],[L,R−1],[L,R+1][L-1,R],[L+1,R],[L,R-1],[L,R+1][L−1,R],[L+

2021-03-25 18:11:09 563

原创 单位根反演

单位根反演归结于一个等式[n∣a]=1n∑i=0n−1ωnai[n|a]={1\over{n}}\sum\limits_{i=0}^{n-1}\omega_{n}^{ai}[n∣a]=n1​i=0∑n−1​ωnai​让我们来证明一下这个式子。a≠0 (mod   n)a \neq 0\ (\mod\ n)a​=0 (mod n)根据等比数列求和,右式等于 1nωnan−1ωna−1{1\over{n}}\dfrac{\omega_n^{an}-1}{\om

2021-03-23 18:05:31 1092

原创 整数拆分问题

定义对于一个非负整数 nnn,它的一个拆分定义为若干个正整数 a1,a2,...,aka_1,a_2,...,a_ka1​,a2​,...,ak​,满足:a1+a2+...+ak=na_1+a_2+...+a_k=na1​+a2​+...+ak​=na1≤a2≤...≤aka_1\le a_2\le ...\le a_ka1​≤a2​≤...≤ak​其中,第二个条件是为了避免重复计算,如 6=1+2+36 = 1 + 2 + 36=1+2+3 和 6=3+2+16=3+2+16=3+2+1 为同

2021-03-18 20:38:43 177

原创 斯特林数及其性质

第一类斯特林数定义[nm]\begin{bmatrix}n\\m\end{bmatrix}[nm​] 或 s(n,m)s(n,m)s(n,m) ,表示 nnn 个不同的数分成 mmm 个无序圆排列的方案数。这个是可以递推的,考虑最后一个数单独成环还是加入到前面的环中,有:[nm]=[n−1m−1]+(n−1)[n−1m]\begin{bmatrix}n\\m\end{bmatrix}=\begin{bmatrix}n-1\\m-1\end{bmatrix}+(n-1)\begin{bmatrix}n

2021-03-14 14:46:41 536

原创 区间最值操作与历史最值问题(二)

前言在 前一篇博客 中,我们详细介绍了区间取最值操作。接下来我们开始介绍区间历史最值问题!区间历史最值对于一个序列 AAA,它的历史最值指的是它从初始化到当前达到的最大值 / 最小值,我们称之为历史最大值和历史最小值。维护历史最大值和历史最小值是有一些套路的。没有区间最值操作时我们可以采用延用懒标记的做法。我们要注意到,在线段树上打标记,标记是会有生命周期的。在标记下放之前,我们永远不会访问到子节点。因此,我们可以记录在这个点打的标记的当前值和历史最值,下传标记的时候对子节点的历史最值进行更新。

2021-03-08 21:04:02 565

原创 区间最值操作与历史最值问题(一)

前言本文主要讲解一种叫做 SegmentTree BeatsSegmentTree~BeatsSegmentTree Beats 的维护区间取最值操作的问题,以及维护区间历史最值的方法。本文参考自许多博客,以及吉老师 201620162016 年的集训队论文,会加上很多例题进行讲解QAQ。区间最值操作例题一 [HDU5306] Gorgeous Sequence给出长度为 n(n≤1e6)n (n\le 1e6)n(n≤1e6) 的序列 {An}\{A_n\}{An​} 和 m

2021-03-07 11:44:24 605

原创 [CF1486F] Pairs of Paths

题意有一棵 nnn 个点的树,有 mmm 条链 (ui,vi)(u_i,v_i)(ui​,vi​),问有多少无序点对 (i,j)(i,j)(i,j),满足第 iii 条链和第 jjj 条链只有一个交点。其中,n,m≤3e5n,m\leq 3e5n,m≤3e5。分析参考自:这个大佬的博客,图也是盗他的两条链相交只有一个交点,我们可以发现,这个交点一定是至少其中一条链的 lcalcalca。于是我们分类讨论一下:①:交点是两条链的 lcalcalca。②:交点是其中一条链的 lcalcalca,

2021-02-20 09:32:13 272

原创 决策分治学习笔记

概要决策分治,利用的是决策单调性。比如说,有 i<ji< ji<j,且fi,fjf_i, f_jfi​,fj​ 分别由 gx,gyg_x,g_ygx​,gy​ 转移而来,那么会满足 x≤yx \le yx≤y。也就是决策点是单调的。这时候,我们要求出 f1,f2,...fnf_1,f_2,...f_nf1​,f2​,...fn​ 的决策点,应该怎么做捏?可以采用分治来搞。假设当前区间为 [l,r][l,r][l,r],最优决策区间为 [L,R][L,R][L,R]。设 mid=(

2021-01-25 18:14:39 197 1

原创 [SCOI2013]数数(数位dp)

题意分析这道破题怎么写了我这么久啊啊!!菜死了TAT很明显要数位 dpdpdp。设 numpos,limit,zeronum_{pos,limit,zero}numpos,limit,zero​ 表示从高到低考虑到第 pospospos 位,有没有顶着上界,是否有前导零的数的个数,s1pos,limit,zeros1_{pos,limit,zero}s1pos,limit,zero​ 表示从高到低考虑到第 pospospos 位,有没有顶着上界,是否有前导零的前缀串之和,比如 123451234

2021-01-21 20:41:16 164 4

原创 [牛客挑战赛46E] 反演(莫比乌斯反演)

题意分析首先,根据 d(ij)=∑x∣i∑y∣j[(x,y)==1]d(ij) = \sum\limits_{x|i}\sum\limits_{y|j}[(x, y) == 1]d(ij)=x∣i∑​y∣j∑​[(x,y)==1],有F(m,n)=∑i=1n∑j∣m∑x∣i∑y∣j[(x,y)==1]=∑x=1n∑y∣m⌊nx⌋σ0(my)[(x,y)==1]=∑x=1n∑y∣m⌊nx⌋σ0(my)∑d∣i,d∣jμ(d)=∑d∣mμ(d)h(⌊nx⌋)g(my)F(m, n) \\= \sum\

2021-01-19 18:09:30 138

原创 数位dp专题

前言本篇博客目的是给自己总结复习用,而不是给萌新学习用滴。萌新能不能看得懂需要看造化=.=,毕竟数位 dpdpdp 还是有点难理解的。概括数位 dpdpdp,是用来解决一些带有数位上的限制的计数问题的。常见的有问区间 [L,R][L, R][L,R] 中满足某种数位限制的数的个数,或者求数对的对数等等,也可以用来求和。一般是用 [0,R][0,R][0,R] 的 值减去 [0,L−1][0, L- 1][0,L−1] 的值。常常设 dp[pos][sta]dp[pos][sta]dp[pos][st

2021-01-13 22:23:33 463

原创 [SDOI2016] 游戏(树链剖分+李超线段树)

题意其中,n,m≤100000,∣a∣≤10000n,m\leq 100000,|a|\leq 10000n,m≤100000,∣a∣≤10000。分析设 iii 到根的距离为 disidis_idisi​。首先化简一下式子,从 sss 到 lca(s,t)lca(s,t)lca(s,t) 路径:add=a×(diss−disi)+b=−a×disi+(b+a×diss)add=a\times (dis_s-dis_i)+b=-a\times dis_i+(b+a\times dis_s)add

2020-10-20 17:44:02 209

原创 强制在线区间众数(分块)

题意给出一个长度为 nnn 的序列,有 mmm 次询问,每次询问给出 [l,r][l,r][l,r],求区间众数。强制在线。n,m≤500000n,m\leq 500000n,m≤500000。分析首先对 aia_iai​ 离散化,现在值域变成了 [1,n][1,n][1,n]。考虑分块。首先,设 fi,jf_{i,j}fi,j​ 表示第 iii 块到第 jjj 块之间的众数,这个可以在 O(nn)O(n\sqrt{n})O(nn​) 求出。具体做法是对于每一个块,O(n)O(n)O(n) 扫一

2020-10-16 17:40:02 428

空空如也

空空如也

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

TA关注的人

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