
OJ/ICPC/CCPC/蓝桥杯题解
文章平均质量分 86
此博主很懒,懒得写简介
Yueliang月亮
这个作者很懒,什么都没留下…
展开
-
SDNUOJ1250计算n的阶乘末尾0的个数
第一行:咕咕咕。第二行:我也不明白我为什么在19.7.26wa了这么多题并且到今天才去a,并且也不明白为什么当初wa好几遍的题今天按思路写一遍基本就能过。第三行:结论:我好菜啊。题目:根据题意,显然计算出阶乘在计算0的个数是不可能的,因为n的范围在10^7。因此我们考虑一些技巧,利用到了唯一分解定理,即任何大于1的数都可以分解成有限个质数的乘积,而当2*5时刚好=10有一个0,因此我们只需要考虑整个阶乘过程中,会出现几对2*5即可。综上,由于2和5互质,我们可以分别计算出1~n中有几原创 2022-03-31 20:37:14 · 384 阅读 · 0 评论 -
十二天艰难速成蓝桥杯Orz(算法+习题合集)
第一行:咕咕咕。第二行:希望国赛至少能三等奖这样可以报销报名费。第三行:这篇博客主要针对各种算法,写的顺序不代表建议优先掌握的顺序。第四行:应该会专注图论+基础数论(之所以是基础数论是因为我数学奇差原创 2020-11-01 21:11:57 · 2904 阅读 · 2 评论 -
五天艰难速成蓝桥杯Orz(习题合集)
第一行国际惯例咕咕咕。第二行:我感觉我的三百块丢进蓝桥杯的海洋里连水花都莫得嘤嘤嘤。填空题:一、我们称一个数是质数,而且数位中出现了5的数字是有趣的。例如5,59,457都是有趣的,而15,7不是。求1到到100000中有趣的数的个数。答案:3282思路:找出素数,对每个素数进行是否包含5的判断。#include <iostream>#include <cmath>#include <cstdio>#include <algor.原创 2020-10-15 21:09:05 · 2899 阅读 · 3 评论 -
ZOJ3938——模拟水题
第一行照例留给本鸽子精咕咕咕。第二行高亮——一定要细心!!!!!!(来自一个写错一个数字死活A不了的人)题意——略。不要问我为啥不用代码块——优快云只有我一用代码块就出乱码吗!!!#include #include #include #include #include #include using namespace std;int a[5][5];int p[5];i...原创 2019-04-14 21:23:18 · 244 阅读 · 0 评论 -
欧拉回路(一笔画问题)(无向图)//HRBUST1658
第一行国际惯例——咕咕咕。第二行——你还差的远呢。本篇博客只针对无向图(我还没做过有向图的题首先是两个定义(欧拉回路和欧拉路径欧拉回路:每条边恰好只走一次,并能回到出发点的路径欧拉路径:经过每一条边一次,但是不要求回到起始点1.构成欧拉回路的要求:每个顶点的度数都是偶数,则存在欧拉回路。2.构成欧拉路径的要求:除了起始终止两个点度数为奇数,其余顶点的度数都...原创 2019-07-18 19:28:21 · 684 阅读 · 0 评论 -
主席树(可持久化线段树)(区间k大值)//洛谷P3834
第一行——咕咕咕。第二行——最近是为了祖国的绿色持续种树的职业鸽手。以下为正文:首先明确:可持久化数据结构就是保留整个操作历史。体现在线段树上,就是在进行修改时,在保留原有的数据的基础上,把更新后的加入(就是新建一部分树)(为什么是新建一部分呢,为了省空间),将更新的点与其相关父节点新建即可。与普通线段树不同的是:主席树的节点维护的是输入数组在每个节点上的区间内出现的次数(反...原创 2019-08-14 17:24:03 · 332 阅读 · 0 评论 -
Trie树(字典树)//洛谷P1481+洛谷P2580
第一行——咕咕咕。第二行——慢慢学呗,还能离咋地。Trie树:又称字典树,前缀树。是一种通过增加空间复杂度来减少时间复杂度的结构。其特点是根节点为空,其余节点存一个字符,节点与节点之间的路径是一个字符(一般是用于字符串)。建树:令根节点为空,从该点出发,将新的字符串上的字符一个个加入,未出现过即直接相连,出现过找到最末尾的共享字符,连接即可。性质:1.从根节点到某节点的路径即...原创 2019-08-12 15:17:22 · 937 阅读 · 0 评论 -
最短路(3)——SPFA+Bellman-Ford算法//洛谷P1744+洛谷P3385
第一行照例留给本鸽子精咕咕咕。以下为正文:首先:所有无负环单纯求最短路,优先用floyd或dijkstra!spfa太容易tle了,根据数据范围理智选择!其次:两种算法都可拓展为求最长路,初始化dis为0,每次判断大于即更新。或者判断是否存在负环,如果n-1次后还可以进行dis往小的方向更新,即可说明存在负环。或者是求正环,也是跑最长路,n-1后还可以往大的方向更新即可说明有正环...原创 2019-08-08 21:01:06 · 666 阅读 · 3 评论 -
RMQ问题ST算法//洛谷P3865
第一行——咕咕咕(毕竟本来说是要学线段树的。RMQ问题:区间最值查询。即:RMQ(a,i,j),返回数列a[i]到a[j]中最小or最大元素的下标。询问一次时,跑一次for循环即可,但询问次数多时,就会超时,因此引出ST算法,在nlogn的时间复杂度里预处理,然后O(1)询问。ST算法:1.用dp[100005][100005]来表示从i起始的连续2^j个数的min或max...原创 2019-08-01 21:05:34 · 206 阅读 · 0 评论 -
线段树//洛谷P3372
第一行国际惯例咕咕咕。第二行感谢csb师哥。第三行——我终于明白,我长这么大一直活得特开心的最大的原因就是擅长知难而退、懂得敢于放弃。(此处当然是反讽线段树:1.定义:一种二叉搜索树(即最多只有左右节点),利用二分的思想,每个节点储存的是一个区间值(其实就是一条线段啦)。叶子节点存每个点(区间左右端点相等),其余内部节点存区间[l,mid]和[mid+1,r](相对其父节点的左右节...原创 2019-08-06 11:34:11 · 220 阅读 · 0 评论 -
树状数组(一二维)//洛谷P3374+洛谷P3368+Gym237040E
第一行——咕咕咕。第二行——本来没想写树状数组的,因为在四月就学会了而且做了一些题,觉得用处不大。直到——我又遇到树状数组的题而且我不会做了我哭辽,我对树状数组一点印象都没了,就三个月没做树状数组的题啊!!!!!于是愉快补学+补博客,以免将来再忘记+不好找板子。第三行——查询和修改都是log(n)以下为正文:一、一维树状数组1.树状数组:对于数组A1~An,我们用C1 =...原创 2019-07-31 17:31:43 · 378 阅读 · 0 评论 -
最短路(2)——Dijkstra算法+与prim算法区别//洛谷P1359
第一行照例留给本鸽子精咕咕咕。以下为正文:思路:dijkstra算法同样采用贪心的策略,采用局部最优解找全局最优解。从当前点出发,找到与其相连的最短路,再从当前点出发,更新最短路,直到终点被放入集合。集合内表示当前最短路(用dis[i]表示初始点到第i个点的最短路),之后在此基础上找下一条路。(我怎么觉得这有点像prim)(我怎么觉得这就是prim)相比较dijkstra和pri...原创 2019-08-07 16:54:57 · 486 阅读 · 1 评论 -
KMP算法//洛谷P3375
第一行咕咕咕。第二行——%D.E.Knuth,J.H.Morris和V.R.Pratt(虽然我并不知道他们是谁KMP:用于解决模式串匹配问题。即,给定一个字符串,找到这个字符串在给定的文本串中有没有出现,出现下标,出现次数等。KMP的过程其实就是字符串不停匹配,相同两个位置的字符下标均++,不合适保持文本串不变,令模式串前跳,找到相同前缀的位置进行匹配。next...原创 2019-08-17 10:28:13 · 394 阅读 · 0 评论 -
矩阵快速幂//洛谷P3390
第一行——咕咕咕。第二行——啊啊啊啊啊啊啊我好饿啊好饿啊好饿啊好饿啊。饿到灵魂出窍。矩阵快速幂其实就是在矩阵乘法的基础上运用了快速幂,不做过多解释。只需要注意矩阵的乘法是行元素列元素对应相乘相加生成新的矩阵即可。应用:利用矩阵快速幂求FibonacciPOJ3070,需要记住公式(一般会给的叭本代码以洛谷P3390为例先附题目链接洛谷P3390这题是裸...原创 2019-07-19 19:47:15 · 403 阅读 · 0 评论 -
最短路(1)——Floyd算法//洛谷2910
第一行国际惯例——咕咕咕。1.floyd算法原理是动态规划2.时间复杂度是O(n^3)(n是点的个数3.适用于点比较少的情况4.适用于多源最短路(跑完floyd后直接输出数组即可得到从x到y的最短路本代码以洛谷2910为例与普通模板不同的是,2910多了一个规定路径,只需累加即可。#include <iostream>#include <cstdio>#i...原创 2019-05-21 21:35:39 · 699 阅读 · 1 评论 -
尺取法//POJ3061+POJ2566
第一行照例留给本鸽子精咕咕咕。尺取法:1.取数组的一段,即先保存数组的一对下标,根据要求左右移动,不停更新数组前后指针,获取区间值,最终得到答案。2.多用于求给定的一组数据中,满足某个条件的最优连续子序列。3.尺取法通常需要对数据进行预处理,方便快速判断(多为预处理前缀和。4.尺取法必须是找到单调性。例题:1.POJ3061思路:尺取模板题,就是尺取的思路。...原创 2019-07-29 19:49:08 · 207 阅读 · 0 评论 -
并查集//POJ1182
第一行:咕咕咕。第二行:我原以为并查集很简单的。原以为。因此我现在一看到说并查集“简单有趣”的博客就心情复杂(不排除对人家来说真的简单有趣)。(本博客下次更新会附送简单并查集缓解心情)第三行:谁能想到一道并查集我花了两个晚上呢。第四行:这道题需要多多复习,我现在也不是特别明白。第五行:还是小白书友好一些。第六行:真正的勇士,敢于wa题二十次。并查集:快速判断两个或多个元素的关系,快速合...原创 2019-05-23 21:44:17 · 164 阅读 · 0 评论 -
2013——2017历年区域赛做题+补题(未完待续)(持续更新)
第一行——咕咕咕。第二行——论有两个上进队友的重要性:我都不好意思不做题了qwq(我怀疑如果我自己根本不会去做历年真题)(好的不用怀疑)。再次抱紧队友大腿。第三行——水平有限,只做铜银题qwq。第四行——以下所有题目都可评论出疑问or找我要代码qwq。第五行——众所周知,我是个水题选手。以下为正文:2013:1.Alice's Print Service:二分。(...原创 2019-08-15 21:07:40 · 363 阅读 · 0 评论 -
博弈论(bash+nim+wythoff+fibonacci)
第一行国际惯例咕咕咕。第二行——博弈是很有趣的,只不过我不会而已。第三行——我现在怀疑是我的智商问题导致我看了很多博客都不懂nim怎么证明的。(为什么他们的证明方法都一样啊呜呜呜)前言:博弈的题应该可以先考虑找找规律?从小的开始推必胜必败态然后数学归纳试试?(自己瞎总结的后续:我已经不管什么证明不证明了,我现在已经愉快的决定记住结论来解题了。证明留个坑吧,不一定什么时候补...原创 2019-09-09 19:47:57 · 314 阅读 · 2 评论 -
单调栈//POJ2559+2019牛客暑期多校第二场H.Second Large Rectangle
第一行照例留给本鸽子精咕咕咕。第二行——别问我在干嘛,我在自闭。第三行感谢sj师哥和ymf同学hhhh。以下为正文:单调栈:顾名思义(emmmm),栈内元素单调递增或单调递减。多用来解决范围内最值问题。1.POJ2559题意:n个小矩形能够形成的最大矩形的面积。思路:当新的矩形长度大于栈顶元素时直接压入,小时不停比较弹出。全部弹出后即可得到最大值。其他都在代...原创 2019-07-23 19:46:39 · 154 阅读 · 0 评论 -
笛卡尔树//2019牛客暑期多校第一场A题Equivalent Prefixes
第一行国际惯例——咕咕咕。第二行——我真的啥啥都不会啊qwq。笛卡尔树:1.二叉树2.从数列中构造时可以在线性时间内完成,而且可以找到数列中的最近小数3.key值——每个节点的左子树比其小,右子树比其大;value——每个节点都比其子树的value大4.用单调栈进行维护,始终保存的是右链,即:根,右儿子,右儿子的右儿子……并且从栈顶到栈底,key依次减小5.多用于...原创 2019-07-19 11:31:14 · 194 阅读 · 0 评论 -
排列组合总结+第一第二类strling数//SDNU1011+HDU4372
第一行照例本鸽子精咕咕咕。以下为正文:一、基础计算1.基础计算指的是给定一个n,k计算,一般来说直接利用公式计算即可。2.但这种情况一般会涉及到爆long long的问题,需要进行mod,众所周知,除法不能进行模运算,所以可用 ①乘法逆元来做(逆元的博客我还没写,写了再放上来) ②另一个公式,利用数组递推求得,过程中不停取模。 类似于这道题:SD...原创 2019-07-30 20:53:10 · 294 阅读 · 0 评论 -
最小生成树(2)——prim算法//HDU1223+SDNU1229
第一行国际惯例咕咕咕。第二行——欠的东西总是要还的——来自一个上次写kruskal把prim抛之脑后然后忘了的人。以下是正文:1.prim的思路也是贪心,不过以点为主2.先任意选取一点标记为访问过,找到与其相连的mincost的点,放到集合内,标记为访问过3.遍历集合内的点,找到与任一点相连的mincost(且需未访问过)4.重复上面的步骤5.当有n个点 or n...原创 2019-07-27 10:36:11 · 236 阅读 · 0 评论 -
SDNUOJ模拟题总结(每道模拟题的坑点)(未完待续)
第一行——咕咕咕。第二行——以下所有题目都可以评论疑惑的点or跟我要代码。1.SDNU1119思路:利用map建立起字符与数字的映射m1,新建一个map建立字符串与出现次数的映射m2。不过这里是反向思路,将字典中的字符串对应的数字组成字符串,统计新字符串出现的次数,存到m2中(记得初始化为0),然后按输入顺序输出即可。2.SDNU1203思路:太水了枚举就完了。记得考虑一下月份...原创 2019-07-22 19:13:50 · 1213 阅读 · 0 评论 -
dp&递推+题目练习(未完待续)
第一行——咕咕咕。第二行——不吃早饭的后果是会饿,连续不吃早饭的后果是养成了到点儿就饿的生物钟。别问,问就是在想中午吃点啥。啊啊啊怀念七月上旬醒来就有饭吃的日子qwq第三行——昨天请了十分钟的假,sj师哥很爽快(此处存疑)地答应了,然后下一句是咱也不知道怎么回事咱也不敢反驳.jpg于是——但是我真的不会dp啊qwq以前遇到这样的题基本都是略过的呢(委屈巴巴.jpg),于是您...原创 2019-07-20 10:30:46 · 332 阅读 · 0 评论 -
欧拉回路(一笔画问题)(有向图)//SDNUOJ1088
第一行——咕咕咕。第二行——我胡汉三又回来啦!这次的欧拉回路针对的是有向图。(个人觉得比无向图简单嘻嘻有向图构成欧拉路径:除了起始终止点,其他点的出度入度相等。有向图构成欧拉回路:所有点的出度入度相等。题目链接SDNU1088代码#include <iostream>#include <cstdio>#include <cst...原创 2019-07-18 20:40:45 · 1172 阅读 · 0 评论 -
SDNU1031字母排序(拓扑排序)
第一行——咕咕咕。第二行感谢csb师哥。先附题目链接SDNUOJ1031这是一道拓扑排序题,不会的指路博客拓扑排序说一下思路:1.统计每个字母的入度(按0~25代表A~Z(每次都需要更新2.当出现环就说明出现了矛盾3.如果队列中存在两个及以上可被取出的字符,即入度为0有两个及以上,则为无法确定全部字母的顺序(这句是csb师哥说的4.如果最后的序列,长度小于n输...原创 2019-06-09 19:06:05 · 471 阅读 · 5 评论 -
拓扑排序//SDNUOJ1089
第一行——咕咕咕。果然是一个咕起来就停不下来的博主。拓扑排序:1.适用于有向无环图。即不存在后面出现的节点指向前面的节点。2.本质上是对图中的节点进行排序。按入度为零排序。不存在入度为零的点则有环,不存在拓扑排序。3.意义:其实我也不知道有啥用。存在先后顺序,所以可以用来排序(???)4.啊!我想起来了,数据结构上用来解决排课问题了!就是类似大一上学了c语言大一下才可...原创 2019-06-03 20:39:43 · 328 阅读 · 0 评论 -
dp之lis//SDNU1040+1221+1292
第一行——咕咕咕。第二行——我现在才发现我竟然欠了这么多算法不会(果然讲完了不做题就会忘得一干二净(自学ing最长上升子序列:序列不一定唯一,但长度是唯一的1.我的理解:用dp数组存到第i个数时的最优解,最大即为最终最优。毕竟dp就是从上一阶段的最优解推到先阶段最优解。就是以第i个数结尾的最长上升子序列是前i-1个数的最长子序列跟第i个数比较判断即可。2.其实如果只让求最长长度是很简单的...原创 2019-05-25 00:09:37 · 383 阅读 · 0 评论 -
欧拉函数//SDNU1287
第一行——咕咕咕。第二行感谢ryc师哥。欧拉函数:用于求1~n-1中与n互质的数的个数。各种性质(用ph[n]表示与n欧拉函数值):1.n为素数,ph[n] = n-12.n>2,所有ph[n]的值均为偶数3.任意n,m互质,ph[n*m] = ph[n]*ph[m](积性函数)4.任意n,m,gcd(n,m)=d,ph[n*m] = ph[n]*ph[m]...原创 2019-05-23 19:20:07 · 329 阅读 · 0 评论 -
最小生成树(1)——kruskal算法//SDNU1218
第一行国际惯例——咕咕咕。本代码以sdnu1218为例1.类似贪心的策略,先对边按权值进行排序,不停的选择最优边进行构建树2.在构建过程中需要判断是否有环(并查集判断(如果不会并查集(我改天再补一下并查集博客3.忽略我特别丑的代码风格4.可以增加优化(在kruskal函数的循环里加一个提前跳出的操作,当边的个数>n-1时跳出即可(n为点的个数(最小生成树最多n-1条边(此处略过5...原创 2019-05-20 22:18:35 · 298 阅读 · 0 评论 -
OpenJudge——3528:最小新整数
第一行——咕咕咕。第二行——记下这个题目是为了给自己个警醒,不坚持做题真的会退化的,谁能想到我花了两个小时就写了一道贪心呢?甚至一开始是八十行冗长的代码。逆水行舟,不进则退。题目描述最小新整数给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。现在从m位中删除k位(0<k < m),求生成的新整数最小为多少?...原创 2019-07-18 18:54:18 · 454 阅读 · 0 评论 -
【题解】2019icpc网络赛上海站部分题解
B.Light bulbs题意:n盏灯,开始时都是关闭的,每次对区间内的灯的状态进行翻转,问最终有几盏灯是开着的。特别注意:内存+时间(我们第一发t了题解:只有区间的反转次数为奇数次的时候才有效,可以对l和r进行排序然后求区间和。左区间减一也行,右区间加一也行,按住一个进行变动即可(保证作差后为区间内所有更换过状态的灯的数目)。#include <iostream>...原创 2019-09-17 20:58:38 · 699 阅读 · 0 评论 -
中国剩余定理(CRT)//2019icpc徐州站网络赛A.Who is better?
第一行——咕咕咕。第二行——我太菜了+感谢这题是个模板题。CRT和EXCRT:常用来解决同余方程问题。中国剩余定理:一个整数n,给定一系列p和q,n%p= q,保证所有的p都是质数,求n。扩展中国剩余定理:一个整数n,给定一系列p和q,n%p = q,p不一定是质数,求n。题目链接:A.Who is better?题意:给你一组余数和模数,求原来的n,然后轮流...原创 2019-09-11 21:23:45 · 277 阅读 · 0 评论 -
欧拉降幂//2019icpc南京站网络赛B.super_log
第一行——咕咕咕。第二行——我好喜欢数学啊(只是她不喜欢我)(委屈.jpg)公式是很好推出来的,我们比赛时读了下题想了想就解出了公式:(b个a),然后死在了降幂上。难受啊,明明公式是对的我们也会普通的欧拉降幂就是降不出来啊!以下为正文:欧拉定理:在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互质,则:。(来自百度百科)...原创 2019-09-06 21:34:41 · 223 阅读 · 0 评论