自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 错排公式总结

和前面对的那个数交换,即可全部错排。个数错排(也就是说全部错排)的方案数。个中的任意一个数交换即可。个数,全部错排:我们只需要把。

2024-05-23 11:53:41 1042

原创 欧拉函数以及应用大全(通俗讲解)

前言:下面我会详细介绍欧拉函数和应用,例题有难有易,我也会尽量说的清楚。例题难度我大概给一个评级,在 111 到 777 之间。除特别标注的地方外,其余均为原创!码字不易,欢迎留赞!介绍欧拉函数: φ(n)\varphi(n)φ(n) 表示在 [1,n][1, n][1,n] 之间与 nnn 互质的数,xxx 与 nnn 互质指的是 gcd⁡(x,n)=1\gcd(x,n)=1gcd(x,n)=1。欧拉定理: 若 gcd⁡(a,m)=1\gcd(a,m) = 1gcd(a,m)=1,则 aφ(m

2024-05-22 21:47:23 2449

原创 题解:P11020 「LAOI-6」Radiation

我们发现一种最优策略,把石头按照斜线摆,即(1,1),(2,2),(3,3),…(1,1),(2,2),(3,3),\dots(1,1),(2,2),(3,3),…如果 min⁡(n,m)<k\min(n,m)< kmin(n,m)<k,则策略如下:在 (1,1),(2,2),(3,3),…,(min⁡(n,m),min⁡(n,m))(1,1),(2,2),(3,3),\dots,(\min(n,m),\min(n,m))(1,1),(2,2),(3,3),…,(min(n,m),

2024-09-08 15:58:28 1081

原创 题解:P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能

位置往后,遇到大写字母就转换成小写字母并输出,遇到右括号就停止即可。我们发现括号内的大写字母就是我们要输出的内容,所以直接从。

2024-09-08 15:58:02 235

原创 题解:CF1572A Book

的单向边,接着直接拓扑求出符合要求的阅读顺序。做法:拓扑排序+dp。表示按照拓扑序阅读到第。然后 dp 求答案。

2024-08-08 09:38:44 566 1

原创 二分答案 经验

以后当看到题目中有求平均数、中位数等等,以及最大值最小,最小值最大,不要再想什么 dp 了,试试二分答案!

2024-07-16 09:55:41 258

原创 RMQ 部分代码

【代码】RMQ 部分代码。

2024-06-13 10:25:22 491

原创 2024年,计算机相关专业还值得选择吗?

现在的科技飞速发展,现在才学计算机太晚了,是几乎赶不上的。或许,等你学的很棒的时候,已经有机器人来帮人们写代码了。我的建议是:你可以把学计算机当作兴趣,但是最好不要主修。

2024-06-13 10:21:49 309

原创 火车头模板(供参考)

【代码】火车头模板(供参考)

2024-06-12 10:54:38 411

原创 线段树(附详细解释)

【代码】线段树(附详细解释)

2024-06-12 10:53:08 406

原创 CF1279B 的题解

如果在看的各位还不了解前缀和,建议可以看看 P1115 了。的时间复杂度直接暴力肯定不行,那么有没有其他的办法呢?相信很多人都了解了前缀和,现在我们来分析题目。,如果发现和在加上当前的这个数之前并没有大于。我们用前缀和思想,可以将时间复杂度优化到。暴力是不行的,那么我们就必须用到前缀和!项和,可以把它理解为数学上的数列的前。表示当前循坏到的得房,再用一个变量。,而现在满足要求,那么就加上这个数。前缀和是指某序列的前。其余的细节请看代码。

2024-06-11 07:57:59 1187

原创 CF244A的题解

前言:这题很水,只能评红。个人,其次再处理其他还没被用过的橙子,就这么简单~~,注意需要加头文件,其实只需要先处理有要求的。个橙子(瓣),请输出任意一种可行的方案。个人,每个人都能得到。

2024-06-11 07:57:17 494

原创 解决计数类问题的一些方式

一道还不错的题目:洛谷 P1806 跑步。

2024-06-09 20:29:48 332

原创 洛谷 P3509 的题解

根据题目,我们可以想出,用单调队列 + 快速幂就可以解决此问题。去存答案,每次移动用快速幂更新即可。其他就没什么了,具体请参见代码。个点移动到离这个点距离第。单调队列显然用于初始化。

2024-06-09 20:26:29 983

原创 CF821A 的题解

遍历元素,每次循环再遍历同行同列的元素,判断加起来等不等于这个数。我第一次看到这题好像不是那么简单,不过一看到数据范围心里乐开了花。代码很简短,是比较容易理解的。首先是读入实验室网格,然后。天哪,这题就是个模拟题!一句话:暴力出奇迹!

2024-06-06 11:21:34 358

原创 CF472D 的题解

一眼看上去,就是个 LCA,而本蒟蒻不太会 LCA,只好用了 prim 算法。,说明也无效,直接输出 NO,后面用 prim 进行处理即可。当然不能直接套模板,而需要在模板上进行一些修改,具体见代码吧。首先读入,边读入边判断是否满足要求。,说明无效,直接输出 NO,当然,如果。还算是比较清楚,贴个题面吧。

2024-06-06 11:20:45 513

原创 B3706 的题解

出题人题解,本题为 2023 年 2 月语言月赛 B 题。

2024-06-05 15:05:24 2112

原创 洛谷 P7158 的题解

比较有意思的一题。

2024-06-04 10:42:12 500

原创 洛谷 P9086 的题解

一道很好的思维题。

2024-06-04 10:41:37 351

原创 洛谷 P1853 的题解

现在告诉你总资产以及债券的种类数,要你求。这题只是在完全背包上套了个皮,在外面模拟每一年即可。

2024-06-03 09:23:55 572

原创 洛谷 P2364 胖男孩的题解

一开始我就差点忘了这个,也提醒一下你们,注意上面的代码求的是。个序列的最长公共子序列是十分简单的,即设。,在 dp 过程中记录答案,一切都好办了。个序列的最长公共子序列(LCS)问题来了,怎样输出最长公共子序列?位字符串与第二个字符串前。位字符串的 LCS。但是本题要求输出的是。

2024-06-03 09:23:13 1336

原创 洛谷 P3133 [USACO16JAN]Radio Contact G 的题解

我总结出橙黄的 dp 基本上都是问啥设啥。这题也不例外。我们可以设dpijdp_{i,j}dpij​表示 FJ 走到路径的第iii个点,Bessie 走到路径的第jjj个点时候最少消耗的能量。好,就是这样。请读者们别急,让我们继续。

2024-05-31 15:43:30 1013

原创 洛谷 P7266 [BalticOI 2000] Honeycomb Problem 的题解

有点烦人的是输入,但是找一下规律其实也没那么难。行(列数递减),状态转移方程跟上面的没啥两样,建议自己想,实在想不出来看。我们用贪心,如果这一行要换值,那么就把值换成最大的。转移方程主要分成两种情况(为了方便,数组就不用。列没交换/交换数字的最大权值和。然后我们来讨论一下状态转移方程。最适合,于是选择暴力 dp。我们发现蜂窝图的行和列都是。

2024-05-31 15:41:00 939

原创 洛谷 P8614 [蓝桥杯 2014 省 A] 波动数列 的题解

关于取模的转移方程,我不细讲了,就看 RoMantic_Queue 大佬的吧。觉得他讲的详细些。在一些数学推导(其实这题也是个数学题)后,得到转移方程。

2024-05-30 09:26:04 1334 2

原创 洛谷 P8667 [蓝桥杯 2018 省 B] 递增三元组 的题解

别看他这上面有 dp 的标签,其实不用 dp 也可以迅速的做完。由于题目中有小于号,我们可以把这里看成突破口。的数据,但是我打了一下,怎么是。

2024-05-30 09:25:04 667

原创 洛谷 P8725 [蓝桥杯 2020 省 AB3] 画中漂流 的题解

然后判断一下是否还活着即可。考虑使用时空复杂度为。

2024-05-30 09:24:18 908

原创 洛谷 P9227 异或积 的题解

为什么感觉大家的题解代码都那么复杂?首先,我们可以猜测这就是找规律题,因为我们不可能在。其中进行一次操作有些技巧,具体见代码。均为偶数,其他都必须进行一次操作。是奇数的性质:除第一次外其他都是。为偶数时,答案将会在。我们可以发现,除非是。同样,我们也可以验证。

2024-05-29 09:49:40 2198

原创 CF1154E Two Teams 的题解

开两个优先队列,一个记录现在队里面的人,一个记录被挑选出来的人。这个人要有两个参数,一个是能力值,一个是编号。我们可以用结构体轻松解决。然后开个双向链表(其实可以用数组维护),维护每个数的前驱后继,在模拟过程中直接运用就行了。我们得想办法优化这一模拟过程。于是,我想到了优先队列。

2024-05-29 09:49:08 300

原创 CF812C Sagheer and Nubian Market 的题解

二分购买总件数,然后每次计算一下值,用数组排个序,再累加一下判断是否满足要求就行了。当然模拟可以,就是慢了点。代码很清晰,看一下吧。

2024-05-29 09:48:20 264

原创 洛谷 P9435 『XYGOI round1』三个数 的题解

这题我赛场上只想到了。

2024-05-28 10:09:25 497

原创 洛谷 P2031 脑力达人之分割字串 的题解

— 它是用来判断两个字符串。有了这个,问题不就解决了吗?记录个数(最终答案),

2024-05-28 10:08:29 492

原创 UVA1400 “Ray, Pass me the dishes!“ 的题解

首先你可能会想到 RMQ,但是由于是动态的,而不是像 P1115 这题静态的,所以立刻放弃这种算法。同时,我们还需要一个用来更新线段树的最大子段和(其实就是参数)的函数。到了这里,就需要一点点思维难度了。ok,分析就到这了,如果有简洁的非线段树做法(作者很期待哦)欢迎私信我哦。知道了这个,单点修改应该就没问题了,主要问题就在于。整体来看,我的代码应该是比较短、比较快的了。普通的线段树大家想必都会,不会的萌新先做做。那么我们就需要功能强大的利器——线段树了。首先,普通线段树模板里的。

2024-05-28 10:07:57 393

原创 洛谷 P7941 「Wdcfr-1」Magical Expression 的题解

其中这题已经给了后缀,所以第一步可以省略。显然是编译原理题了。又可以发现其中隐藏的贪心:凑成。给你一段合法后缀表达式,包括。

2024-05-28 10:06:32 406

原创 洛谷 P6599 「EZEC-2」异或 的题解

的一半左右,效果是最佳的。如果你听不懂,可以看看题目下面的样例解析,把它给的数以二进制从上到下排列,看看每一位。暴力肯定不行,那么我们考虑优化。但是似乎公式优化也不行啊 qwq。现在还有一个问题:二进制最多一共有多少位?,那么对于每一位(二进制),我们得尽量保持出现的。具体大佬们就参照一下别的题解吧,我不细讲了。的算法,于是我们尝试从中间找找规律吧。的个数在总共数的个数(也就是。的数据范围,我们就需要一个。为止,每一次累计答案即可。因此,我们可以定义一个。

2024-05-27 13:11:02 898

原创 洛谷 P8488 「Wdoi-(-1)」恋弹者们的黑集市 的题解

个面(也就是与上方那个面相邻的面),依次模拟即可。即使你是小学生,只要空间想象还行,是完全可以模拟出来的(但我不保证你 dp 能写出来)qwq。画一个立方体,由于我们知道上方和前方,那么每次确定上方的一个面(共。为了让大家更好的理解代码和思路,我的有些数组用了比较具体的英文,而且都有中文解释。显然,当确定了一个骰子的两个面时,就可以确定这个骰子,因此我们可以将暴力 dp 降维。dp 的转移方程和含义大佬们都讲得很清楚了,我不细讲。数组确定了下面,同理,前面确定了后面。数组,于是,由上面和前面通过。

2024-05-27 13:10:19 825

原创 洛谷 P8775 [蓝桥杯 2022 省 A] 青蛙过河 的题解

看到这题,你或许会想到二分。这是可以的,但是有一种代码更简短的方式——双指针。我们可以发现一个规律:如果设青蛙的跳跃能力为。,那么后面就没有办法再跳到上面了。,因为青蛙每次跳到这都得耗费。,都必须满足区间和大于等于。,那么必须满足每个区间。

2024-05-27 13:08:17 962

原创 洛谷 B3667 求区间所有后缀最大值的位置 的题解

但是好多大佬直接用 deque 秒杀了这题,但是其实可以有更优的方法,于是。分别维护这个单调队列的头和尾。每次读入的循环里保持。由数据范围和大概的题意不难知道这题用的是单调队列。的间距,按照题意模拟即可。当一次循环开始我们要求左端点时,,左端点就会是负数,不满足题意。第一个 while 循环完后。

2024-05-27 13:07:23 799 1

原创 洛谷 P9473 [yLOI2022] 西施江南 的题解

数组(bool)来记录现在分解的这个数之前是否用过相同的质因数,如果相同,直接 break 即可。我们过了这题,可是美中不足的是,用时和内存都太大了,我们可以怎么优化呢?好了,题解就到这了,如果有更好的此类方法的优化,欢迎私信作者!的情况,因为不管怎样,这两个数一定满足条件,输出。这个暴力应该已经做到极致了,那么我们考虑其他做法。我们发现,如果换一个角度思考,分解质因数,开一个。其中还有一些小优化我就不说了,应该影响不大。次的初始化,显然会消耗掉巨大的时间!我们可以发现,时间减了有。的最大下标,后面直接。

2024-05-26 19:51:38 250

原创 P9519 pay 的题解

虽然考试时候代码过了,但是算法有可能不对,只是想分享一下我的思路。可以发现这题要求的是区间的修改,而且可以划分成加两个等差数列,那么我们很容易想到用。

2024-05-26 19:39:44 210

原创 洛谷 P9583 涂色 的题解

的数据范围很小,完全够开一个桶,考虑从这里开始突破。次操作,每一次涂一整行或一整列。最后求出涂色层数不被。但是光是这样是不行的,因为统计答案需要。所以,在这种情况下,应该取。实际上这题的代码是非常简短的。的时候,应该特判,不管怎样。的时候才会被擦掉,应为。但是有一点要注意一下,当。

2024-05-24 13:22:35 303

c++ KMP 的模板(附详细解释)

char s[1000007], t[1000007]; int nxt[1000007], j = 0; int main() { cin >> (s + 1) >> (t + 1); int lens = strlen(s + 1), lent = strlen(t + 1); for(int i = 2; i <= lent; i++) { while(j && t[i] != t[j + 1]) j = nxt[j]; if(t[i] == t[j + 1]) j++; nxt[i] = j; } j = 0; for(int i = 1; i <= lens; i++) { while(j && s[i] != t[j + 1]) j = nxt[j]; if(s[i] == t[j + 1]) j++; if(j == lent) { cout << i - lent + 1 << endl; j = nxt[j]; } } }

2024-05-22

空空如也

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

TA关注的人

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