- 博客(57)
- 收藏
- 关注
原创 bitset用法总结
第一行国际惯例咕咕咕。第二行——学习之路任重而道远。以下为正文:1.bitset是一种类似于数组的结构,不过区别是只能存1or0,而且优化内存空间,一个元素只占1bit2.相关输出只能用cout3.bitset的大小在编译时已经确定了构造1.<>里的参数表示bitset的大小2.不够的位数自动补03.size小于附的值时,int取后几位,str...
2019-07-22 10:32:33
5753
原创 dp&递推+题目练习(未完待续)
第一行——咕咕咕。第二行——不吃早饭的后果是会饿,连续不吃早饭的后果是养成了到点儿就饿的生物钟。别问,问就是在想中午吃点啥。啊啊啊怀念七月上旬醒来就有饭吃的日子qwq第三行——昨天请了十分钟的假,sj师哥很爽快(此处存疑)地答应了,然后下一句是咱也不知道怎么回事咱也不敢反驳.jpg于是——但是我真的不会dp啊qwq以前遇到这样的题基本都是略过的呢(委屈巴巴.jpg),于是您...
2019-07-20 10:30:46
307
原创 矩阵快速幂//洛谷P3390
第一行——咕咕咕。第二行——啊啊啊啊啊啊啊我好饿啊好饿啊好饿啊好饿啊。饿到灵魂出窍。矩阵快速幂其实就是在矩阵乘法的基础上运用了快速幂,不做过多解释。只需要注意矩阵的乘法是行元素列元素对应相乘相加生成新的矩阵即可。应用:利用矩阵快速幂求FibonacciPOJ3070,需要记住公式(一般会给的叭本代码以洛谷P3390为例先附题目链接洛谷P3390这题是裸...
2019-07-19 19:47:15
386
原创 笛卡尔树//2019牛客暑期多校第一场A题Equivalent Prefixes
第一行国际惯例——咕咕咕。第二行——我真的啥啥都不会啊qwq。笛卡尔树:1.二叉树2.从数列中构造时可以在线性时间内完成,而且可以找到数列中的最近小数3.key值——每个节点的左子树比其小,右子树比其大;value——每个节点都比其子树的value大4.用单调栈进行维护,始终保存的是右链,即:根,右儿子,右儿子的右儿子……并且从栈顶到栈底,key依次减小5.多用于...
2019-07-19 11:31:14
180
原创 欧拉回路(一笔画问题)(有向图)//SDNUOJ1088
第一行——咕咕咕。第二行——我胡汉三又回来啦!这次的欧拉回路针对的是有向图。(个人觉得比无向图简单嘻嘻有向图构成欧拉路径:除了起始终止点,其他点的出度入度相等。有向图构成欧拉回路:所有点的出度入度相等。题目链接SDNU1088代码#include <iostream>#include <cstdio>#include <cst...
2019-07-18 20:40:45
1141
原创 欧拉回路(一笔画问题)(无向图)//HRBUST1658
第一行国际惯例——咕咕咕。第二行——你还差的远呢。本篇博客只针对无向图(我还没做过有向图的题首先是两个定义(欧拉回路和欧拉路径欧拉回路:每条边恰好只走一次,并能回到出发点的路径欧拉路径:经过每一条边一次,但是不要求回到起始点1.构成欧拉回路的要求:每个顶点的度数都是偶数,则存在欧拉回路。2.构成欧拉路径的要求:除了起始终止两个点度数为奇数,其余顶点的度数都...
2019-07-18 19:28:21
668
原创 OpenJudge——3528:最小新整数
第一行——咕咕咕。第二行——记下这个题目是为了给自己个警醒,不坚持做题真的会退化的,谁能想到我花了两个小时就写了一道贪心呢?甚至一开始是八十行冗长的代码。逆水行舟,不进则退。题目描述最小新整数给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。现在从m位中删除k位(0<k < m),求生成的新整数最小为多少?...
2019-07-18 18:54:18
447
原创 SDNU1031字母排序(拓扑排序)
第一行——咕咕咕。第二行感谢csb师哥。先附题目链接SDNUOJ1031这是一道拓扑排序题,不会的指路博客拓扑排序说一下思路:1.统计每个字母的入度(按0~25代表A~Z(每次都需要更新2.当出现环就说明出现了矛盾3.如果队列中存在两个及以上可被取出的字符,即入度为0有两个及以上,则为无法确定全部字母的顺序(这句是csb师哥说的4.如果最后的序列,长度小于n输...
2019-06-09 19:06:05
464
5
原创 拓扑排序//SDNUOJ1089
第一行——咕咕咕。果然是一个咕起来就停不下来的博主。拓扑排序:1.适用于有向无环图。即不存在后面出现的节点指向前面的节点。2.本质上是对图中的节点进行排序。按入度为零排序。不存在入度为零的点则有环,不存在拓扑排序。3.意义:其实我也不知道有啥用。存在先后顺序,所以可以用来排序(???)4.啊!我想起来了,数据结构上用来解决排课问题了!就是类似大一上学了c语言大一下才可...
2019-06-03 20:39:43
319
原创 dp之lis//SDNU1040+1221+1292
第一行——咕咕咕。第二行——我现在才发现我竟然欠了这么多算法不会(果然讲完了不做题就会忘得一干二净(自学ing最长上升子序列:序列不一定唯一,但长度是唯一的1.我的理解:用dp数组存到第i个数时的最优解,最大即为最终最优。毕竟dp就是从上一阶段的最优解推到先阶段最优解。就是以第i个数结尾的最长上升子序列是前i-1个数的最长子序列跟第i个数比较判断即可。2.其实如果只让求最长长度是很简单的...
2019-05-25 00:09:37
364
原创 并查集//POJ1182
第一行:咕咕咕。第二行:我原以为并查集很简单的。原以为。因此我现在一看到说并查集“简单有趣”的博客就心情复杂(不排除对人家来说真的简单有趣)。(本博客下次更新会附送简单并查集缓解心情)第三行:谁能想到一道并查集我花了两个晚上呢。第四行:这道题需要多多复习,我现在也不是特别明白。第五行:还是小白书友好一些。第六行:真正的勇士,敢于wa题二十次。并查集:快速判断两个或多个元素的关系,快速合...
2019-05-23 21:44:17
156
原创 欧拉函数//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
317
原创 最短路(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
675
1
原创 最小生成树(1)——kruskal算法//SDNU1218
第一行国际惯例——咕咕咕。本代码以sdnu1218为例1.类似贪心的策略,先对边按权值进行排序,不停的选择最优边进行构建树2.在构建过程中需要判断是否有环(并查集判断(如果不会并查集(我改天再补一下并查集博客3.忽略我特别丑的代码风格4.可以增加优化(在kruskal函数的循环里加一个提前跳出的操作,当边的个数>n-1时跳出即可(n为点的个数(最小生成树最多n-1条边(此处略过5...
2019-05-20 22:18:35
284
原创 ZOJ3938——模拟水题
第一行照例留给本鸽子精咕咕咕。第二行高亮——一定要细心!!!!!!(来自一个写错一个数字死活A不了的人)题意——略。不要问我为啥不用代码块——CSDN只有我一用代码块就出乱码吗!!!#include #include #include #include #include #include using namespace std;int a[5][5];int p[5];i...
2019-04-14 21:23:18
236
原创 素数筛法
第一行照例留给本鸽子精咕咕咕。晚上写欧拉函数时想到的(虽然并没有写出来欧拉函数)(于是愉快地去写了几个线性筛巩固一下)(是的我一直没记住咋写线性筛)1.埃氏筛(优点是比较好记好写好理解)int pr[maxn];bool vis[maxn] = {0};void era() { int tot = 0; for(int i = 2; i < maxn; ++...
2019-03-03 21:34:57
218
原创 图的存储与遍历
第一行照例留给本鸽子精咕咕咕。第二行感谢耐心给我讲图到很晚的mfz师哥。第三行感谢认真讲图的csb师哥。图的储存——1.lin’jie
2019-03-02 15:34:45
1002
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅