Cherrt的博客

私信 关注
_ducati
码龄1年
  • 35,814
    被访问量
  • 156
    原创文章
  • 56,402
    作者排名
  • 29
    粉丝数量
  • 于 2020-04-03 加入CSDN
获得成就
  • 获得115次点赞
  • 内容获得136次评论
  • 获得44次收藏
荣誉勋章
兴趣领域
  • #算法
TA的专栏
  • 群论(Burnside引理,Polya定理)
    1篇
  • 性质观察题
    1篇
  • 斯特林数
    7篇
  • 动态规划
    14篇
  • 多项式
    5篇
  • 生成函数
    4篇
  • 网络流
    1篇
  • 字符串科技(KMP
  • ACAM
  • 数据结构(线段树,平衡树,主席树,LCT,树套树等)
    1篇
  • 根号分治
    3篇
  • 贪心
    6篇
  • 莫比乌斯反演
    1篇
  • 大赛(CSP
    1篇
  • 矩阵快速幂
    1篇
  • 最短路
  • 大赛(CSP, NOIP, NOI, ACM等)真题题解
  • 字符串科技(KMP, ACAM, Manacher等)
  • 点分治(点分树)
  • 游记
    4篇
  • 树链剖分(重链剖分,实链剖分,长链剖分)
    4篇
  • 动态规划优化(四边形不等式,斜率优化等)
  • 矩阵
    7篇
  • 二分
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

OI中的群论——补充习题详解

P4916 魔力环Description将一个长度为 nnn 的环染成黑白两色,要求:①恰有 mmm 个黑格与 n−mn-mn−m 个白格;②环上不存在一段连续的长度超过 kkk 的黑格;请你求出存在多少个不同的染色方案。注意,两个环不同,当且仅当这两个环不循环同构。1≤n,k≤1051 \le n,k \le 10^51≤n,k≤105Solution令 f(i)f(i)f(i) 表示,对于所有长度为 nnn 且恰有 iii 个子置换的置换的方案数之和。根据 Polya 定理,不难得到
原创
45阅读
3评论
0点赞
发布博客于 3 天前

P5320 [BJOI2019]勘破神机 题解

Description令 H(x,y)H(x,y)H(x,y) 表示将一个 x×yx \times yx×y 的方格图划分为许多 1×21 \times 21×2 的长方形的方案集合。令 I(x,y,k)I(x,y,k)I(x,y,k) 表示,在集合 H(x,y)H(x,y)H(x,y) 中任选 kkk 个不同的划分方案的方案数。令 F(x,k)=I(2,x,k)F(x,k)=I(2,x,k)F(x,k)=I(2,x,k),G(x,k)=I(3,x,k)G(x,k)=I(3,x,k)G(x,k)=I(
原创
19阅读
0评论
0点赞
发布博客于 6 天前

CF1082G Petya and Graph 题解

Solution定义图权 === 图中边权总和 −-− 图中点权总和(空图的图权为 000),求 nnn 个点 mmm 条边的无向图最大权子图。Description首先,不难发现,一条边被选择,当且仅当它的两个端点都被选择。换句话说,两端的点被选是边被选的充分必要条件。于是问题变为了一个标准的最大权闭合子图问题。我们将边转化为点,得到一张新图。原图中的边为新图中的负权点,原图中的点为新图中的正权点,接下来考虑网络流建图。我们将第 iii 条边 (u,v)(u,v)(u,v) 转化为第 n+in+
原创
16阅读
0评论
1点赞
发布博客于 10 天前

下降幂/上升幂多项式学习笔记

妙不可言。Description给定多项式 $fSummary妙拆高次幂成二项式定理,巧转下降幂成组合数问题
原创
34阅读
0评论
0点赞
发布博客于 11 天前

CF 960G Bandit Blues——第一类斯特林数好题

Description求存在多少个长度为 nnn 的排列,使得它恰有 uuu 个前缀最大值和 vvv 个后缀最大值。1≤u,v≤n≤1051 \le u,v \le n \le 10^51≤u,v≤n≤105双倍经验: HDU 4372Solution首先,考虑一个朴素 dpdpdp 。令 dpi,jdp_{i,j}dpi,j​ 表示,存在多少个长度为 iii 且有 jjj 个前缀最大值的排列。状态转移是dpi,j=dpi−1,j−1+(i−1)dpi−1,jdp_{i,j}=dp_{i-1
原创
21阅读
0评论
0点赞
发布博客于 16 天前

CF1278 Cards题解——巧用斯特林数性质与二项式定理

Description有 mmm 张牌,其中一张是王牌。现在你执行 nnn 次如下操作:洗牌后查看第一张牌是什么。令 xxx 为洗牌后第一张牌为王牌的次数,现在假设洗牌时 m!m!m! 种牌的排列出现的概率相等,求 xkx^kxk 的期望值。答案对 998244353998244353998244353 取模。1≤n≤998244352,1≤k≤50001 \le n \le 998244352,1 \le k \le 50001≤n≤998244352,1≤k≤5000Solution首先,我们
原创
18阅读
0评论
0点赞
发布博客于 16 天前

Crash的文明世界题解——巧用斯特林数与组合数的性质

Description给定一棵包含 nnn 个节点的树和一个自然数 kkk,请你对于每一个 iii ,求出∑j=1ndis(i,j)k\sum_{j=1}^n dis(i,j)^kj=1∑n​dis(i,j)k请将每个答案对 100071000710007 取模。Solution看到了那个 kkk 次方后,你下意识地将它用第二类斯特林数的性质展开。∑j=1n∑p=0k{kp}(dis(i,j)p)p!\sum_{j=1}^n \sum_{p=0}^k \begin{Bmatrix} k \\ p
原创
10阅读
0评论
0点赞
发布博客于 16 天前

Luogu P6301 CF1278F Cards 加强版题解——展开斯特林数,裂开组合数,递推得解

思维风暴——CF1278 之加强版Description有 mmm 张牌,其中一张是王牌。现在你执行 nnn 次如下操作:洗牌后查看第一张牌是什么。令 xxx 为洗牌后第一张牌为王牌的次数,现在假设洗牌时 m!m!m! 种牌的排列出现的概率相等,求 xkx^kxk 的期望值。答案对 998244353998244353998244353 取模。数据范围: 1≤n≤998244352,1≤k≤1071 \le n \le 998244352,1 \le k \le 10^71≤n≤998244352,
原创
10阅读
0评论
0点赞
发布博客于 16 天前

CF407E K-d sequence——等价转换,线段树维护单调栈

文章目录DescriptionSolution题意转化性质分析CodeDescription给定一个长度为 nnn 的序列 AAA 。找一个最长的子区间使得该子区间加入至多 kkk 个数以后,排序后是一个公差为 ddd 的等差数列。多个解输出 lll 最小的。1≤n≤2×1051 \le n \le 2 \times 10^51≤n≤2×105Solution题意转化首先,我们特判掉 d=0d=0d=0 的情况。考虑一个区间满足要求的等价条件是什么。①这个区间中的所有数互不相同;②这个区
原创
23阅读
2评论
1点赞
发布博客于 17 天前

斯特林数学习笔记

文章目录第二类斯特林数定义求法递推公式通项公式求一整行的值求一整列的值性质应用CF1278 CardsDescriptionSolution其他小练习第一类斯特林数第二类斯特林数定义无符号第二类斯特林数 {nm}\begin{Bmatrix} n \\ m \end{Bmatrix}{nm​} (也可记做 S(n,m)S(n,m)S(n,m))表示,将 nnn 个不同的球放入 mmm 个相同的盒子,且每个盒子非空的方案数。例如,{32}=3\begin{Bmatrix} 3 \\ 2 \end{Bm
原创
817阅读
4评论
1点赞
发布博客于 17 天前

CF1439B——数据分治,二合一神题

Description传送门Solution首先,考虑只有第一问该怎么做。不难发现,对于一个大小为 kkk 的团,它所包含的任何节点在原图上的入度均不小于 k−1k-1k−1 。换句话说,在原图中入度小于 k−1k-1k−1 的节点不会出现在任何团中,这是一个废点。同时,如果一个节点属于一个大小为 kkk 的团且其在原图上的入度恰好为 k−1k-1k−1 ,那么这个点所属的团是确定的,从而可以直接进行判定——这是一个简单点。于是我们执行一个类似拓扑排序的过程,依次删掉这些 ⌊\lfloor⌊ 废点
原创
9阅读
0评论
0点赞
发布博客于 18 天前

求斐波那契数列第 n 项详解

看到这篇文章的标题,你可能会觉得它对新手非常友好。可惜你只对了一半。这篇文章不是给萌新看的,但是萌新也能轻松看懂。问题描述求斐波那契数列的第 nnn 项。题1限制: 1≤n≤1081 \le n \le 10^81≤n≤108解法: 很好,直接暴力递推就行了。题2限制: 1≤n≤10181 \le n \le 10^{18}1≤n≤1018,要对 109+710^9+7109+7 取模。解法: 很好,直接矩阵快速幂就行了。题3限制: 1≤n≤10300000001 \le n \le
原创
28阅读
0评论
0点赞
发布博客于 19 天前

[NOI2016 D1T3]循环之美 题解——一推到底,分治好题

Description给定十进制数 nnn 和 mmm,求在 kkk 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 xy\frac x yyx​ 表示。其中 1≤x≤n,1≤y≤m1 \le x \le n,1 \le y \le m1≤x≤n,1≤y≤m 且 x,yx,yx,y 为整数。1≤n≤109,1≤m≤109,2≤k≤2×1031 \le n \le 10^9,1 \le m \le 10^9,2 \le k \le 2 \times 10^31≤n≤109,1≤m≤109,2≤k≤
原创
45阅读
2评论
0点赞
发布博客于 19 天前

刷题笔记

Description传送门Solution首先我们对砖图进行一个转化。下图为 a1=2,b1=2a_1=2,b_1=2a1​=2,b1​=2 的转化后的图。令 dpi,jdp_{i,j}dpi,j​ 表示从第一列到第 ∑k=1iak+bk\sum_{k=1}^i a_k+b_k∑k=1i​ak​+bk​ 列的第 jjj 个方格的不同行走方案数。转移如下:dpi,j=∑x=0∑k=1i−1ak+bkdpi−1,x∑p=max⁡(x,y)(∑k=1i−1ak+bk)+ai(aip−x)(bip−j
原创
25阅读
1评论
0点赞
发布博客于 21 天前

洛谷二月月赛Div.2全部题解

SolutionA水题。模拟即可。B乱搞之题。从左到右,对于每一列依次去填。令这一列上的两个值从上到下为 a,ba,ba,b 。①a=0,b=0a=0,b=0a=0,b=0: 忽略②a=1,b=0a=1,b=0a=1,b=0: 第一个方格先尝试往左匹配,再尝试往下匹配,再尝试往右匹配③a=0,b=1a=0,b=1a=0,b=1: 与②同理④a=1,b=1a=1,b=1a=1,b=1: 第一个格子先尝试往左匹配再尝试往右匹配,第二个格子同理时间复杂度 O(n)O(n)O(n) 。CYo
原创
71阅读
3评论
2点赞
发布博客于 22 天前

多项式多点求值学习笔记(讲解&例题)

文章目录P5050 [模板]多项式多点求值DescriptionSolution回顾性质[UOJ Round #12]a^-1 +b problemDescriptionSolutionLemma漆黑的太阳DescriptionSolutionSummary多项式多点求值是在洛谷网校那里学会的。这里,我决定做一个总结,加深自己以及读者对她的理解。P5050 [模板]多项式多点求值Description给定一个 nnn 次多项式 f(x)f(x)f(x) ,请你对于 i∈[1,m]i \in [1,m
原创
71阅读
2评论
1点赞
发布博客于 23 天前

CF755G PolandBall and Many Other Balls 题解

这题好神仙啊⋯⋯\cdots \cdots⋯⋯Description有一排 nnn 个球,定义一个组可以只包含一个球或者两个相邻的球。现在一个球只能分到一个组中,求从这些球中取出 kkk 组的方案数。1≤n≤109,1≤k≤2×1051 \le n \le 10^9,1 \le k \le 2 \times 10^51≤n≤109,1≤k≤2×105Solution不难发现这是一道 dpdpdp 题。状态设计: dpi,jdp_{i,j}dpi,j​ 表示放了前 iii 个球,目前共有 jjj
原创
19阅读
0评论
0点赞
发布博客于 24 天前

卡特兰数通项公式推导——生成函数天下第一!

概念明确卡特兰数的第 nnn 项记做 CnC_nCn​ 。众所周知,卡特兰数的第 nnn 项就是含有 nnn 个节点的不同二叉树的数量。同时,它也是一些其他计数问题的解,但这里主要从“二叉树”的角度入手去推卡特兰数的通项公式。开始我的表演不难发现,卡特兰数有递推公式 Cn=∑i=0n−1CiCn−1−iC_n=\sum_{i=0}^{n-1} C_i C_{n-1-i}Cn​=∑i=0n−1​Ci​Cn−1−i​ 。这个式子的实际意义在于:定下了当前二叉树的根,枚举左子树的大小 iii ,此时右子
原创
11阅读
0评论
0点赞
发布博客于 26 天前

生成函数学习笔记

文章目录[集训队作业2013]城市规划DescriptionSolutionCF438E: The Child and Binary TreeDescriptionSolutionP4451 [国家集训队]整数的lqp拆分DescriptionSolution一个非常好的题单。本详解中,所有的题目的数据范围都经过了笔者的加强,而并不是原题的数据范围,这样可以促进读者更深的思考。[集训队作业2013]城市规划Description求 nnn 个点的有标号无向连通图的数量。答案对 1004535809
原创
267阅读
8评论
1点赞
发布博客于 28 天前

P3352 [ZJOI2016]线段树——神仙dp,无与伦比

Description小 Yukka 遇到了这样一道题:有一个序列 AAA ,qqq 次操作,每次操作把一个区间内的数改成区间内的最大值,问最后每个数是多少。小 Yukka 很快地就使用了线段树切掉了这个题。于是充满智慧的小 Yukka 想,如果在这 qqq 次操作中每次等概率随机地选择一个非空区间,然后将这个区间内的数改为区间最大值,最后每个数的期望值分别是多少呢?对于每个数,请输出它的期望乘 (n(n+1)2)q\left(\frac{n(n+1)}{2}\right)^q(2n(n+1)​)q
原创
19阅读
0评论
2点赞
发布博客于 2 月前

Luogu P4705玩游戏——多项式神题爬

DescriptionAlice 和 Bob 又在玩游戏。对于一次游戏,首先 Alice 获得一个长度为 nnn 的序列 AAA,Bob 获得一个长度为 mmm 的序列 BBB。之后他们各从自己的序列里随机取出一个数,分别设为 Ax,ByA_x,B_yAx​,By​ ,那么这次游戏的 kkk 次价值为(Ax+By)k(A_x+B_y)^k(Ax​+By​)k。由于他们发现这个游戏实在是太无聊了,所以想让你帮忙计算对于 i=1,2⋯⋯ti=1,2 \cdots \cdots ti=1,2⋯⋯t,一次游
原创
33阅读
3评论
1点赞
发布博客于 2 月前

PMOI Round·1花絮

这篇文章是给个人巨佬看了搞笑用的。卡常毒瘤爬数据结构毒瘤爬信息封闭爬(隔了好多天)超级表情包爬催管理爬(超高情商)原题面爬7. 吊打ducati爬8. 人人发怒爬可怜的gh巨佬爬“俱老”...
原创
71阅读
0评论
0点赞
发布博客于 2 月前

网络流三十连测(一)

文章目录引言T1Description(P2756加强版)SolutionT2DescriptionSolutionT3DescriptionSolutionLemmaT4DescriptionSolution与T1~4配套的练习题提示引言⌊\lfloor⌊请你,再相信自己一次。请你,再相信这网络流一次。时间复杂度也许让你迷茫,微小的时限也许让你失望,对超时的恐慌也许让你彷徨。但是,奇迹总会诞生,在这样的怀疑之上。——献给网络流的玄学时间复杂度⌉\rceil⌉T1Descriptio
原创
32阅读
1评论
0点赞
发布博客于 2 月前

P7289 [EZEC-5] Chasse Neigh

引言说得客观点,我觉得洛谷月赛的质量普遍不高,当然也不低。但是,这道题的质量非常高,考察了非常多的知识点,难度非常大。正是因此,本题在月赛场上几乎完全没有区分度,想到朴素做法的人也极其少,这也侧面衬托出了卡老师有多NB。我当然也没有在场上想出来,赛后把看了出题人的题解看了十几遍之后才恍然大悟,明白了这题的精髓所在。不多说,开始你期待的题解。Description时限0.4s0.4s0.4s,空限256MB256MB256MB。SolutionPart 1: 朴素dp, O(n2)O(n^2)
原创
72阅读
2评论
2点赞
发布博客于 2 月前

省选联考2020 A卷选做

开题顺序题目编号评价题解1D2T3套路水题(简单题)√2D1T1卡常裸题(简单题)3D1T2数学神题(中档题)D2T3Description给定一个nnn个点,mmm条边的无向图GGG,第iii条边有权值wiw_iwi​。请求出这个图的所有生成树的权值和。这里定义一棵树的权值为这棵树的边权之和乘边权的最大公约数。n≤30,m≤n(n−1)2,wi≤152501n \le 30, m \le \frac {n(n-1)} 2,w_i \le 1...
原创
24阅读
0评论
2点赞
发布博客于 2 月前

P3312 [SDOI2014]数表 题解——小数据结构与小式子的完美结合

Description有一个n×mn \times mn×m的表,第iii行第jjj列的数为fgcd(i,j)f_{gcd(i,j)}fgcd(i,j)​。fxf_xfx​表示xxx的约数之和。你需要求出表中所有不大于aaa的数之和。QQQ次询问,每次n,m,an,m,an,m,a均不同。1≤Q≤2×104,1≤n,m,a≤1051 \le Q \le 2 \times 10^4, 1 \le n,m,a \le 10^51≤Q≤2×104,1≤n,m,a≤105Solution不难发现题目要求
原创
18阅读
0评论
1点赞
发布博客于 2 月前

CF802N(April Fools‘ Problem[medium])题解——网络流的建图优化

Description给定两个长度为nnn的序列A,BA,BA,B,请你在AAA中选出kkk个数,在BBB中也对应地选出kkk个数。选的数必须满足下面条件:⌊\lfloor⌊ AAA中从左到右被选出的第i(1≤i≤k)i(1 \le i \le k)i(1≤i≤k)个数不在BBB中从左到右被选出的第i(1≤i≤k)i(1 \le i \le k)i(1≤i≤k)个数的后面 ⌉\rceil⌉你需要最小化选出的所有数的和。1≤n≤2200,1≤Ai,Bi≤1091 \le n \le 2200, 1 \
原创
13阅读
0评论
1点赞
发布博客于 2 月前

CF1174E (Ehab and the Expected GCD Problem) 题解——数论与dp的完美结合

DescriptionSolutionLemma 1gi+1=t gi(t∈N∗)g_{i+1}=t\ g_i(t \in N^*)gi+1​=t gi​(t∈N∗),且t≤3t \le 3t≤3。Certification 1根据gcd⁡\gcdgcd的定义,不难发现gi+1g_{i+1}gi+1​一定是gig_igi​的约数。例如,一个合法的ggg序列是{12,6,6,6,6,3,2,2,1,1,1,1,1,1,1,1}\{ 12,6,6,6,6,3,2,2,1,1,1
原创
11阅读
0评论
1点赞
发布博客于 2 月前

多项式学习笔记[三](全网最详细!有图有代码有解释有例题有总结!)

啊这
原创
38阅读
1评论
2点赞
发布博客于 2 月前

线段树优化建图详解——区间连边之技巧,吊打紫题之利器

我们从一道例题开始。CF786BDescriptionSolution朴素解法: 暴力连边+最短路对于每次连边操作,我们逐一连边,最后在图上跑一遍单源最短路径算法即可。时间复杂度O(n2log⁡(n2))O(n^2 \log (n^2))O(n2log(n2))。正解: 线段树优化建图线段树有一个非常优美的性质: 区间[l,r][l,r][l,r]可以被映射成线段树上的许多连续的区间,且这些区间的数量不超过⌈log⁡n⌉\lceil \log n \rceil⌈logn⌉。我们要巧妙运用
原创
36阅读
0评论
0点赞
发布博客于 2 月前

CF917D Stranger Trees——多项式与Matrix Tree的完美结合

Description给定一个包含nnn个节点的无向树T。现在,请你求出,对于所有nnn个节点构造得到的无向树P,使得P与T的公用边的数量恰好为kkk的方案数。你需要对于k=0,1⋯n−1k=0,1 \cdots n-1k=0,1⋯n−1分别输出答案,并将它们对109+710^9+7109+7取模。Solution朴素做法根据生成函数的思想,我们可以对于给定的无向树T的每条边都赋予一个形如x+1x+1x+1的多项式。那么对于当前的kkk的答案,就是所有生成树的边权之积的和的kkk次项的系数。于
原创
20阅读
0评论
0点赞
发布博客于 2 月前

多项式学习笔记[二](全网最详细!有图有代码有解释有例题有总结!)

上篇文章目录任意模数NTTDescriptionSolution分治NTT多项式求逆多项式除法多项式开根多项式ln(对数函数)多项式exp(指数函数)多项式快速幂任意模数NTTDescription给定两个多项式F, G,请求出F与G的卷积。各项系数对模数ppp取模。请注意,ppp不一定是NTT模数。Solution咕咕咕分治NTT多项式求逆多项式除法多项式开根多项式ln(对数函数)多项式exp(指数函数)多项式快速幂学会了这些多项式的算法之后,我们来看看这些算法的广大应用。
原创
42阅读
1评论
0点赞
发布博客于 2 月前

P3266 [JLOI2015]骗我呢——数形结合之神题

Description给定两个数n,mn,mn,m,请你求出存在多少个大小为n×mn \times mn×m的矩阵AAA满足:①0≤Ai,j≤m,Ai,j∈N0\le A_{i,j} \le m, A_{i,j} \in N0≤Ai,j​≤m,Ai,j​∈N②Ai,j<Ai,j+1A_{i,j}<A_{i,j+1}Ai,j​<Ai,j+1​③Ai,j<Ai−1,j+1A_{i,j}<A_{i-1,j+1}Ai,j​<Ai−1,j+1​请将答案对109+710^9
原创
37阅读
0评论
1点赞
发布博客于 2 月前

多项式学习笔记[一](全网最详细!有图有代码有解释有例题有总结!)

文章目录关于多项式多项式乘法DescriptionSample复数的表示、基本定义与一些性质FFT预备知识FFTDFTIDFTFFT之再优化AttentionCode关于多项式一个形如f(x)=∑i=0naixi(an≠0)f(x)=\sum_{i=0}^n a_i x^i(a_n
eq 0)f(x)=∑i=0n​ai​xi(an​​=0)的式子被称为一个nnn次多项式。例如,3x3+5x2+x1+20213x^3+5x^2+x^1+20213x3+5x2+x1+2021是一个333次多项式。一
原创
73阅读
2评论
0点赞
发布博客于 2 月前

超级Trick—Kruskal重构树学习笔记

文章目录引入DescriptionSolution例题在读这篇文章之前,请确保你会最小生成树的Kruskal算法与树上LCA算法。引入Description给定一棵树,边带权,每次查询两点间经过的所有边的长度的最小值。虽然本题可以采用时间复杂度优秀的树剖+RMQ或树上倍增,但是本题也可以采用Kruskal重构树的方法解决。Solution首先,我们对树上的边按照权值从小到大排序。接着我们维护一个并查集,初始时每个节点都指向它自己。我们扫一遍已按权值大小排序的边集,假设当前看到的边连接了u,v
原创
50阅读
1评论
2点赞
发布博客于 2 月前

Ducati做题题集

List注: 颜色表示难度CF840D\color {blue} {CF840D}CF840DP2303\color {blue} {P2303}P2303CF1422D\color {blue} {CF1422D}CF1422DTipsCF804D考虑主席树。每次询问执行主席树上扫描即可。假设本题询问的区间是[L,R][L,R][L,R],当前扫到的值域区间[l,r][l,r][l,r]。如果左子区间的数在[L,R][L,R][L,R]中出现的次数之和超过了R−L+1k\frac {R-L
原创
43阅读
2评论
0点赞
发布博客于 2 月前

Luogu P3354 [IOI2005]Riv河流 题解———再加一维!再加一维!

Descriptionn≤100,k≤min(n,50)n≤100,k≤min(n,50)n≤100,k≤min(n,50).Solution考虑树形dpdpdp。状态设计为dpi,jdp_{i,j}dpi,j​表示在iii子树中建立了jjj个伐木场的最少花费。考虑状态转移。直接转移看起来十分困难,于是我们采用费用提前计算的dpdpdp技巧。即,对于每个节点都有一个贡献;具体的,第iii个节点的贡献为wi×dis(i,p)w_i×dis(i,p)wi​×dis(i,p),这里ppp表示离iii最
原创
22阅读
1评论
1点赞
发布博客于 2 月前

ACL Beginner Contest F(Heights and Pairs)题解——分治NTT

Description一个序列有2n2n2n个数,现在你要在这个序列中配得nnn个无序数对,使得每一对的两个数不同且每个数都在恰好111个对中。请求出合法配对的方案数。注意(1,3)(2,4)(1,3)(2,4)(1,3)(2,4)与(2,4)(1,3)(2,4)(1,3)(2,4)(1,3)这两种配对方式是等价的。请将答案对998244353998244353998244353取模。n≤50000,ai≤105n≤50000,a_i≤10^5n≤50000,ai​≤105Solution考虑d
原创
36阅读
0评论
0点赞
发布博客于 2 月前

网络流24题做题笔记

文章目录方格取数问题DescriptionSolutionSummary方格取数问题Description有一个nnn行mmm列的方格图aaa,每个方格中都有一个正整数。现要从方格中取数,使任意两个选中的数不行相邻或列相邻,且取出的数的总和最大。请求出最大的和。n,m≤100n,m≤100n,m≤100Solution首先,我们给网格图上的每个位置一个唯一的编号。然后,对于每一对行相邻或列相邻的节点连一条权值为∞∞∞的边,再从源点向每个节点(i,j)(i,j)(i,j)连一道权值为ai,ja_
原创
23阅读
0评论
0点赞
发布博客于 2 月前

莫队全家桶

编号名称实现简介时间复杂度1普通莫队①O(nn)O(n \sqrt n)O(nn​)2带修莫队②O(n53)O(n^{\frac 5 3})O(n35​)3在线莫队③O(nn)O(n \sqrt n)O(nn​)4回滚莫队④O(nn)O(n \sqrt n)O(nn​)5树上莫队⑤O(nn)O(n \sqrt n)O(nn​)①: 普通莫队例题: 小Z的袜子Description给定一个序列,每次询问一段区间[l,r]...
原创
27阅读
0评论
1点赞
发布博客于 2 月前

CF750E New Year and Old Subsequence题解——dp既出,矩阵归来

Description给定一个字符串,每个字符都是0−90-90−9之间的数。每次查询在一段区间[l,r][l,r][l,r]中至少需要删掉多少个字符,才能使得剩下的字符串不包含子序列2016且包含子序列2017。Solution考虑dpdpdp。dpi,j:dp_{i,j}:dpi,j​: 目前匹配到了串2017的第jjj位的最少删去字符数量。状态转移如下:①若ai=2a_i=2ai​=2。(1)不删去aia_iai​。此时aia_iai​的作用在于将一个暂未匹配的状态(∅∅∅)变为一个匹
原创
15阅读
0评论
1点赞
发布博客于 2 月前

P6222 简单题加强版——各种推式子trick大杂烩

文章目录DescriptionSolutionPart 1: 莫反推式子Part 2: 求函数FPart 3: 求函数GPart 4: 空间复杂度与时间复杂度的评估SummaryCodeDescription求∑i=1n∑j=1n(i+j)tμ2(gcd⁡(i,j))gcd⁡(i,j)\sum_{i=1}^n \sum_{j=1}^n (i+j)^t \mu^2(\gcd(i,j)) \gcd(i,j)i=1∑n​j=1∑n​(i+j)tμ2(gcd(i,j))gcd(i,j)qqq组询问,ttt为常
原创
29阅读
3评论
0点赞
发布博客于 2 月前

CF1120D Power Tree——图论建模求生成树,依次加点大力树剖

DescriptionSolution首先找到这棵树的所有叶节点并按照它们的dfsdfsdfs序排序。不难发现,对一个节点进行控制等价于可以将叶子序列中的一段区间做加一或减一操作。区间修改似乎很烦,于是差分一下。此时对[l,r][l,r][l,r]做操作等价于将差分数组的第lll位加111,第r+1r+1r+1位减111,于是从lll到r+1r+1r+1连一道边权为wuw_uwu​的无向边。由于r+1r+1r+1超过了叶节点的数量,所以我们要新建一个虚叶节点。现在我们要删去一些边使得最终的控制方案合
原创
24阅读
0评论
0点赞
发布博客于 2 月前

斜率优化详解(超详细, 有图有代码有注释)

文章目录斜率优化引入从例题开始斜率优化Part 1: 推为斜率式斜率优化Part 2: 合法点集的斜率单调性Part 3: 找到最优决策点Part 4: 斜率优化大流程Part 5: 斜率优化的优化Part 6: 代码详解斜率优化的一些问题斜率优化引入在说斜率优化之前,我们先说说一种更为简单的dpdpdp优化。比如,有一个dpdpdp式子形如dpi=min⁡0≤j<idpj+f(j)+g(i)dp_i=\min_{0≤j<i} {dp_{j}+f(j)+g(i)}dpi​=0≤j<imin​dpj​+
原创
145阅读
0评论
1点赞
发布博客于 2 月前

JSOI&NOI 2021 Online冲刺之刷题笔记

年龄不够参加不了JSOI 2021/kk12.21P3160: 裸的长链剖分优化dpdpdpP4292: 一种做法是二分然后点分治+线段树,更优的做法是先二分,然后长链剖分优化dpdpdp,转移的时候维护一棵支持单点修改区间查询最值的动态开点线段树即可。P5904: 妙题,状态转移方程真的没想到。之前听gh巨佬讲过一遍,但是这一次又没有想出来/kkfi,j:f_{i,j}:fi,j​: 在iii的子树内的满足dis(u,LCA(u,v))=dis(v,LCA(u,v))=dis(LCA(u,v),
原创
47阅读
1评论
0点赞
发布博客于 2 月前

专题——自然数幂和 详解

自然数幂和,有许多种解决方法,其中最典型的有下面几种。Description求∑i=1nik\sum_{i=1}^n i^ki=1∑n​ik由于答案可能过大,请将其对109+710^9+7109+7取模。法1: 高斯消元可以发现,∑i=1nik=∑i=0kfi ni\sum_{i=1}^n i^k=\sum_{i=0}^k f_i\ n^ii=1∑n​ik=i=0∑k​fi​ ni现在关键在于如何求出fif_ifi​。可以发现上面那个式子非常像高斯消元的经典系数矩阵。我们可
原创
75阅读
4评论
0点赞
发布博客于 2 月前

Treap详解 & Treap代码注意事项与总结

文章目录BSTDescriptionSolutionTreapTipsCode首先,我们学习一个比较简单的东西: BST(Binary Search Tree),即二叉排序树。BSTDescriptionSolution二叉排序树是满足下面条件的一棵二叉树: 对于任何一个节点rtrtrt,它的关键码大于所有在其左子树内的关键码,但是小于所有在其右子树内的关键码。这也被称为BST性质。对于某些题目,我们需要在修改的同时维护这个数据结构,在查询的时候快速得到答案。我们先假设任何时候二叉排序树内不存
原创
25阅读
2评论
0点赞
发布博客于 2 月前

二项式反演详解+例题

文章目录基本公式例1 欧拉错排DescriptionSolution基本公式若g(i)=∑j=0iCijf(j)g(i)=\sum_{j=0}^i C_i^j f(j)g(i)=j=0∑i​Cij​f(j)则f(i)=∑j=0i(−1)i−j Cijf(j)f(i)=\sum_{j=0}^i (-1)^{i-j}\ C_{i}^j f(j)f(i)=j=0∑i​(−1)i−j Cij​f(j)是的,二项式反演本身就是这么简单,本质上只是一个容斥。关键在于,我们要如何利用好这个重
原创
61阅读
2评论
0点赞
发布博客于 2 月前

洛谷10月月赛II T4象棋与马——莫反出手,杜教筛相助

Description有一只马刚开始在(0,0)(0,0)(0,0),它每次可以走一个a×ba×ba×b的矩形。如果可以到达无穷大棋盘上的任何一个点,则p(a,b)=1p(a,b)=1p(a,b)=1;否则p(a,b)=0p(a,b)=0p(a,b)=0。给定nnn,求∑i=1n∑j=1np(i,j)\sum_{i=1}^n \sum_{j=1}^n p(i,j)i=1∑n​j=1∑n​p(i,j)由于答案可能过大,请将其对2642^{64}264取模。Solution不难发现,p(i,j)=1p
原创
18阅读
1评论
0点赞
发布博客于 2 月前

差分之间,性质多多——差分综合应用学习笔记

差分,能够巧妙地维护多种区间修改,将区间修改转化为单点修改,将询问转化为前缀查询。但是,差分能支持的,岂止是这些。有时,差分一下,性质多多。例1. [Luogu P4552]IncDec SequenceDescription给定一个序列,请求出至少需要多少次区间统加111或区间统减111的操作才能使得整个序列中的数两两相同。为了增加难度,你也需要求出,在满足操作次数最小且最终序列中的数两两相同的前提下,最终能够得到多少种不同的序列。Solution本题中有区间修改这一说。不难想到差分。现在
原创
277阅读
0评论
0点赞
发布博客于 2 月前

P4292 [WC2010]重建计划——一题多解, 长剖胜出

Description请在图上找到一个长度在[L,R][L,R][L,R]之间的路径,使得这条路径经过的所有边的权值的平均值最大。请输出这个平均值。Solution 1: 二分+点分治+线段树首先,我们二分答案。假设当前二分到的值为midmidmid,我们将所有边权暂时减去midmidmid。显然,在原图中一条边权平均值不小于midmidmid的路径,等价于在新图中权值和为非负数的路径。考虑点分治。我们扫描当前节点nownownow的所有儿子,维护一棵线段树,它以深度(即与nownownow的距离)
原创
35阅读
0评论
0点赞
发布博客于 2 月前

P3768简单的数学题——从莫比乌斯反演到欧拉反演

Description求∑i=1n∑j=1nijgcd⁡(i,,j)\sum_{i=1}^n \sum_{j=1}^n ij \gcd(i,,j)i=1∑n​j=1∑n​ijgcd(i,,j)的值。请将答案对P(5×108≤P≤1.1×109)P(5×10^8≤P≤1.1×10^9)P(5×108≤P≤1.1×109)取模。Solution∑i=1n∑j=1nijgcd⁡(i,j)\sum_{i=1}^n \sum_{j=1}^n ij \gcd(i,j)∑i=1n​∑j=1n​ijgcd(i,j)
原创
71阅读
0评论
0点赞
发布博客于 2 月前

P4619题解——永远的旧试题!

文章目录DescriptionSolutionPart 1: 大力反演推式子Part 2: 奇怪技巧转图论Part 3: 根号分治三元环LemmaDescription求∑i=1A∑j=1B∑k=1Cf(ijk)\sum_{i=1}^A \sum_{j=1}^B \sum_{k=1}^C f(ijk)i=1∑A​j=1∑B​k=1∑C​f(ijk)其中,f(x)f(x)f(x)表示xxx的正约数个数。由于答案可能过大,请将其对109+710^9+7109+7取模。SolutionPart 1:
原创
38阅读
2评论
0点赞
发布博客于 2 月前

NOIP 2020游记——读秒绝杀

承接此文Day -25去参加了CSP-J/S2。结果CSP-S两位数滚粗了,严重缺乏经验、斗志、能力与心态/kkDay -17出分数了,CSP-S 95滚粗……感觉参加不了NOIP了,三等奖也没有了/kkDay -5参加了一场NOIP模拟赛,考完估分350350350,结果160160160,被AK IOI的神仙b6e0吊打了,也被出题人gh, pmt给鄙视了/kkgh: “谁叫你不用fread呢,活该!”Day -4CSP-S竟然混了个2=? 1=分数线竟然连300300300都没有
原创
601阅读
3评论
0点赞
发布博客于 2 月前

NOIP 2020游记之前言

这是NOIP 2020游记的前言。我想通过这篇文章,总结一下注意事项,一些成功与失利的总结以及一些心得感想。先从CSP 2020说起。这一场比赛,感觉真的是万言难尽。普及组考场上呼风唤雨,提高组考场上暴风骤雨,形成的反差是如此之大。提高组失利的原因太多了,自己策略的重大失误是客观原因,主观原因就数不胜数了——普及组估分是满分,“志得意满”,下午提高组的那一股拼劲就少了许多;前几天爆切紫黑题,骄傲了,自以为不挂分就能1=;普及组考得蛮累的,下午的精神与状态就大不如上午了;比赛前期做了一百多道树上的题,还有
原创
148阅读
2评论
1点赞
发布博客于 3 月前

那些满面红光的岁月(11.20-12.4)

呃,别误解了呀,满面红光指的是WA啊(在NOIP前总结一下自己犯的错误,希望考场上不要再犯了吧!P2859①思路没想全,竟然忘记要对一维排序;②排序之后错位了,没有记录下它原来的位置并把标记打回去。WA×4 /kkP4819①当做了SPJ,以为说要精确到666位小数精确到151515位也可以②思路出了点小问题,它是一个孤立的点当且仅当它连向的所有节点的入度都不是111;③孤立的点只能有111个,应该打在一个标记上最后再减。P2939分层图的数组开小,主要没关注自己写法与别人写法的不同之
原创
55阅读
3评论
0点赞
发布博客于 3 月前

Educational Codeforces Round 99 (Rated for Div. 2)

SolutionA可以发现,f(f(x))f(f(x))f(f(x))也就相当于把xxx末尾的所有000给去掉得到的数,即xf(f(x))\frac x {f(f(x))}f(f(x))x​为xxx在十进制意义下的lowbitlowbitlowbit。所以,答案就是nnn的位数,即读入的字符串的长度。B考虑一共进行了kkk秒,由1,2……k1,2……k1,2……k中的一些数变成−1-1−1组成nnn。可以发现,从一个数ppp变成−1-1−1相当于减去了p+1p+1p+1。首先,我们通过二分求出最
原创
28阅读
0评论
0点赞
发布博客于 3 月前

Luogu P6478(NOI Online #2 T3游戏)详细题解

这样子的神仙题,我当然是做不出来的。辛亏有dy巨佬在,他帮我彻底理解了本题,这是他写的题解。为了把自己的思路再理一遍,我决定再写这一篇详细的题解。Task 1: 状压dpdpdp, 20-40pts令m=n2m=\frac n 2m=2n​。我们可以首先确定下小AAA选的节点的顺序,由于小AAA选的节点的顺序已确定,所以此时两种方案不同当且仅当小BBB选的节点的顺序不同。考虑状压dpdpdp。dpst,idp_{st,i}dpst,i​表示目前已选的111类节点(即被小BBB拥有了节点)的集合为s
原创
35阅读
0评论
0点赞
发布博客于 3 月前

NOIP 2020模拟赛游记&&题解

自闭了。游记先看了一下所有题目,感觉难度并不是很大,大致难度是橙蓝绿紫。开了T1T1T1,发现是一个直线方程的裸题?判了一下是否存在相同的线,否则就输出n(n−1)2\frac {n(n-1)} 22n(n−1)​,然后一发过了大样例。感觉很稳,实不知道有平行的情况。开了T2T2T2,发现这是一个裸的bfsbfsbfs序+树状数组!然后每次二分找左右端点,二分里面再套一个倍增找祖先……大力卡常,时间复杂度是O(n+qlog2n)O(n+qlog^2n)O(n+qlog2n),估分100+100=20
原创
274阅读
0评论
0点赞
发布博客于 3 月前

NOI Online #3入门组题解

这是我的一个大耻辱。正是因此,时隔数月,我要重温这一切。SolutionT1直接模拟即可。T2考虑搜索。我们对于每一个位置,如果它没有被访问过,就向外走,每走到一个格子就打一个标记,最后深搜完毕就得到了这一个星星的大小,然后开桶统计即可。时间复杂度O(nm)O(nm)O(nm)。T3我们对于每一个物品aia_iai​,它有bib_ibi​份,将它做二进制拆分。假设ai=5,bi=10a_i=5, b_i=10ai​=5,bi​=10,那么我们拆成了以下四个物品: 5∗1,5∗2,5∗4,
原创
48阅读
2评论
0点赞
发布博客于 3 月前

NOI Online #1入门组详细题解

文章目录SolutionT1T2T3SummaryCodeABCSolutionT1考虑O(n2)O(n^2)O(n2)暴力: 枚举a,ba,ba,b,然后求出对应的ccc,更新答案。这种做法会T掉。虽然我们可以将时间复杂度优化到O(n)O(n)O(n),可事实上暴力大力剪枝+卡常就能过。①对于一个aaa,我们将bbb先从0−30-30−3枚举一遍,如果这些bbb都不行,那么这个aaa就不行了;直接break;②得到一个ccc的特解后,每次将ccc加444而不是加111,这样可以保证对于每一个c
原创
42阅读
0评论
0点赞
发布博客于 3 月前

提高组经典题选做

文章目录[NOIP2018 D2T3]保卫王国DescriptionSolution[NOIP2012 D2T3]疫情控制DescriptionSolution[NOIP2018 D2T3]保卫王国Description给定一棵树,每个点都有一个点权aia_iai​。qqq次询问,每次小ZZZ会给出一组询问x,a,y,bx,a,y,bx,a,y,b,表示第xxx个节点不能选/必须选,第yyy个节点不能选/必须选时,这棵树的最小代价。定义一棵树的最小代价为: 在树上选定的节点满足任何一条边的两个端点
原创
28阅读
1评论
0点赞
发布博客于 3 月前

Codeforces Round #686(Div.3,CF1454)题解

文章目录SolutionABCDEFCodeA&&B&&CDEF由于第二天还要上学,就没有去打/kk赛后补了一下,结果E没在规定时间内A掉(我搞了场虚拟赛),F到是切掉了……自闭了。SolutionA水题,直接输出2,3,4……,n,12,3,4……,n,12,3,4……,n,1即可。B先跑出最小值,并且用一个桶记录数组中每个数是否出现过;最后扫一遍,找到等于最小值并且出现次数只有111次的数即可。注意输出的是位置而不是值。C开nnn个桶,每个桶里面维护的是
原创
82阅读
0评论
0点赞
发布博客于 3 月前

简单交互题选讲&交互题浅谈

文章目录一些定义与技巧一些例题例1. [CF1167B]Lost NumbersDescriptionSolution例2. [CF1407C]Chocalate BunnyDescriptionSolution例3. [CF1451E2]Bitwise QueriesDescriptionSolutionSummary例4. [CF1114E]Arithmetic ProgressionDescriptionSolutionSummary一些定义与技巧交互题,顾名思义,你需要用电脑与官方机器交流,从而
原创
83阅读
0评论
0点赞
发布博客于 3 月前

Atcoder Beginner Contest 184题解

前言个人难度: A<B<E<F<D<CSolutionC考虑大力分讨。①0/10/10/1步到直接判断即可。②222步到定义与终点距离不大于333的集合为TTT,与起点距离不超过333的集合为SSS。(1)如果横坐标值差与纵坐标之差的奇偶性相同;(2)对于SSS中的一个点可以一步走到终点;(3)对于TTT中的一个点可以一步走到起点;(4)SSS与TTT的交集非空。③333步到不满足①②,就是③。D考虑dpdpdp。状态设计: dpi,j,kdp
原创
58阅读
0评论
2点赞
发布博客于 3 月前

Atcoder Regular Contest 108详细题解(A,B,C,D,F)

SolutionA我们对于两个乘积为PPP的约数配对,看看这些对中是否存在两个数的和为SSS即可。时间复杂度O(P)O(\sqrt P)O(P​)。如果采用我之前瞎搞的Miller-Rabin+分解质因数找约数,时间复杂度可以优化到O(3Plog2P)O(^3\sqrt {P log^2 P})O(3Plog2P​)。B一道有一点坑的题目,首先放上一组Hack数据:Input:ffoxfoxoxOutput:3 //it is wrongAnswer:0 //jury's ans
原创
180阅读
0评论
0点赞
发布博客于 3 月前

CF1081D(Avito Cool Challenge 2018 D)题解

Description定义一条路径的长度为路径中所经过的边的最大边权。给定一个nnn个点, mmm条边的带权无向图,和kkk个关键点,需要你求出对于每个关键点,离它最远的关键点离它有多远。注意,这里两个点之间的距离,指的是两个节点之间最短路的长度。Solution首先,我们跑出最小生成树。可以发现,对于任意两个节点的最短路径,一定只经过了树边。这可以通过反证法证明。然后我们将这棵树的每条边给按照降序排序,考虑对于新加入的一条边所合并的两个连通块x,yx, yx,y,若xxx中关键点的数量为111且
原创
19阅读
0评论
1点赞
发布博客于 3 月前

动态dp详解

序列上的动态dpDescription给定一个长度为nnn的序列,你需要维护两种操作。①查询一个区间的最大子段和;②单点修改(即将一个位置上的数改成另一个数)n,q≤105n, q≤10^5n,q≤105Solution首先,考虑这样一道题目: 求出整个序列的最大子段和,没有修改。考虑dpdpdp。状态设计: dpidp_idpi​表示以iii为结尾的最大子段和。状态转移: dpi=max(dpi−1,0)+aidp_i=max(dp_{i-1},0)+a_idpi​=max(dpi−1​
原创
1284阅读
0评论
0点赞
发布博客于 3 月前

CSP-J/S 2020题解

AFO(by ducati)CSP-J 2020题解ASolution直接说正解。首先,如果nnn是个奇数,那么应该输出−1-1−1,因为必须有111的参与才可以满足要求,但是不能有111的参与。否则,我们对nnn进行二进制拆分,从大到小输出每一个该位为111的位权即可。时间复杂度O(log⁡n)O(\log n)O(logn)。Summary这题的坑点并不多,有那么一点点"思维含量",而不是往年PJ T1的大水题;是一道清新的签到题。考场上大家都切掉了吧~花絮忍不住要吐槽一下,看
原创
295阅读
0评论
3点赞
发布博客于 3 月前

CSP-J/S2 2020游记——个人揭幕战

⌊\lfloor⌊ 我没有辜负自己,可奇迹辜负了奇迹 ⌉\rceil⌉Day 0打了几个板子,晚上决定直播写代码……结果不编译直接交CECECE,KMP写炸了,身败名裂……Day 1早上起得比较早,6:006:006:00就下床了。早餐桌上摆了许多山楂,组成了AKAKAK两个字母……QAQ买着轻盈的步伐,开车101010分钟就到了考场,坐在座位上等待发题。结果发现,CPPCPPCPP文件打不开?监考老师还说这个问题不能帮我解决QAQ……不一会儿比赛卷子就发一下来了。发现从0KB0KB0KB缓慢
原创
2527阅读
6评论
3点赞
发布博客于 3 月前

CSP-J/S 2020考前注意事项

只写那种容易注意不到的,已经强调很多遍的就不写了。比赛前尽量早到,千万不要迟到.千万不要带着负面的情绪考,不然肯定爆0.静心,不建议面基.一定要放松,考完试再紧张 .听《膜你抄》等歌曲比赛中关于编译错误禁止使用双下划线函数,比如__gcd变量名取得中文一点,比如把pipe改成guanzi(特别注意不要用size, next, x0, x1, y0, y1, left, right, max, min, time,不然会死得很惨)考试最后阶段不要乱改代码了,改到最后CE了惨不惨傻
原创
1100阅读
5评论
0点赞
发布博客于 3 月前

CF1254D 题解&&总结

文章目录SolutionSubtask 1: n,q≤5000n,q≤5000n,q≤5000Subtask 2: n,q≤105n, q≤10^5n,q≤105, 每个节点的度数不超过101010Subtask 3: n,q≤105n,q≤10^5n,q≤105, 无特殊限制Subtask 4: n,q≤5×105n, q≤5×10^5n,q≤5×105,无特殊限制Code总结⌊\lfloor⌊ 从朴素到根号分治,从根号分治到树剖 ⌉\rceil⌉Div.1 D的神仙题 ????SolutionS
原创
60阅读
0评论
0点赞
发布博客于 3 月前

CF1167F(Scalar Queries)题解

这题解不是口胡的。文章目录花絮Solution花絮一个月前看这题,早上看了,准备在学校中自习写完作业想一会儿,结果推了一整个中自习加上一个课件加上一堂课都没推出来……想得非常复杂,在那里写了个多项式然后什么NTT,FFT都搞出来了,结果最后复杂度与暴力没什么差别……自闭了……结果刚才切掉了Solution不推式子怎么行?∑i=1n∑r=lnf(l,r)\sum_{i=1}^n \sum_{r=l}^n f(l,r)∑i=1n​∑r=ln​f(l,r)...
原创
35阅读
0评论
0点赞
发布博客于 3 月前

CF Round #681(Div.2)/CF1443 口胡题解

由于一些原因(时间),本蒟蒻决定口胡这场比赛。下面的题解纯口胡,但是与题解中的解法基本相同。SolutionA答案就是2n+2,2n+4,2n+6……4n2n+2, 2n+4, 2n+6……4n2n+2,2n+4,2n+6……4n。B考虑我们在一个位置放上一个111的意义何在——使得两段不连续的区间连续起来,可以一次清000。即,假设左边有一个区间,右边有一个区间,然后中间隔了kkk个格子;分别清空的代价是2a2a2a,而拼接起来(即把这kkk的格子全部填上111接着连续之后一次清000)的代价
原创
101阅读
0评论
2点赞
发布博客于 4 月前

决策单调性优化dp学习笔记

文章目录从例题开始SolutionCode注意事项(特别重要!)模板题练习题最后几天多写几篇博客,总结一下拼搏的这一年,曾经并不是那么熟练的内容,顺便熟悉一下我的神奇键盘从例题开始HDU3507Solution首先,状态设计十分显然: dpidp_idpi​表示前iii个数的答案。状态转移也十分显然: 枚举最后一段的左端点lll,则dpi=dpl−1+(∑j=liaj)2+Mdp_i=dp_{l-1}+(\sum_{j=l}^i a_j)^2+Mdpi​=dpl−1​+(∑j=li​aj​)2+
原创
35阅读
0评论
0点赞
发布博客于 4 月前

膜拜duyi! && CF1436E题解

这篇文章参考了神仙duyiduyiduyi的题解。个人认为他的那篇文章写得比这篇还要好,可以去看看他的这篇题解;如果看不懂的话 ,就来看看我的。sto duyi orz!!!duyi ddjxd!Description求一个序列的所有连续区间的mexmexmex的mexmexmex。SolutionPart 1: 转化首先,看到本题,我们不难想到三个思考方式:①直接从mexmexmex的mexmexmex入手,挖性质;②从mexmexmex入手,扩展到mexmexmex的mexmexmex
原创
80阅读
0评论
0点赞
发布博客于 4 月前

CSP-S 2020模拟赛2游记&&题解

先总结一下。①你说这是CSP-S难度的?②你说我旁边是谁?一堆天天跪着膜拜的神仙……好消息是一分没挂,因为我只打满了暴力毫无悬地拿了rk 1(显然是倒数的),人均300300300(当然除了我)。SolutionT1这题并不是很难,大约TG D2T2难度,可为什么没想到……首先,我们将这些关键点从小到大排序。可以发现,任何区间覆盖的都是一段连续的关键点。于是,我们将这些区间转化为“覆盖的关键点的区间”,可以说不仅完成了离散化,也完成了一个重要的转化,一举两得。然后,我们考虑dpdpdp。状
原创
265阅读
0评论
0点赞
发布博客于 4 月前

CSP-J 2020模拟赛题解

先总结一下。策略完全正确,对拍出了很多错误,最终一分不挂。可惜的是,第四题最后没来得及去想出正解,决定使用O(n2logn)O(n^2logn)O(n2logn)的树状数组写法,拿了606060分的部分分,全场一堆人切掉这题(sto b6e0 orz),我太菜了……可能还是要练一下切题吧,不能不管什么难度的题都要在30−6030-6030−60分钟内完成,这是对“绝杀”不利的。要保证效率的情况下,节省时间,为后面的大题节省时间。T1似乎可以优化到O(n)O(n)O(n)。这里说一下O(n)O(n)O
原创
345阅读
0评论
0点赞
发布博客于 4 月前

NOIP 2010提高组题解

这是同机房一位巨佬在AK IOI之后发表的感言。为了学习他的这种精神(我太菜了,但我也想像他一样AK IOI QAQ),这篇题解就诞生了。战车被马拉着SolutionT1直接模拟。注意入队的时候打上标记,出队的时候清楚标记,每次查询的时候直接O(1)O(1)O(1)查询标记即可。时间复杂度O(N)O(N)O(N)。T2一直在那里想二分,结果云云出来一个O(log⁡109n2)O(\log{10^9}n^2)O(log109n2)的解法(剪枝一下跑不满)……我太菜了……我们考虑贪心。记u,.
原创
33阅读
0评论
0点赞
发布博客于 4 月前

快读与快输

inline int read(){ int s=0,w=1;//s表示不带负号的值, w处理负号的情况 char ch=getchar(); while (ch<'0'||ch>'9') { if (ch=='-') w=-w;//处理前置负号 ch=getchar();//继续读入 } while (ch>='0'&&ch<='9') { s=(s<<1)+(s<<3)+(ch^'0');//我们每次末尾添
原创
23阅读
0评论
0点赞
发布博客于 4 月前

中国剩余定理——一分钟从入门到放弃

Description给定nnn个限制条件,形如xxx膜aia_iai​等于bib_ibi​,求xxx的最小整数解。例如,三个限制条件为3 15 17 2(每一行第一个数是aia_iai​,第二个是bib_ibi​)答案为16Solution这是中国剩余定理的板子题。直接给出结论: 设mul=∏i=1naimul=\prod_{i=1}^n a_imul=∏i=1n​ai​, mi=mulaim_i=\frac {mul} {a_i}mi​=ai​mul​, tit_iti​为在膜
原创
63阅读
1评论
0点赞
发布博客于 4 月前

Atcoder AGC 043 D题解

一道思维含量很大,代码量很小的紫题。赛时AC人数较少,本蒟蒻也并没有做出来……写个题解总结一下。Description给定一种生成长度为3n3n3n的排列的方法:先随意生成一个排列,然后把这个排列划分为nnn块,每块333个数,111个指针。刚开始每个指针指向的是该段的开头,每次找到所有指针指向的数中最小的那个,把这个数放到这个序列的末尾并将这个指针向右移动一位。如果一个指针出了它原先所在的块,就删除该指针。当所有指针都不存在后,生成完成。求存在多少个长度为3n3n3n的排列是可以按照上述方式生成的
原创
48阅读
0评论
0点赞
发布博客于 4 月前

Atcoder AGC043B(123 Triangle)题解

专门为这题写个题解。Description给定一个仅包含1,2,31,2,31,2,3的序列,每次这个序列的长度减111,第iii位上的数变为原来序列中第iii位减去第i+1i+1i+1位的数的绝对值。当这个序列的长度变成111时,唯一那个数的值。Solution首先,我们可以发现几个性质:①经历了第一次变换后,333消失了,000可能会出现。这个很容易证: 1,2,31,2,31,2,3中任选两个可以相同的数相减的值的绝对值,一定不为333。②答案为000或111或222。证明方法与①同
原创
31阅读
0评论
0点赞
发布博客于 4 月前

ARC 106(Atcoder Regular Contest 106)A-D题解

由于各种各样的原因,本蒟蒻无法参加ARC 106的比赛,只能赛后看题。A: 不能溢出(WA×2),用__int128搞结果好多东西没有转型(WA×1),把输入的nnn前的long longlong\ longlong long误去掉了(WA×1)B: 没有特判两条边在一个连通块内的情况,导致并查集的mergemergemerge操作写挂(WA×2)C: 没看到lll两两不同,rrr两两不同的要求(WA×1),没看到li,ri≤109l_i,r_i≤10^9li​,ri​≤109的
原创
146阅读
0评论
1点赞
发布博客于 4 月前

Technocup 2020-Elimination Round 1(CF1413)部分题解&&总结

先总结一下。A竟然想了555分钟,同机房的人都切掉了之后才开始做。B因为RE错了222次,罚了许多分;主要是看到WAWAWA,以为思路错了,事实上是数组开笑了。C想了半天,无果。开DDD,切掉。然后回到CCC,一个同机房的巨佬做出来之后,全机房的人问他怎么做;结果啥也没听懂,比赛结束后才恍然大悟。用了自己的一个636636636分的,才打一场的灰名小号打,应该能上分吧……SolutionA对于每一对(i,j)(i,j)(i,j),配上(j,−i)(j,-i)(j,−i)即可。B开桶记录
原创
864阅读
7评论
1点赞
发布博客于 4 月前

CSP 2020模拟赛1题解&&总结

先总结一下自己的得分情况:T2想不出来很不应该,把式子写下来,交换两个∑\sum∑然后开桶分块就做完了。SolutionT1首先,如果m<n−1m<n-1m<n−1,那么显然构造不出连通图,输出−1-1−1。否则,我们这么构造这个图: 从111到222,从222到333……从n−1n-1n−1到nnn,先连这n−1n-1n−1条边,然后剩下的边在保证无重边自环的情况下乱连就可以了。即,我们最终输出的是1,2,……n1,2,……n1,2,……n。时间复杂度O(∑n)O(\sum n)O(∑n)
原创
115阅读
0评论
0点赞
发布博客于 4 月前

2020-10-22刷题笔记

文章目录CF14D(自己做出来的)P3501(自己做出来的)P3498(自己做出来的)CF109C(自己做出来的)CF29D(自己做出来的)CF461B(我太菜了,没做出来,感谢duyi巨佬)P3538(我太菜了,没做出来,感谢忆殇巨佬)P4551(学算法)P3371(复习算法)CF1292C(神仙题,没做出来,感谢syksykCCC巨佬)CF1238F(自己做出来的)CF14D(自己做出来的)枚举其中一条路径,然后将这条路径上所有边权都设为−∞-∞−∞,再用dpdpdp贪心地跑一遍直径即可,取这两条路
原创
61阅读
2评论
1点赞
发布博客于 4 月前

Codeforces Round #677 (Div. 3, CF1433)题解

文章目录SolutionT1T2T3T4T5T6T7CodeSolutionT1直接暴力即可。用数学手法也可以。T2对于每两段连续的111之间隔的000的个数之和就是答案。T3首先,如果所有数都一样,显然输出−1-1−1。否则,一定存在一个最大值能把其他数全部吃掉。我们只需要找到一个最大值,使得它的左边或它的右边不全是最大值即可。时间复杂度O(n)O(n)O(n)。T4一道巧妙而有些水的构造题。首先,我们将整个序列排序。如果这个序列所有数都一样,显然不行;否则我们找到最长的一段各个数
原创
137阅读
0评论
2点赞
发布博客于 4 月前

洛谷10月月赛II题解

SolutionT1首先,可以一眼看出这是一个完全图的一笔画问题。然后开始挖性质:①根据欧拉图的性质,如果将我们一笔画中没有经过的边删去,那么剩下的节点的度数一定有000个或222个是奇数。通过这个东西,我们可以挖出性质:②如果nnn为奇数,可以发现这个完全图中所有节点的度数都是偶数,那么显然可以一笔画走完。答案为Cn2C_{n}^2Cn2​。③如果nnn为偶数,我们要考虑删去最少数量的边,使得剩下的图形可以一笔画走完。由于我们要删去最少的边,又因为每删去一条边两端的节点的度数都会减去111,
原创
62阅读
1评论
0点赞
发布博客于 4 月前

CSP-S 2020考前冲刺笔记

文章目录停课前2020.10.142020.10.152020.10.162020.10.17停课前2020.10.14P1082: 学习了扩欧,板子题P3811: 学习了线性求逆元,板子题ACL B: 枚举kkk与k+1k+1k+1分别能被哪两个积为nnn的数整除,然后跑几遍扩欧并取最小值即可。2020.10.15P3811: 学习了积性函数线性筛,换了一种方式A掉P3455: 莫反板子题,用线性筛求了下莫比乌斯函数CF1187E: 又水又裸的换根dpdpdp,切掉2020.10.16
原创
212阅读
2评论
0点赞
发布博客于 4 月前

CSP-S 2020初赛游记

考试前对自己做了一大堆心理辅导,在群里面也分享了一些东西,用来释放自己的压力……另外,写了个生涯回忆,收获了一大堆的评论与赞?有意思……然后就怀着必胜的信念打初赛了,可是迅速就从必胜变成了必败……那是谁?——yzhang!那是谁?——pmt!那是谁?——duyi!那是谁?——b6e0!那是谁?——(名字真的忘了,反正是去年的JS省队选手)这不炸了呀,怎么考……旁边坐着一堆巨佬,我不是要被吊打了……分数线96左右,认真考吧;不想别的了,马上就是NOI 2021了。9:309:309:30
原创
388阅读
1评论
2点赞
发布博客于 4 月前

CSP-S冲刺笔记(Day -24)

文章目录扩欧详解线性求逆元详解刷题笔记ACL B扩欧详解假设我们有一个方程: ax+by=cax+by=cax+by=c。这里给定了a,b,ca,b,ca,b,c,要让我们求(x,y)(x,y)(x,y)的一对整数解。保证有解。首先,为了简化问题,假设ax+by=1ax+by=1ax+by=1。于是,我们考虑一种神奇的算法——扩展欧几里得算法。我们每次递归时,对这个式子进行如下变换:ax+by=1ax+by=1ax+by=1bx+(a mod b)y=1bx+(a\ mod\
原创
50阅读
1评论
1点赞
发布博客于 4 月前

课件(Part 2, TG)

T12一道结论题。直接给出结论,请大家思考为什么是这样的:三个点两两的LCALCALCA中,显然会有两个相同,另一个就是答案。T13Subtask 1: n≤40直接找到该树的直径,然后枚举核的两个端点,使其距离不超过kkk;接着枚举所有点并求出它们与树核的距离的最大值即为偏心距。注意预处理出节点两两之间的距离。时间复杂度: O(n4)O(n^4)O(n4)。Subtask 2: n≤200可以发现,直径贯穿了整棵树;即,直径把树分为了许多块。于是,我们枚举核的两个端点,使其距离不超过
原创
139阅读
2评论
0点赞
发布博客于 4 月前

2020洛谷初赛模拟难题详解

文章目录Update4567.10.15.阅读程序1程序理解题目详解阅读程序2程序理解题目详解阅读程序3程序理解题目详解完善程序1完善程序2Update首先,先申明一下,本文有一点愤怒的情感……怎么感觉一直在ddd人QAQ4首先,可以得到这张图片的大小为4096×2160×24=n(bit)4096×2160×24=n(bit)4096×2160×24=n(bit)。所以,它的大小为n10242\frac n {1024^2}10242n​MB或n1024\frac n {1024}1024n​
原创
978阅读
0评论
2点赞
发布博客于 4 月前

CSP-S 2019提高组第一轮详解

⌊\lfloor⌊ 愿,自己不再辜负自己,奇迹不再辜负奇迹 ⌉\rceil⌉⌊\lfloor⌊ 风雨之后是彩虹,CSP-J/S 2020,加油! ⌉\rceil⌉选择题6.Description由数字1, 1, 2, 4, 8, 8所组成的不同的4位数有多少个?Solution大家都不想暴力枚举吧?于是我就使用了优化版的枚举,可以在考场上更快得到答案。共有以下几类数字:①112411241124型: 12个(1124, 1214, 4122等)②112811281128型: 12个(11
原创
318阅读
1评论
0点赞
发布博客于 4 月前

矩阵快速幂——从入门到放弃(看这一篇就够了)

文章目录Part 1: 矩阵的运算Part 2: 例题与讲解例1. 斐波那契数列练1. P2359三素素数(数据加强: n≤1018n≤10^{18}n≤1018)练2. P5343[XR-1]分块练3. P1939[模板]矩阵加速例2. [SCOI2009]迷路例3. [NOI Online #3提高组]魔法值练2: [NOI2020D1T1]美食家例4. [TJOI2017]可乐Part 1: 矩阵的运算矩阵有许多种运算,这里列举出其中最常用的三个。为了方便书写,假设参与运算的两个矩阵是A,BA,
原创
198阅读
2评论
3点赞
发布博客于 5 月前

生涯回忆(至CSP-J/S2)

⌊\lfloor⌊ 愿,自己不再辜负自己,奇迹不再辜负奇迹 ⌉\rceil⌉——题记文章目录史前纪元(2018.2——2019.12)OI之初期寒假纪元(2020.1—2020.5)OI之初期黑暗纪元(NOI Online #3)OI之初期暑假纪元(2020.7-2020.8)OI之中期: 第一赛季(2020-2021)史前纪元(2018.2——2019.12)记得,由于当初LogoLogoLogo语言学得很好,由zzzzzz巨佬向老师gutcgutcgutc推荐了我。当初才六年级不到……所以,那
原创
1736阅读
7评论
3点赞
发布博客于 5 月前

TG模拟赛题解&&被吊打记

太菜了,游记也没什么好写的,全程都在打暴力;接着暴力还打挂,毫无悬念地被吊打了……就这个水平,别说NOIP 1=了,CSP-S 1=都没啦后来讲题听懂了两题,于是现在就开始写题解……T1首先,考虑一个十分显然的东西:如果一个数组能够两两配对,使得每个数都在恰好一个对里,且每对的两个数相等;那么显然先手会输。原因显然,先手能做的事情,后手也能做,他只需要控制上述条件的成立即可。即,假设原序列为1 1 2 21\ 1\ 2\ 21 1 2 2
原创
60阅读
1评论
0点赞
发布博客于 5 月前

CF 1092E Minimal Diameter Forest 题解

Solution 1首先,如果我们已经把这棵可爱的森林连成了一棵更加可爱的树,那么新树的直径是多少呢?类比CF804D(有我题解),可以得到直径来自下面两种情况之一:①老树中的直径(即在初始的森林形态时的每棵树);②对于两个来自不同老树的节点u,vu,vu,v后,它们之间的长度为:uuu所在的老树中,以uuu为一端的路径的最长链+在新树中,uuu所在的树与vvv所在的树的距离+vvv所在的老树中,以vvv为一端的路径的最长链。首先,我们考虑该如何连接节点,不考虑在哪些老树之间连边。显然,假设
原创
58阅读
0评论
0点赞
发布博客于 5 月前

ACL Beginner Contest 题解&&花絮

显然不是ABC难度,做得累死本蒟蒻了,而且还没AKSolutionA直接模拟即可,水题。班上有个巨佬不用C++用Python强势装逼过了这题B只需要判断是否满足max(A,C)≤min(B,D)max(A,C)≤min(B,D)max(A,C)≤min(B,D)即可。C对于每一个连通块缩点,剩下的sss个点之间显然不存在边,于是我们连s−1s-1s−1条边即可。这里缩点不需要TarjanTarjanTarjan,只需要并查集维护一下连通块。最终用桶统计即可。DO(n2)O(n^2)O(
原创
89阅读
2评论
1点赞
发布博客于 5 月前