C++
二货RK
菜鸡一枚
展开
-
洛谷 P1012 拼数
洛谷 P1012 拼数真——手写字符串的排序比较函数这个题目,因为之前没有把更长的字符串后面剩余的字符与另一个字符串的首字母进行比较,所以最后一个点WA了#include <bits/stdc++.h>using namespace std;int n;struct op{ char st[100001];};op a[21];bool cmp(op x,op...原创 2019-09-16 19:21:19 · 226 阅读 · 0 评论 -
相似子串 BZOJ 3230 后缀数组模板题
相似子串 BZOJ 3230 后缀数组模板题时间2019 8 10——这题网上似乎找不到了,但是我有数据哟这道题其实非常简单,但是我场上并没有想出来。。。。现在拿出来补补智商首先我们求出后缀数组sa[] height[] Rank[] 数组,到这我们的基本条件就已经具备了然后再根据我们对后缀数组的理解:两个排名不相邻的最长公共前缀定义为排名在它们之间的Height的最小值RMQ问题当然...原创 2019-08-19 21:50:41 · 135 阅读 · 0 评论 -
2019 牛客多校赛 第七场 String 最小表示法
2019 牛客多校赛 第七场 String 最小表示法最开始看到这题的时候,从题目里给的样例就认为是把原串拆成n个最长的非递减序列,后来发现并不是这样,因为题目所要求的是将其拆分为最少的部分,并且所有部分都是满足在不同表示顺序中具有最小的字典序,和我的想法有那么些不同。举个栗子:对于01101111这个串,按题目要求拆开所得的串就只有01101111,而按我自己的理解,就会拆成011和0111...原创 2019-08-14 09:33:39 · 129 阅读 · 0 评论 -
后缀数组 模板题 HDU 3518
后缀数组 模板题 HDU 3518构造最长公共前缀——Height前提:求得rank[]数组,rank[i]表示第i个后缀的字典序排名;求得SA[]数组,SA[i]表示排名为i的后缀所在的位置Heigth[i] 表示Suffix( SA[i] )和Suffix( SA[i - 1] )的最长公共前缀,也就是排名相邻的两个后缀的最长公共前缀H[i] : 等于Height[Rank[i]],...原创 2019-08-13 21:34:31 · 197 阅读 · 0 评论 -
CCPC Final 2017 Alice's Stamps
CCPC Final 2017 Alice’s Stamps和题解说得一样,一道简单的DP,dp [ i ] [ j ]代表从编号1到编号i,使用 j 个set所得的最大值初始化为0,然后就可以DP了,最后所得的dp [n] [k]就是答案(网上说是背包的变式)转移方程和思路是这样的:1、首先预处理,在输入的时候就能将每个点区间所能到的最远右端点记录下来,代码如下for(int i=1...原创 2019-08-13 21:26:02 · 251 阅读 · 0 评论 -
ST表 洛谷 P3865 ST表模板题
ST表 洛谷 P3865 ST表模板题首先,来说说为什么学ST表哈。ST表类似于树状数组和线段树这两种数据结构在解决RMQ问题时,ST表和线段树的预处理时间复杂度都是O(nlogn),两者的不同在于,在查询RMQ答案时,ST表的时间复杂度为O(1),而线段树却有 O (logn),这是ST表的优势就完全体现出来了。ST表实际上是一个二维数组 ST[i] [j],含义是:从下标i 到下标 i...原创 2019-08-18 21:04:53 · 296 阅读 · 0 评论 -
Survive the flood 题解
Survive the flood 题解实际上是一个简单的二分答案+bfs首先我们先用bfs得出水在不同的时间所能到达的位置,给每个位置做一个最早到达时间的记录,即step[i][j]。然后因为高度最高为1e5,那么我们开始二分这个最大跳跃高度的最小值,每次将高度传入,并以这个高度为标准再次进行rabbit在不同时间所能到达的位置,并记录rab[i][j]作为rabbit到达这个位置的时间(...原创 2019-08-09 07:14:40 · 260 阅读 · 0 评论 -
POJ1785(笛卡尔树中序遍历)
POJ1785 (笛卡尔树的中序遍历)这是接着我之前写的笛卡尔树来的,有兴趣的话可以看看哈,传送门https://blog.csdn.net/qq_33437973/article/details/97619600这道题一开始没怎么懂,后来发现括号就是每个节点进行遍历开始的时候和结束的时候分别括上就行了,然后就是一个裸的笛卡尔树,MD还想了那么久!!!!题目:http://poj.org/p...原创 2019-07-28 21:28:00 · 405 阅读 · 0 评论 -
笛卡尔树 poj2201
笛卡尔树在左学长的督促下,我开始了学习笛卡尔树的旅途(挖坑)。。。笛卡尔树是一种非常神奇的树,他的每一个节点都有两个关键字key和val,首先其基本结构是一颗二叉搜索树,即对于每一个节点,其左子树的key值都应该比其小,右子树则大,满足这些条件的同时,他的val值在这颗树上又有大小根堆的性质(优先队列),这就是笛卡尔树的基本性质。那么,笛卡尔树能干些啥呢? 1、笛卡尔树可以有效地处理范...原创 2019-07-28 21:13:15 · 181 阅读 · 0 评论 -
主席树介绍 : 洛谷P3834 可持久化线段树 1(主席树)
主席树介绍 : 洛谷P3834 可持久化线段树 1(主席树)昨天开始进入主席树的学习。。首先,主席树也是线段树的一种,但是空间比线段树更大,这是因为,他记录了每一次修改之前的状态,也就是说,他比一般的线段树有更多的节点,一开始看到有题解说,每一个节点都存了一个线段树,这把我吓了一跳,其实准确来说,应该不是这样的,下面看我讲解:主席树,是在权值线段树上发展来的,对于每一个 L == R 的节...原创 2019-08-24 20:07:11 · 130 阅读 · 0 评论 -
HDU6534 权值树状数组+莫队 Chika and Friendly Pairs
HDU6534 权值树状数组+莫队 Chika and Friendly Pairs嘛,写完这道题后最莫队和树状数组的理解更进了一步嘛,有关莫队的知识,请参考我的另一篇博客,莫队基本上写完一两道模板题后就基本理解了,很简单的这次学到了一个很实用的STL 函数 unique函数,对于权值离散化非常有用,在对一个数组排完序以后,unique函数能够将相邻的重复元素,变成一个元素,将多余的元素放在...原创 2019-08-20 21:30:17 · 157 阅读 · 0 评论 -
牛客练习 数学题 序列求和
牛客练习 数学题 序列求和题目链接:https://ac.nowcoder.com/acm/problem/15950?tdsourcetag=s_pctim_aiomsg&headNav=acm我是真的好久没写数学题了。。。智商已下线。。今天必须把这道题拿出来好好补点智商税这题在高中的时候我估计还能写得出来,因为知道这道题怎么做之后,我脑海里清晰的记得自己将好多数列的公式都写...原创 2019-08-20 22:14:17 · 274 阅读 · 0 评论 -
洛谷 P3805 manacher算法 模板题
洛谷 P3805 manacher 模板题先感谢下这篇blog(本文的两幅图是从上面截取下来的):https://segmentfault.com/a/1190000008484167实锤模板!直接讲解下马拉车算法~~~回文串是个什么玩意大家应该都懂吧?不懂上度娘搜,一抓一大把Manacher算法,就是找出一个字符串里面的最长回文串,也就是这个题目要我们求的东西首先,马拉车有一个预处...原创 2019-08-28 09:38:41 · 185 阅读 · 0 评论 -
带修改主席树 洛谷P2617 Dynamic Rankings
带修改主席树 洛谷P2617 Dynamic Rankings题目大意:这道题依然是求区间第k大,但是这是求动态区间第k大的值,数组里的值可以随意修改。输入:第一行有两个正整数n(1≤n≤100000),m(1≤m≤100000)。分别表示序列的长度和指令的个数。第二行有n个数,表示a[1],a[2]……a[n],这些数都小于10^9。接下来的m行描述每条指令,每行的格式是下面两种格式...原创 2019-08-27 19:52:52 · 139 阅读 · 0 评论 -
C++ STL set的使用
C++ STL set的使用今天写一道贪心题,被禧宝儿嘲讽了:“亲,这边建议您学一下set”于是就来补坑了,毕竟学这些STL,以后在数据处理方面会用很大作用首先附上另一个大佬的blog:https://blog.csdn.net/Strawberry_595/article/details/81188509set 是一个关联性容器,其他关联性的容器,像multiset, map, mult...原创 2019-08-22 21:54:07 · 323 阅读 · 0 评论 -
洛谷 P2292 L语言 trie树+暴力
洛谷 P2292 L语言 trie树+暴力题目大意:给你n个短串,然后再给你m个长串,让你对每一个长串求能被短串组成的最长长度这题其实是一个简单思维题,然后暴力即可首先,我们看题,给我们n个字符串,然后,建立trie树。然后我们对每一个长串进行遍历,遍历的时候,我们对每一个短串能到达的结尾位置进行标记,然后每碰到这样一个标记,就往trie树上遍历查找,一直找到新的单词结尾,然后标记。...原创 2019-08-22 20:53:47 · 139 阅读 · 0 评论 -
洛谷 P2322 最短母串问题 状压+AC自动机
洛谷 P2322 最短母串问题 状压+AC自动机题目大意:给你n个串,让你求包含这n个串的最短母串首先,看到多串,就大概知道要用AC自动机了。然后再想,我们怎么将每个串加入到我们所求的母串上面去。虽然n<12,但是我们无法对每一种情况进行dfs,所以这种想法需要抛弃。在trie树上,我们肯定需要遍历每一个节点,那么我们可以对每一个单词的结尾进行一个标记。怎么标记呢?(注意了,状压开始...原创 2019-08-22 20:24:56 · 200 阅读 · 0 评论 -
NAIPC 2018 Prefix Free Code
NAIPC 2018 Prefix Free Code这是我和左学长精诚合作弄出的一道题(虽然我的代码后面到处有坑)字典树+dfs序(字典序大小)+树妆数组+阶乘计算答案因为保证每一个字符串都不是其他串的前缀,那么在字典树上,每一条支链的结尾有且仅代表一个串,也就是说保证扫到串的末尾时,不会有其他串在这条链上。然后用一个 tpos[ ] 数组记录当前这个字典树的节点所代表的是输入的第几个串...原创 2019-08-16 15:56:46 · 187 阅读 · 0 评论 -
莫队算法 模板题 小Z的袜子 洛谷 P1494
莫队算法 模板题 小Z的袜子 洛谷 P1494附上题目链接 https://www.luogu.org/problem/P1494附上我的莫队启蒙链接 https://oi-wiki.org/misc/mo-algo/#include <bits/stdc++.h>using namespace std;#define ll long longconst int...原创 2019-08-12 18:03:12 · 139 阅读 · 0 评论 -
牛客练习题 AC自动机 String (强制 离线AC自动机)
牛客练习题 AC自动机 String (强制 离线AC自动机)嘛,这题TLE了我一下午,最终在晚上终于搞出来了!!!基本思想是AC自动机,但由于题目是询问中穿插了字符串的添加,所以我们不得不将其离线(因为每次添加都需要更新fail指针,这样时间复杂度太大了),然后倒序处理询问,对之前添加进去的一一删去,得出答案后即可输出。开始的时候就是普通树状数组的操作,我交的代码TLE是因为我没有做求单词...原创 2019-08-25 22:34:30 · 243 阅读 · 0 评论 -
暑期个人赛题目 CF赛题 How many trees
暑期个人赛题目 CF赛题 How many trees?题目链接 http://codeforces.com/problemset/problem/9/D一开始看到这道题还认为世道数据结构,比完之后才发现这是一道动态规划的题目,啊啊啊,是我太菜虽然这道题左学长用了一个四维的DP,但其实只需要3个循环加一个二位DP数组即可dp [ i ][ j ]表示i个点在高度为j的情况下所得的组合数但...原创 2019-08-06 09:15:02 · 159 阅读 · 0 评论 -
牛客数据结构单调栈训练题 Bad Hair Day
牛客数据结构单调栈训练题 Bad Hair Day嘛,这是一道之前在比赛的时候和左学长研究过的题,多亏了左学长,现在这题能秒出。解题方法是这样的:每次在栈里放入一个高度,但放入之前,需要保证栈里面的元素是单调的,就相当于对于每一个比当前高度高的牛都做了贡献,每次答案加上单调栈里面的元素个数即可,很简单上代码:#include <bits/stdc++.h>using nam...原创 2019-08-06 08:55:57 · 171 阅读 · 0 评论 -
牛客字符串KMP训练题 栗酱的数列
牛客字符串KMP训练题 栗酱的数列这道题就是一道KMP模板题,但是有几个小地方要处理下:首先我们来看看题面[外链图片转存失败(img-QGjKeUBa-1564756120496)(C:\Users\贺\AppData\Roaming\Typora\typora-user-images\1564755628764.png)]也就是说满足 (a2+b2-a1-b1)%k==0化简之后就...原创 2019-08-02 22:29:48 · 223 阅读 · 0 评论 -
lower_bound()和upper_bound()在数组中的使用(非迭代器版)
lower_bound()和upper_bound()在数组组中的使用(非迭代器版)我们在写二分的时候经常会被边界值搞得晕头转向,l到底等于多少,r到底等于多少好想找个办法规避下这些东西啊于是,我们将lower_bound和upper_bound()放了出来这两个玩意的运用,在很多blog上都是用于迭代器的,但是其实他在数组中也能够运用,下面我们就来看看,这两个玩意的含义是什么吧!设我们...原创 2019-07-07 07:39:18 · 1860 阅读 · 1 评论 -
牛客练习赛49_D_筱玛爱线段树
今天,厚颜无耻的说勉强是自己一个人写出的题吧,其实要是没有左学长的提醒,我估计会在线段树上转一上午。先上题面:https://ac.nowcoder.com/acm/contest/946/D大意:给你n个数的数组和m个操作,数组的初始值全部为0,操作的种类只有2种,一种是将数组[l,r]中的数全部加上1,另一种是将操作编号为[l,r]的操作再全部进行一遍。求m次操作后的数组的模样。首先,看...原创 2019-07-07 00:10:00 · 124 阅读 · 0 评论 -
2019牛客假日团队赛5_A_Bad Hair Day(单调栈)
首先来叙述下我的弱小,把这道题看完之后,第一个反应是——水题。。。然后蒟蒻脑子就是一片空白。。。。。MD,连水题都不会做,我太菜了,那么先上题https://ac.nowcoder.com/acm/contest/984/A题目大意:给你一排数列,求从每一位开始一直到比大于等于它的那一位数结束,其中有a[i]位,求所有a[i]之和。例如:给你一个数列 10 3 7 4 12 2从10...原创 2019-07-06 23:50:37 · 87 阅读 · 0 评论 -
后缀数组
后缀数组后缀数组的几个数组变量:sa[i]–>排名为i的后缀的起始位置的下标sa[i]的映射数组rank[i]就表示起始位置的下标为i的后缀的排名以上两个数组在意义上是相互对应的 首先我们有如下定义:1、后缀i和后缀j的前2k个下个等<=>”后缀i和后缀j的前k个相等 ”和 “后缀i+k和后缀j+k的前k个相等2、(后缀i的前k个字符小于后缀j的前k个字符)或(后...原创 2019-07-05 15:06:23 · 95 阅读 · 0 评论 -
洛谷P1183多边形面积
上题目链接:https://www.luogu.org/problemnew/show/P1183这道题是真的涉及到了我的知识盲区了,怎么办,怪我高数没学好咯。这道题的思想是这样的: 利用向量的叉乘计算多边形的面积: 向量的叉乘所得的是一个带方向的面积,但其是一个标量 本图引用洛谷 Md_Drew的题解两个向量三个点可以计算出一个四边形的面积也就是在已知的点...原创 2019-07-14 20:45:50 · 211 阅读 · 0 评论 -
洛谷P1318积水面积
先上题目链接:https://www.luogu.org/problemnew/show/P1318讲讲思路: 从双向记录两边到当前位置的最大的高度 设两个数组l[i],r[i],分别记录从前往后和从后往前到i位置的最大高度 然后在每个位置加上其能够装的水的量,见公式 sum+=min(l[i],r[i])-hi[i]当前位置水能装的最大高度减去下面砖的高度即为当前位置能装的...原创 2019-07-14 20:20:45 · 456 阅读 · 0 评论 -
牛客字符串KMP训练题 可爱即正义
牛客字符串KMP训练题 可爱即正义一开始的时候怎么也想不明白,根本就不知道时间复杂度怎么优化,后来在左神左学长的指点下,发现了字符串的模式串是给定的,并且其无法在其本身上找到一段与其本身匹配的地方,也就是说,没有办法在母串上找到多个相互交错的模式串接下来就简单了,分别讨论母串上找到的模式串有times个的情况当times>2时,无解了,想想就明白当times==2时,交换找到的两个的...原创 2019-08-02 22:43:31 · 183 阅读 · 0 评论 -
牛客数据结构队列训练题 蚯蚓
牛客数据结构队列训练题 蚯蚓啊啊啊,好怀念,2016年的NOIP的试题,欸,当时我还是个小白,现在也是菜鸡,这道用三个队列即可完成首先,我们来分析下对于每对 x1,x2(x1>x2) 他们被剪断后的操作1、对于每一对x1,x2(x1>x2): p1=x1p , p2=x1-x1p; p3=x2p , p4=x2-x2p; 明显p1>=p3,p2>=p4...原创 2019-08-02 23:03:36 · 138 阅读 · 0 评论 -
牛客数据结构优先队列训练题 操作系统
牛客数据结构优先队列训练题 操作系统啊啊,明明一道极其简单的训练题,我想得太复杂了!!!!不说了直接上代码,就是模拟没什么好说的#include <bits/stdc++.h>using namespace std;int a,b,c,d,lastend=0;struct pro{ int id=0,at=0,ti=0,pri=0; bool operato...原创 2019-08-02 23:18:05 · 159 阅读 · 0 评论 -
牛客优先队列训练题 NOIP2018 道路铺设
牛客优先队列训练题 NOIP2018 道路铺设虽然在牛客上分类是优先队列,但实际操作起来其实就只是一道纯贪心的题目,有点单调队列的感觉,每次找后面大于前面的,并加上后面的差值,O(n) 的时间复杂度就可过,不需要用到优先队列上代码:#include <bits/stdc++.h>using namespace std;const int maxn=1e6+7;int n,a...原创 2019-08-06 08:43:06 · 226 阅读 · 0 评论 -
牛客字符串训练 NOI 2014 动物园
牛客字符串训练 NOI 2014 动物园这道题应该算是一道比较简单的动态规划了,因为很容易就会发现存在递推的关系。对于每一个前缀,我们先求得其nxt数组,得出在该位置的的最长匹配,在求nxt数组的同时,我们也可以求得num数组,但此时求得的num数组并没有去重紧接着我们就可以计算答案了,但是计算答案的时候需要注意num数组的去重,这个方法很巧妙,就是利用num数组和nxt数组相似的性质,一...原创 2019-08-06 08:30:52 · 136 阅读 · 0 评论 -
HDU P1005
HDU P1005这道题有一个同学问过我,但我当时给他的答复是打表找规律,但我自己没有细想,今天来水了水,发现十分简单,因为该题均为%7,也就是说,f[n]只有7种情况,而两两相连的情况f[i]、f[i-1]有7*7=49种情况,也就是说,在f里,49个数必定为一个循环,于是有了下面的代码:#include <bits/stdc++.h>using namespace std;...原创 2019-07-26 22:48:19 · 101 阅读 · 0 评论 -
洛谷P1007独木桥
洛谷P1007独木桥这是一道思维题,没看题解之前想得太复杂了,看来题解后——尼玛,这也太简单了吧。是哪里,没发觉呢,就是当两个士兵相会时,完全不需要考虑转向的问题,因为可以将其视为互相穿过对方,那么接下来问题就简单了,就是求最后一个士兵走下桥的最长时间和最短时间。上代码:#include <bits/stdc++.h>using namespace std;int l,n;...原创 2019-07-26 22:21:09 · 225 阅读 · 0 评论 -
洛谷P1005 矩阵取数游戏
洛谷P1005 矩阵取数游戏这道题一拿到就觉得要用高精度做,可是我这辈子真不想写高精度了,看来题解后才发现有一种__int128的类型在网上的OJ上通用,这种类型支持2^128这么大,让我可欢喜了,但是我在网上查了些资料,发现在CodeBlocks上无法使用,但是DevC++上可以,有时候比赛支持,但不成定数。__int128的介绍也就这么多了,比赛的时候酌情使用,但不可否认的是,他给我们解这...原创 2019-07-26 22:10:48 · 188 阅读 · 0 评论 -
Splay 模板 洛谷P3369 普通平衡树
Splay 模板 洛谷P3369 普通平衡树什么也不说上代码这代码我也不求人看懂,操作原理有点复杂,不是很想讲,以后再来填坑吧!#include <bits/stdc++.h>using namespace std;const int maxn=1000000;class Splay{ private: int ch[maxn][2],f[maxn]...原创 2019-07-30 22:39:36 · 161 阅读 · 0 评论 -
牛客竞赛字符串训练 Youhane Assembler
牛客竞赛字符串训练 Youhane Assembler时隔60天,再次写KMP模板题,手有点生疏了,感觉打印出来的模板不行啊,还是找了自己以前敲的代码补上去,欸,我还是太菜了。。。。。对了,此生绝对不用memset了,要用就用fill,时间复杂度太慢了memset,令人失望!#include <bits/stdc++.h>const int maxn=3e5+7;usin...原创 2019-07-30 22:29:18 · 158 阅读 · 0 评论 -
线段树增强训练题 ZOJ1610 Count the Colors
线段树增强训练题 ZOJ1610 Count the Colors线段树增强训练,啊啊啊,我还是太菜了这道题调试起码4个小时,明明一道很简单的题目。。。。题意也看了好久,与一开始还读错题意了,但是问题不大,在原来的代码上改改也可题意:对一段长为8000的线段进行染色,颜色有8000种,每次对区间[l,r]进行染色,进行n次操作后,问你每一种颜色有几段。很明显的区间修改和查询,不假思索就...原创 2019-07-30 22:10:07 · 137 阅读 · 0 评论