- 博客(72)
- 收藏
- 关注
原创 KMP 详解
和求kmp差不多,如果匹配不上,求让a[i]和以j结尾的连续子串的最长前缀匹配。退出循环后,若还能匹配上则j++(本质是,加上i的贡献。则kmp[i]表示 以i结尾的连续子串 = s的前缀的最大值(等价于前缀最大结尾处)则,让j = kmp[j] 即成为以j结尾的 连续子串 的 最长前缀 尾部的下标。如果b[j+1]!= b[i]下一个位置匹配不上(即不能成为前缀)当匹配不上时,匹配串b至少会前移1位,由指针的思想。j 表示上一个字符可以成功匹配的长度(等价于下标)然后让kmp[i] = j即可。
2024-09-05 17:24:41
211
原创 P3572 [POI2014] PTA-Little Bird
注意力惊人。注意到,只有两种决策 选高过自己的树中代价最小的。或者 选低于自己的树种代价的最小的+1。由此,维护一个优先队列即可。
2024-08-14 13:31:58
442
原创 异象石【set、lca、dfn与遍历思想】
在Adera的异时空中有一张地图。这张地图上有N个点,有N−1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一:地图的某个点上出现了异象石(已经出现的不会再次出现);地图某个点上的异象石被摧毁(不会摧毁没有异象石的点);向玩家询问使所有异象石所在的点连通的边集的总长度最小是多少。请你作为玩家回答这些问题。下图是一个例子,* 节点表示出现了异象石(图中有5个),双线的边表示被选为连通异象石的边集(图中有6条)。
2024-08-13 15:38:27
320
原创 P5836 [USACO19DEC] Milk Visits S(树上并查集)
对于相同颜色且相邻的点合并。若在同一集合,同色1 异色0。若不在同一集合,则0。
2024-08-13 10:39:51
276
原创 【唐氏题目 nt题】与众不同
与众不同## 题目描述A是某公司的CEO,每个月都会有员工把公司的盈利数据送给A,A是个与众不同的怪人,A不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。A想知道区间[L,R]之间最长的完美序列长度。## 输入格式第一行两个整数N,M,N表示连续N个月,编号为0到N−1,M表示询问的次数;第二行N个整数,第i个数表示该公司第i个月的盈利值ai;接下来M行每行两个整数L,R,表示A询问的区间。## 输出格式。
2024-08-12 19:53:43
459
原创 论线段树=八股文
五大函数:建树、更新、查询、以下推上、以上传下。写出这五大函数,一道线段树的题目就写完了。考虑子状态的转移,推导出父节点状态即可。
2024-08-11 19:54:56
288
原创 P5677 [GZOI2017] 配对统计(线段树爆改莫队)
贵州的省选,线段树代码太长了,直接莫队启动。时间复杂度O(n sqrt(n))加了个奇偶优化。先按块排左指针。同一块内右指针按照块的编号奇偶性决定升序或者降序。
2024-08-09 15:03:20
634
原创 【CF27D】Ring Road 2(二分图、紫题)
第一道独立AC的紫题。(十分激动)## 题面翻译有n个城市,1->2->3->...->n->1,形成一个环,现在要添加m条给定的路,路可以建设在环内或环外,求如何建设可以使得新的路两两不相交(端点除外)。## 题目描述## 输入格式## 输出格式## 样例 #1### 样例输入 #1```4 21 32 4```### 样例输出 #1```io```## 样例 #2### 样例输入 #2```6 31 33 55 1```
2024-08-08 21:52:49
1081
原创 P5921 [POI1999] 原始生物(欧拉路plus)
某一个连通块缺了x个入度,则则连x-1条可构成欧拉路径(可以有两个点少1或者多1)。则一个连通块的贡献是(m-1)。(不用回到起点,所以不必为m)这里,可以感性地理解成增加了x-1条边,就会有x-1个点被调用。由于有向图 :入度总和 = 出度总和 所以,必然可以匹配成功。初始化一下,ans = m+1(至少的数量)一条点如果m为其入度,则他会被使用m次。若不存在,则考虑添加x条边来达到目的。将出度不够的点连一条于入度不足的点上。考虑图中存在 c 个连通块。考虑每一个连通块的贡献。
2024-08-08 16:06:43
156
原创 P3469 [POI2008] BLO-Blockade(组合数学的割点)
/向上处理 ,判断删去之后上方节点的大小。//单纯自己与别人匹配。sum表示当前u删去后新增的连通块大小(实时更新)则ans[u] += (sum*size[v])若u为割点,则判定点v构成的子树与u不连通。size[u]子树大小。
2024-08-08 10:25:12
120
原创 【模板】2-SAT - 洛谷
若每一条件的一半不满足,则另一半一定要满足。让d(u,v) 表示u,v可否由u退出v。若有解,要满足u不能推出u+n或者反过来。u 表示变量 u 取0 ,u+n取 1;处理方式:tarjan建立图,求连通分量。因此,变量会有可否相互推出的关系。若u与U+n连通则无解。判断u,v的连通性。
2024-08-07 13:42:02
281
原创 单调栈、组合数学
过去的不好删去,我来做最近的好。____单调栈如是说。子问题,当做求同一直线上的最大矩阵(单调栈)本质:分成子问题,每一行一个问题来求解。左边,不能取等,来保证唯一性。右边,可以取等,以保证多样性。考虑一个点为中央,何以去重?
2024-08-02 13:52:53
272
原创 【DG 特长生2019】模拟赛赛后总结(2024.1.24)
因为比较板子,所以比拓扑排序的要好写一点。T2 dfs+剪枝(虽然我写挂了)因为看到大小关系,我就想到了传递性。感觉好像和大部分人的写法不太一样。打了330pt,订正后350pt。写了一种基于floyd的做法。floyd是可以维护传递性的。至此,此题的一种写法诞生了。主要是想分享一下T4。
2024-01-24 20:56:50
432
原创 Unity文字游戏开发日志(2)——存档与读档
功能是:建立一个名字的新档,每次打开游戏名字都会变。采用了Unity自带的方式PlayerPrefs。今天学习了如何存读档。
2024-01-18 01:03:58
622
原创 Unity文字游戏开发日志(1)—— 打字机效果
作者是一名OIer,因为兴趣,想在寒假期间开发一款文字游戏的demo。本博客仅用作记录,马蜂极度不符合规范。但是,可以用来避坑。
2024-01-17 17:31:16
869
2
原创 【CF245H】Queries for Number of Palindromes(字符串区间dp)
# 题面翻译题目描述给你一个字符串s由小写字母组成,有q组询问,每组询问给你两个数,l和r,问在字符串区间l到r的字串中,包含多少回文串。输入格式第1行,给出s,s的长度小于5000第2行给出q(1
2023-12-10 10:29:41
188
原创 【CF1846G】Rudolf and CodeVid-23(状压最短路)
一种病有n≤10种症状。一种病情可以用一个长度为n的01串表示,其中第i个字符表示是否出现该种症状。现有m∑m≤103种药,每种药用两个01串表示。第一个01串表示服用这种药物之后,串中被标记为1的症状将被消除。第二个01串表示,该药将产生副作用,将出现串中标记为1的症状。每种药有一个服用疗程d天,上一种药的疗程没进行完时不能使用下一种药。现给出初始病情,求最少需要几天可以消除所有症状。药可以重复使用。若不能则输出−1数据组数t≤100。
2023-12-10 10:26:41
94
原创 【CF1810E】Monsters(合并点优化)(优先队列)
可证:a[i]= 0,a[j] = 0,若i可以走到j, S(a[i]) > 2*S(a[j])的点作为起点,判断是否可以杀掉图上所有的怪。在此过程中,你可以通过一条无向边。表示杀死这个怪需要已经击杀的怪物数。上的怪已经被击杀或者可以被击杀。边的图,在每个点上有一个怪,所以可让n枚举变为log n。
2023-12-02 21:02:57
85
原创 【CF1760G】SlavicG‘s Favorite Problem (图论预处理)
然后,若有两条(一条从a出发,一条从b出发)路径,若异或和一样,则可以用走完a的路径后,传送的b路径的终点,然后倒着走到b。预处理出点a出发所有路径的异或和(不经过点b),和点b出发所以路径的异或和(可以经过a)。你可以在任意时刻从当前所在的点跳到任意除了。所以,判断有无两条同样异或和的路径即可。
2023-12-02 18:03:54
74
原创 【CF1800E2】Unforgivable Curse (hard version)
但是有可能会有越界,不过,越界十分好处理,对于字符串中的一个位置只要保证它可以往一边移动,那他就可以通过向另一边移动(如一个位置不能往右,但是可以往左走。说明这个位置太右了,它往左移动就可以让它没有那么右。),来达到两边都可以走的目的。这是一道思维题,不考虑越界的情况下,字符可以移动到任意一个位置。所以,只需保证无法移动的字符在原串中相同即可。那么,只有两边都越界的才会无法移动。与 E1 的差异仅在。本题有多组测试数据。
2023-12-02 15:29:40
124
原创 [NOIP2023] T1词典
小 S 的词典里有n个两两不同的、长度均为m的单词w1w2⋯wn。每个单词都是一个小写字母构成的字符串。小 S 可以做以下操作任意多次(可以不做):选择词典中的任意一个单词,交换其中任意两个字符。对于每个1≤i≤n,小 S 想知道,是否可以通过以上操作得到新的n个单词w1′w2′⋯wn′,使得对于每个jiwi′的字典序比wj′都要小。n1对于两个同样长度的字符串ss1s2⋯sL。
2023-11-18 21:05:13
1842
# AHOI2008 紧急集合 / 聚会
2024-08-13
【动态规划】超时优化
2023-06-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人