自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划题单(持续更新)

考虑从什么状态入手。我们发现不同的操作可能会出现相同的结果序列,那么我们从操作完最后的序列入手。结尾的合法序列有多少种。考虑转移:如果最后一个数以。只能在这个区间内出现,且作为该区间内的极小值。首先读完题可发现的是每个。结尾,那么前一个数只能以。.用前缀和优化转移即可。都有个极长区间,也就是。个数,且最后一个数以。...............

2022-08-12 17:06:36 849

原创 AtCoder Beginner Contest 319 G - Counting Shortest Paths

中维护集合表示未被遍历到的点,而一个节点在这个集合存在的次数不超过。后我们其实是在其补图上求最短路。

2023-09-10 15:21:43 214

原创 根号分治

那么这样在新的图中的三元环在旧图中也依旧是三元环,不会影响答案。前言:感觉根号分治这种根号类算法的难度在于对题目转化,然后去证明出正确的复杂度(接下来考虑后面的染色,根据代码,如果某个点被更新,那么更新后的距离一定是小于。但是怕被卡,所以我们进行根号分治,只记录。时,可以发现新图中节点的度数不会大于原图。次询问,当前询问增加一层,那么最多会增加。的,所以对于某个点来说,其最多会被更新。个点,那么相邻点之间的最大距离。时,因为原图中节点的度数为。, 新图中节点的出度为。的深度的节点的状态,

2023-08-11 23:11:19 233

原创 一类计数类DP的解法

我们将所有黑色格子先排序,那么我们去固定我们第一个经过的黑色格子的位置,那么所有的子问题将不会有重叠。如果把图中的双连通分量都看成点的话,那么最终形成一颗树,树边连接各个双连通分量。既然是不连通的图,那么必然是若干个连通块形成的,那么我们去枚举节点1所在连通块的大小即可不会造成重复。个格子是黑色的,其它都是白色的,求从左上角走到左下角且不能经过黑色格子的方案数,每次选择向右或下走。的转移:我们以编号最小的节点所在连通块为基准,枚举连通块大小。那么我们仿照之前的做法,枚举1所在的双连通分量的大小。

2023-07-31 23:59:45 133

原创 AtCoder Regular Contest 159

对于这种限制操作次数,而且很明显操作次数会很多的构造题,我们应尽量去找存不存在一个元操作使数组有某种变化,然后复制该操作。那么我们就找到了一个元操作,使得一个位置增加1,一个位置减少1.一个很重要的性质:若一个区间被选,那么选的一定是其一个后缀。:第i个区间必选的最长上升子序列。而且不难发现的是,后面的。,那么我们需要找到一个最小的整数。的前提下将数组所有元素变得相等。次,直接暴力递归求解即可。,我们先随便找一个排列将其变成。的倍数,那么我们暴力枚举。,求能否在操作次数不超过。,操作一次后等价于求。

2023-07-16 18:26:04 213

原创 Codeforces Round 721 (Div. 2) B2. Palindrome Game(博弈)

是偶数,Alice只能先进行操作1,之后Bob每次在对应位置上也进行操作1,保持仍为回文串,当剩最后一个时,Bob进行操作2,Bob获胜。如果cnt时奇数,Alice修改中间位置,此时转化为上述cnt为偶数的情况,Alice获胜。如果不为1,那么Alice依旧可以一直翻转,知道Bob将其补为回文串的时候,修改中间位置,Alice必胜。:Alice可以任意翻转,而Bob必然将字符串补成回文串,在Bob即将将字符串补成回文串的时候,Alice不再翻转,将其补成回文串,此时Alice变为后手,必胜。

2023-07-14 00:13:35 91

原创 势能线段树

我们发现两种操作不会改变数在二进制下的1的个数,且操作2会每次减少一个1。那么如果某个区间的所有数的二进制1的个数为0,那么不再修改,结束递归,否则就一直递归进行单点修改。对于操作3,则相对于二进制下的区间乘。观察数据范围,100以内的质数不到30个,那么我们可以将。,那么直接进行区间乘,否则继续递归修改。那么如果对于某个区间全部含有因子质数。拆分成质数进行区间乘的修改。的数的欧拉函数值的和。的和,操作2:将区间。

2023-07-13 23:50:05 111

原创 AtCoder Beginner Contest 309

的取值最多也就9种。看起来会更好做一点?所以考虑容斥,求出满足至少有一个位置满足。因为我们只关心相对大小,所以我们先对其进行离散化,然后按。枚举到当前长方体时,将离散化后的。转移很好转移,最后利用容斥转一下就可以了。的所以下标对应的值的最小值即可。的长方体,问是否存在两个长方体。,那么我们只需查询小于当前。作为下标,对应的值为。,输出合法的方案数。个位置选的数的状态是。

2023-07-09 16:14:05 238 2

原创 统计学期末复习整理

集中趋势是指分布的定位,它是指一组数据向某一中心值靠拢的倾向,或表面一组统计数据所具有的一般水平。

2023-06-01 13:41:39 915

原创 最小异或对

给出一个多重集合,每次可以加一个数,删一个数,或者询问从集合中选出两个数,使其异或和最小。3.如果子树内只有一个元素,记录其值。1.该节点子树内的答案。2.子树内的元素的个数。输出每个询问的答案。

2023-05-18 23:53:39 140

原创 操作系统期末记录

如果另一进程申请该资源,那么申请进程应等到该资源释放为止。个进程应占有至少一个资源,并等待2请求和保持:另一个资源,而该资源为其他进程所占有。4循环等待:存在一种进程资源的循环等待链,链中每个进程已获得的资源同时被链中下一个进程所请求。这种地址变换是依靠硬件地址变换机构实现的,通常采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变换。是指两个或两个以上的进程在执行过程中,因争守资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

2023-05-18 16:07:16 89

原创 时间戳优化

染成黑色,求在每次染色后有多少颗子树中既有黑色又有白色节点。给定一颗有根树,起初点全为白色,序列。

2023-05-17 21:31:52 365

原创 2023天梯赛L3-2 完美树

的代价改变颜色,求将整棵树中黑色节点数量与白色节点数量相差不超过1的最小代价。给定一颗树,每个节点颜色为0,或1,0代表黑色,1代表白色。为根的子树中0、1节点数量相等。若为奇数,我们需要讨论。为根的子树中0节点数量大于1。为根的子树中0节点数量小于1。显然,只有子树大小为偶数时。还有一个问题是假如我们选了。即可,可以看代码如何实现。是偶数,我们只需考虑计算。的颜色,0和1数量相等。,如何选使总代价最小。为奇数,我们考虑转移。

2023-04-23 22:02:00 1864 1

原创 Codeforces Round 863 (Div. 3) G2. Vlad and the Nice Paths (hard version)

那么说明是新一段的第一个数,可以从之前的任意一种颜色转移,但是为了避免复杂度退化成。份,每份的颜色都相同。求长度最长的这样的子序列的个数。,加个小优化,维护一下和就行。,找出一个子序列的长度为。颜色结尾的最大长度,数量。转移的话需要注意的是如果。转移的话也较容易转移。,则将这个子序列分为。个数,最后一个颜色为。

2023-04-20 23:53:45 483

原创 Python词云

jieba库、matplotlibwordcloud库。

2023-04-16 10:38:05 1557

原创 Codeforces Round 862 (Div. 2) D E(树上问题)

那么显然所有的点都是孤立的。否则直径的两个端点肯定在一个连通块内,对于其它点,如果与两个端点在一个连通块内,那么它到两个端点的距离的最大肯定大于。,那么我们求出每个点的最大距离后排序,求出有多少个孤立的点,因为它们如果不能与两个端点在一个连通块,那么一定是一个孤立的点。,那么对于直径的两个端点距离是最远的,那么如果。

2023-04-06 20:31:31 184

原创 第十四届CCPC吉林省赛题解

构建trietrietrie树后建ACACAC自动机的failfailfail树,那么对一个串的后缀的最长公共前缀就是其在failfailfail树节点的父亲节点。那么对于询问1,假设对当前点x1,x2,x3x1,x2,x3x1,x2,x3打上新的标记,其实就相当于在failfailfail树上对于每个点以其为根的子树内打上标记。我们跑dfsdfsdfs序,就等价于区间加标记。为了防止重复加标记,假设x2x2x2在x1x1x1的子树内,那么我们只需对x1x1x1打标记即可。问题就转化为区间修改,单点查询了。

2023-04-05 19:02:19 664

原创 Educational Codeforces Round 137 (Rated for Div. 2) E. FTL

这两个炮要么是各打各的,也就是一个充能好就立即释放,要么其中一个充能完毕后等着另一个充能,然后一起释放。启发就是:发动攻击之后,二者又同时开始冷却,我们就又回到了最开始的子问题。换句话说,在发动一次共同攻击之前:只要完成冷却,就立即攻击。那么激光2的攻击次数我们也是可以算出来的:在。,在上一次发动共同攻击之后,激光1又攻击了。1.只要某种激光冷却完毕,就立即攻击。2.等待两种激光均冷却完毕,发动攻击。有两个激光炮,充能时间为。求最快击杀怪物的时间。的时间内尽可能多攻击。

2022-10-20 03:21:14 292 1

原创 2022牛客杭电多校dp+字符串题目汇总

我们有一个很明显的最优策略,如果当前摸得牌凑不成对子,那么我们就将其丢弃。每轮从牌堆摸牌,若凑成七对子则赢,游戏结束;,同时也很显然,难点在于如何去设计一个合法且不重不漏的状态。这个不难想到,关键是如何去确定我们构造的是合法且不重不漏。状态转移就没什么难度了,枚举每一位填左括号和右括号即可。打麻将,初始手中有13张牌,相同的牌最多有两张。给定初始手牌,求最优策略下凑成七对子的期望轮数。求最小的区间长度(从1出发),可以从点。张牌的情况下获胜的期望轮数。,如果不选择移动,进入第。,且左括号比右括号多。

2022-10-14 00:14:51 805 1

原创 Codeforces Round #826 (Div. 3) G. Kirill and Company

跑完之后我们做个简单的背包统计一下最多可以带的人即可。,我们是应该想到状态压缩的。一层一层去扩展,是可以保证最短路的。题目要求了最短路,那么我们选择。

2022-10-12 23:41:48 286

原创 广西师范大学第三次院级程序设计竞赛 B:sort

根据题目的数据范围,我们可以对每个字母建一颗线段树,预估时间复杂度。如果从小到大排列,我们从小到大枚举然后暴力修改即可。

2022-10-12 21:15:14 110

原创 牛客练习赛102 D.一人行者(换根dp)

因为要枚举删去每条边,所以每次枚举显然要。假设我们目前删除的边的两个端点是。,树上问题,很容易想到换根。(观察转移方程即可得到)为根子树的联通子集数量。,只需考虑如何计算节点。接下来我们考虑把根换到。

2022-10-12 00:16:27 212

原创 牛客小白月赛55 F:至至子的公司排队

很显然,公司关系构成了一棵树,该题实质求子树的拓扑序的方案数。个公司,我们建一个虚点作为它们的根。为子树的拓扑序的数量。

2022-10-11 23:47:06 97

原创 广西师范大学第三次院级程序设计竞赛

密码:gxnu2022。

2022-10-11 22:16:45 360

原创 一些环上的dp

环上的dp解题方法一般分为两种:1.找不同集合去覆盖全部的集合,跑两次dp。2.破环成链。

2022-10-09 00:43:33 152

原创 2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛 L:String Games

找出一个子串的字典序比它大且在所有符合的字串中的字典序是最小的。输出其长度和结尾字符。那么我们如果找不到怎么办?那么就直接去找下一个字典序大的后缀。那么我们可以求一下后缀数组,可以很快速的求出其。那么我们转化一下也就是找一个后缀。,那么我们找一个子串长度为。个询问,每次询问一个子串。

2022-09-28 17:48:28 640

原创 树状数组解题报告

有两个数组a[i],b[i]a[i],b[i]a[i],b[i],每次可以交换各个数组中相同的元素,问至少交换多少次后使得∑i=1n(a[i]−b[i])2\sum_{i=1}^{n}{(a[i]-b[i])^2}∑i=1n​(a[i]−b[i])2的值最小。这题其实并不难,考的只是简单的逆序对,但是关键是怎么发现是逆序对。我们分析这个式子:∑i=1n(a[i]−b[i])2=a[i]2+b[i]2−2∗a[i]∗b[i]\sum_{i=1}^{n}{(a[i]-b[i])^2}=a[i]^2+b[i]^2

2022-08-03 00:18:27 150

原创 2022牛客寒假算法基础集训营2

首先乘法肯定是优先计算的,那么就启发我们先把乘法运算的数合并起来,看作一个连通块,之后每次修改的时候修改一下连通块的值然后更改答案即可。对于最小值首先如果图中有一个环,那么我们肯定走环,这样会更长,所以我们要少构造有环的边,没有环的话,每个点只能走一次,即。那么我们对一些相邻的牌交换顺序后可以发现,该区间内的所有伤害都可以取到,那么我们二分判断即可。给定一个n个点的完全图,可以给每条边选择方向且每条边最多走一次,求最长路的最大值和最小值。次询问,每次询问会修改某个数字的值,并输出修改后式子的答案。...

2022-07-29 22:55:52 260

原创 2022杭电多校第三场 Two Permutations (dp, 哈希)

中连续的一段子串所放置,那么我们可以预处理哈希然后。,每次可以从两个排列的首位数字选一个插到。的后面,然后该数字从排列中删除,最后可以。中每个数字会出现两次,我们记录每个数字。次出现的位置的方案数。出现的位置,那么在这两个位置中间就是由。,有多少种方案可以构成。中连续的一段是否完全匹配。...

2022-07-26 22:00:34 428

原创 Educational Codeforces Round 132 (Rated for Div. 2) E. XOR Tree

的子树中至少有一个结点需要修改。因为可以修改的值是任意的,所以如果要修改某个结点,那么该结点所经过的简单路径可以不用再考虑(直接当这个子树不存在)。,如果树上任意两个结点之间的简单路径上的权值异或和不为0,则称这颗树是好的。问至少修改几个结点的权值(可修改为任意数)使该树是一颗好树。否则我们就将这个子树合起来,合并过程中采用启发式合并优化,可以使复杂度降到。,先处理其子树,如果子树中存在两个结点的异或和等于。给定一棵树,每个结点有权值。那么我们容易想到,修改。这个结点是最优的选择。...

2022-07-23 22:21:02 155

原创 2022杭电多校 Bowcraft

因为要购买一本书,次数+1;,前面是发生的概率,很好理解,后面的话是发生这种事件的次数,即我们从。因为我们要采取最优策略升级,那么如果我们要想使用该本书升级,那么。的概率使等级降为0。每购买一本书,会等概率的从。级,但是我们依旧购买了这本书,次数+1.商店提供多种升级书,每本升级书有。的概率升一级,如果升级失败,有。,当发生时,我们需要重新升到。越小的书越容易被使用,即书的。1.若使用这本书,则升到。我们成功升一级的期望是。我们不使用这本书升到。假设当前买的书的状态是。...

2022-07-23 16:32:40 248

原创 2022杭电多校 第一场 个人题解(ABCDIHK)

给定一个字符串sss和kkk,求sss的每个前缀子串的所有满足(len∗2−i)%k==0(len*2-i)\%k==0(len∗2−i)%k==0的所有boardboardboard的数量。(lenlenlen为boardboardboard的长度)。既然跟boardboardboard有关,那么很容易想到先对sss建个boardboardboard树,在去思考如何解决问题。观察等式,也就是2∗len≡i(modk)2*len\equiv i(modk)2∗len≡i(modk) ,然后我们开个记录长度为

2022-07-20 19:53:04 1267 9

原创 [HAOI2016]找相同字符(SAM&SA)

给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。两行,两个字符串 s1,s2s_1,s_2s1​,s2​,长度分别为 n1,n2n_1,n_2n1​,n2​。该题和这道题很像,可以先去学习一下该题的解法我的博客。我们注意到一个性质:对于两个后缀子串,它们的最长公共前缀就是我们可以取的子串的开头位置在后缀的起点的个数。比如aabb和aaaaaabb和aaaaaabb和aaaa的最长公共前缀是aaaaaa,那么我们可以取的相同子串就是

2022-07-12 00:30:34 147

原创 [AHOI2013]差异(SAM和SA解法)

给定一个长度为 nnn 的字符串 SSS,令 TiT_iTi​ 表示它从第 iii 个字符开始的后缀。求∑1⩽i

2022-07-11 21:52:34 195

原创 第十二届蓝桥杯省赛c/c++B组 括号序列

给定一个括号序列,要求尽可能少地添加若干括号使得括号序列变得合法,当添加完成后,会产生不同的添加结果,请问有多少种本质不同的添加结果。两个结果是本质不同的是指存在某个位置一个结果是左括号,而另一个是右括号。例如,对于括号序列 (((),只需要添加两个括号就能让其合法,有以下几种不同的添加结果:()()()、()(())、(())()、(()()) 和 ((()))。输入格式输入一行包含一个字符串 s,表示给定的括号序列,序列中只有左括号和右括号。输出格式输出一个整数表示答案,答案可能很大,请输出答案除

2022-06-24 00:13:39 708

原创 P2414 [NOI2011] 阿狸的打字机

题目链接阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有 282828 个按键,分别印有 262626 个小写英文字母和 、 两个字母。经阿狸研究发现,这个打字机是这样工作的:例如,阿狸输入 ,纸上被打印的字符如下:我们把纸上打印出来的字符串从 111 开始顺序编号,一直到 nnn。打字机有一个非常有趣的功能,在打字机中暗藏一个带数字的小键盘,在小键盘上输入两个数 (x,y)(x,y)(x,y)(其中 1≤x,y≤n1\leq x,y\leq n1≤x,y≤n),打字机会显示第 x

2022-06-14 00:05:37 135

原创 The 2022 Hangzhou Normal U Summer Trials

有nnn个自行车站在aia_iai​处,但是你只能在车站选择骑或者停下自行车。有kkk元钱,每元钱最多让你骑sss米。当前在起点0米处,你需要走到终点ppp米处,求最小步行的距离。很明显的dp,我们定义dpi,jdp_{i, j}dpi,j​表示走到第iii个车站时花费jjj元钱走的最短的步行距离。假设当前车站花费了xxx元,那么我们应该贪心的从距离当前aia_iai​距离不超过x×sx \times sx×s的尽量远的车站aja_jaj​,求该车站的位置可以二分求解。状态转移方程:dpi,j=min(d

2022-06-13 01:38:53 383 5

原创 Codeforces Round #798 (Div. 2)(A~D)

给出两个字符串,每次从其中一个串取一个字符加到ccc中,同一个串不能连续取kkk次,直到一个串为空,求字典序最小的ccc串。对两个串排序,哪个串的小取拿个,设两个计数器判断是否连续取了kkk个。B - Mystic Permutation题意:给定一个1−n1-n1−n的全排列aaa,构造出一个新的字典序最小的全排列ppp,,使得pi≠aip_i \neq a_ipi​​=ai​。用一个setsetset记录当前还有哪些数没有填,每次填最小即可。C - Infected Tree题意:给定一

2022-06-11 17:30:38 333

原创 牛客小白月赛51G计算题(哈希 + 二分)

牛客小白月赛51 G计算题题意:长度为nnn的字符串,删除任意一段后缀(可为空),然后必须修改一个字符,求会产生多少回文串.思路:分奇偶长度讨论回文串的贡献:回文串长度为奇:1.本身就是回文串,中心字母可任意修改ans += 26;2.差一个字符成为回文串,ans += 2;3.差很多字符回文串长度为偶:1.本身就是回文串,只可修改为原字母,ans += 1;2.差一个字符成为回文串,abzcbaabzcbaabzcba, ans += 2;3.差很多字符本身是回文串很好判断,哈希一下就可以

2022-06-04 20:48:36 149

原创 田忌赛马贪心问题

题目描述小z 在闲暇之余喜欢玩pk小游戏。在游戏中,他和他的对手都有n张卡牌,每张卡牌都有一个魔力值,魔力值高的卡牌一定可以战胜魔力值低的卡牌。双方的一号牌,二号牌......n号牌捉对厮杀,共进行n场pk,每胜一场pk胜利获得2分,平局获得1分,输一场不得分。最终将双方的单回合得分相加得到总分,总分高的一方获得大魔法师的称号。在pk开始之前,你可以决定这n张卡牌的出场顺序,即作为几号牌出战,一经确定,不得修改。由于双方都不知道对手卡牌的出战顺序以及每张卡牌的魔力值,所以都...

2021-12-24 13:45:43 571 1

空空如也

空空如也

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

TA关注的人

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