- 博客(19)
- 资源 (2)
- 收藏
- 关注

原创 洛谷P5507 机关-双向bfs和启发式搜索
更好的观看体验题目链接 P5507 机关题意简述 有12个旋钮,每个旋钮开始时处于状态 111 ~ 444 ,每次操作可以往规定方向转动一个旋钮 (1⇒2⇒3⇒4⇒11\Rightarrow2\Rightarrow3\Rightarrow4\Rightarrow11⇒2⇒3⇒4⇒1) ,并且会触发一次连锁反应:处于某个状态的旋钮在旋转时会引起另一个旋钮发生相同方向的转动(另一个旋钮转动不会再触发连锁反应)。问将12个旋钮都置为 111 至少需要几次转动,并输出每次转动的旋钮编号。单向BFS 直
2020-08-14 16:13:36
901
1

原创 入门线段树和树状数组
学习了一周的线段树和树状数组,深深地体会到了这每种操作几乎都是 O(logN)O(logN)O(logN) 级别的数据结构的美,但是做起题来还是相当痛苦的(特别是一开始只会模板的时候,很难灵活运用线段树的性质)。还好有雨巨大神带入门,视频讲解十分直观(b站上也有很多介绍线段树的视频),不用像以前一样看各种博客题解入门。但是我现在就是在写博客了,希望能尽可能将我目前理解的知识整理出来,毕竟能让别人看懂(网上已经这么多关于线段树和树状数组的文章你还能找到我,相信我,你没选错),才说明自己也是真的懂了(虽
2020-08-02 17:39:38
299

原创 中国剩余定理(CRT)及其扩展(EXCRT)详解
#中国剩余定理(CRT)及其扩展(EXCRT)详解博客园食用效果更佳问题背景 孙子定理是中国古代求解一次同余式方程组的方法。是数论中一个重要定理。又称中国余数定理。一元线性同余方程组问题最早可见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下: 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。《孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文
2020-07-24 11:29:24
1008
2
原创 FHE学习笔记 #3 数论中的前置知识
刚开始入门学习全同态加密,这里对一些有关的数论知识进行整理,包括单位根,单位原根,分圆多项式,范数等内容,供以后学习查阅,因为参考资料较杂,以及本人水平有限,可能存在较多错误,请予以指正
2022-11-07 19:32:44
316
原创 FHE学习笔记 #2 多项式环
刚开始入门学习全同态加密,目前学习到多项式环的基本概念,这里对一些前置知识进行整理,供以后学习查阅,因为参考资料较杂,以及本人水平有限,可能存在较多错误,请予以指正
2022-11-07 19:27:05
379
原创 FHE学习笔记 #1 部分抽象代数名词
刚开始入门学习全同态加密 (Fully Homomorphic Encryption, FHE),对一些必要的抽象代数(近世代数)名词进行整理,供以后学习查阅,因为参考资料较杂,以及本人水平有限,可能存在较多错误,请予以指正
2022-11-07 19:21:11
615
原创 And Yet Another Bracket Sequence 题解
题目链接算法:后缀数组+ST表+贪心 各路题解都没怎么看懂,只会常数巨大的后缀数组+ST表,最大点用时 4s4s4s, 刚好可以过。。。确定合法序列长度 首先一个括号序列是合法的必须满足以下两个条件:(的数量和)的数量相等。序列任意前缀中,)的数量都小于等于(的数量;或者序列任意后缀中,(的数量都小于等于)的数量(在满足条件1的情况下两种说法等价)。 这两个条件共同构成了检验括号序列合法的充要条件。 所以题目中要求的合法序列最小值,其实就是让两个括号数目相等时的总长,让少的那种括
2021-03-17 09:33:34
143
原创 CF533F Encoding 题解
在博客园观看本文题目链接CF533F Encoding提示1: O(262∗n)\mathcal O(26^2*n)O(262∗n) 的算法可通过。常用的几种字符串匹配算法kmp,AC自动机,哈希都可以解决该问题 (后两者可以优化到 O(26∗n)\mathcal O(26*n)O(26∗n) )。提示2: 将文本串 SSS 和模式串 TTT 中的 262626 个字母分开考虑,各自匹配。O(262∗n)\mathcal O(26^2*n)O(262∗n) 的kmp匹配 枚举每一种转.
2021-03-17 09:32:01
199
原创 CF1491C Pekora and Trampoline 题解
在博客园观看本文题目链接 比赛时只想到了 O(n3)\mathcal O(n^3)O(n3) 的暴力做法,官方题解是 O(n2)\mathcal O(n^2)O(n2) ,并且是可以优化为 O(n)\mathcal O(n)O(n) 的(贪心+差分)。 贪心是比较明显的,我们需要从左到右依次考虑每张床的贡献,因为第 iii 张床只能由 [1,i−1][1,i-1][1,i−1] 的床跳过来,Pekora从第一张床开始跳一定是最优的。我们从左到右分析,用 bib_ibi 记录在 iii 床在之.
2021-03-17 09:30:07
159
原创 Ann and Half-Palindrome题解
算法:dp+字典树题目链接Ann and Half-Palindrome 在CF刷字符串题的时候遇到了这题,其实并没有黑题这么难,个人感觉最多是紫题吧(虽然一开始以为是后缀自动机的神仙题)。 首先注意到字符串 sss 长度很小( 1≤∣s∣≤50001\le|s|\le50001≤∣s∣≤5000 ),可以 O(n2)\mathcal O(n^2)O(n2) 地把所有子串求出来,再用Trie树存起来,这样就方便我们dfs求字典序第 kkk 小的半回文串。所以问题重心变为怎么快速判断这些子串是否为半
2021-03-17 09:26:36
142
原创 CF1037H Security (SAM+二维偏序)
题目链接 CF1037H Security做法:SAM\mathrm{SAM}SAM 后缀自动机,线段树(不用合并)题意简述 给出一个文本串 SSS ,有 QQQ 次询问,每次询问给出模式串 TTT ,问在 SSS 串中 [l,r][l,r][l,r] 区间上是否存在比 TTT 的字典序大的子串,如果存在输出其中字典序最小的那个子串,否则输出 −1-1−1 。1≤l≤r≤∣S∣≤105,1≤Q,∑∣T∣≤2×1051\le l\le r \le|S|\le10^5,1\le Q,\sum|T|\le
2021-01-04 08:49:38
277
2
原创 搜索和组合数学P1246 编码
题目链接P1246 编码博客园食用更佳题意简述要求给字符串按照规定编号,字符串长度小于等于 666 。能编号的字符串的字母一定是递增的,规定:a→1\mathbf{a}\rightarrow 1a→1b→2\mathbf{b}\rightarrow 2b→2⋯\cdots⋯z→26\mathbf{z}\rightarrow 26z→26ab→27\mathbf{ab}\rightarrow 27ab→27最后一个编号 uvwxyz→313911\mathbf
2020-08-28 15:02:54
279
原创 模拟画图题P1185 绘制二叉树
可能更好的观看体验 题目链接P1185 绘制二叉树题意概述 根据规则绘制一棵被删去部分节点的满二叉树。节点用 ooo 表示,树枝用/\表示。每一层树枝长度会变化,以满足叶子结点有如下特定:相邻叶子节点是兄弟节点(同一个父亲)时,间隔 333 个空格。相邻叶子节点不是兄弟节点,之间隔一个空格。 一棵层数为 444 的满二叉树长这样(可能会出现因为字符宽度不一而出现偏移): o / \
2020-08-26 09:24:04
930
原创 树状数组查询离散化
更好的观看体验一些概念在线操作:每读入一个操作方式,就进行一次修改或者输出结果。离线操作:将所有操作先全部读入存起来,进行处理后再进行修改或者输出结果。 我们很多时候,对线段树或者树状数组都是进行在线操作的,边读入操作边修改。但是用树状数组来解决一些题目时,得依赖离线操作来限制在树状数组内信息的范围。不理解这句话不要紧,这里有两道很好的例题可以用离线操作解决。题目一:换个角度思考NC19427 换个角度思考题意简述 题目给出一个长为 nnn 的序列(均小于 10510^510.
2020-08-06 22:15:15
264
原创 线段树合并+模拟大题
简述难点 这种题极其友(e)好(xin),基本上就是 pushuppushuppushup,buildbuildbuild,pushdownpushdownpushdown,updateupdateupdate,queryqueryquery,传统线段树五套餐伺候,但是要维护的信息极多,关键还不太能想到要怎么样维护信息,而且维护代码极长,特别建议刚刚入门线段树来锻炼一下。题目一 子区间最大公约数NC15557 连续区间的最大公约数 这道题没有修改,只有查询。查询最大公约数还是比较简单的,但是查询
2020-08-05 09:26:24
138
原创 线段树差分及其应用
更好的阅读体验简述概念和应用 所谓的差分,其实就是后一项与前一项的差,对于第一项而言,a[0]=0a[0] = 0a[0]=0 。设数组 a[ ]={1,9,3,5,2}a[~]=\{1,9,3,5,2\}a[ ]={1,9,3,5,2} ,那么差分数组t[ ]={1,8,−6,2,−3}t[~]=\{1,8,-6,2,-3\}t[ ]={1,8,−6,2,−3} ,即 t[i]=a[i]−a[i−1]t[i]=a[i]-a[i-1]t[i]=a[i]−a[.
2020-08-04 16:23:43
665
原创 [SCOI2007]降雨量 线段树和区间最值(RMQ)问题
题目链接P2471 [SCOI2007]降雨量听说博客观看效果更佳 这道题是比较经典的 RMQRMQRMQ 问题,找到X和Y年间的最值来进行判断真假 , 用线段树维护是比较简单好写的。然而这只是一个小判断,比较难的是判断 maybemaybemaybe 。如果没有想好直接打代码会调很久(没错就是我)。怎么维护查询区间最大值我就不再这里赘述了,不懂线段树的先去入门(此题也是线段树入门题)。我讲几个很坑的点(比较坑我的点): 1.询问的X年降雨量不超过Y,但是中间年份降雨量一定小于X(注意X和Y
2020-07-31 12:06:07
169
原创 Miller-Rabin随机化判定素数
博客园食用体验更佳用来干嘛的 要判断一个数 nnn 是否为素数,最朴素直接的办法是以O(n)O(\sqrt n)O(n) 时间复杂度地从2到 n\sqrt nn 循环即可得到最准确的结果。但是如果在 nnn 比较大的情况下,时间花销就太大了。这时,我们可以选择牺牲一点点准确度,使用可爱的米勒-拉宾(Miller-Rabin)素性检验算法来判断质数。根据百度百科,使用快速幂运算,这个算法的时间复杂度是 O(klog3n)O(k\log^3 n)O(klog3n)的,kkk是我们设定对一个数.
2020-07-24 19:38:14
622
1
哈尔滨工业大学(深圳)2021年夏信息检索课程作业及项目.zip
2021-09-10
2020年哈尔滨工业大学(深圳)数据结构实验
2021-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人