
数据结构
爱吃老谈酸菜的DV
选择适合自己的。
展开
-
字典树判断是否为前缀编码
前缀编码:如果一个编码不是另一个编码的前缀,则为前缀编码。 给定几个字符串,判断是否是前缀编码。 直接字符串匹配。 模板 #include<bits/stdc++.h> using namespace std; #define maxn 100005 int ch[maxn][15]; int val[maxn]; int sz; char str[20]; int num[ma...原创 2020-02-16 18:31:24 · 1856 阅读 · 0 评论 -
2019年7月31日训练日记(字符串,Tire)
今天晚上依旧是按时打了比赛,比较尴尬的是A题一道特别水的题我竟然读错了题,开始觉得只要数字和下标不对应就是正确的,结果就WA了,后来才知道奇数是-1,偶数个是奇数位和偶数位交换。 B题是道数学题,按理来说把公式推出来就应该不难,但是,我做出来本地AC之后一提交就WA,明明样例都过了,一交就WA,还WA在第二组样例。改了好几遍才改出来,好像是因为有些条件判断的不太准确。具体我也不知道错哪了,样例本地...原创 2019-07-31 23:39:04 · 170 阅读 · 0 评论 -
2019年8月1日训练日记(二叉堆)
今天晚上也照常打了比赛。题还算是简单,A是道规律题,B是道水题,D是道暴力题叭。 做D之前我计算了一下时间复杂度,感觉刚好卡在1e9,就一直没敢暴力写,后来发现大家都过了,我又没有别的思路就用暴力写了一下试了试,竟然过了。后来听别人说17级今晚做的题同一道题他们的数据量更大,直接暴力肯定超,就去看了一下那道题,题解都说用莫比乌斯反演做,我看了半天也没看懂是啥,怎么做的。 C题是个期望DP,要是会的...原创 2019-08-01 22:51:28 · 142 阅读 · 0 评论 -
并查集模板
一、并查集的定义 并查集是一种维护集合的数据结构,它的名字中“并”“查”“集”分别取自于Union(合并),Find(查找),Set(集合)这三个单词。也就是说,并查集支持下面两个操作:a)合并:合并两个集合;b)查找:判断两个元素是否在一个集合中。并查集通过一个数组来实现的:int father[n];其中father[i]表示元素i的父亲结点,而父亲结点本身也是这个集合内元素。对于同一个集合来...原创 2019-05-30 22:39:06 · 131 阅读 · 0 评论 -
2019年秦皇岛J题:MUV LUV EXTRA(KMP后缀数组)
Problem Description 鉴纯夏是一名成绩不太好的高中生。一天她在数学考试中碰到了一道求某条线段长度的问题。因为她并不会做这道题,所以她准确地作图后用尺子量出了这条线段的长度。不幸的是,答案在10进制下为一个无限小数,纯夏只量出了这个无限小数在10进制表示下的前若干位。 纯夏猜测问题的答案为一个有理数,所以答案为一个无限循环小数,如13=0.333⋯,3635=1.028571428...原创 2019-09-28 17:15:28 · 318 阅读 · 0 评论 -
字典树(实现前缀匹配的问题)
举个例子,给你n个单词,每个单词的长度最大不超过len,给的顶一个长为length的长字符串,问这个字符串的前缀里包含多少个所给的单词。 先分析这道题,需要建立一个字典树将所有的单词都放到一个树里(可以看成一个26叉树,每一层都是字母a~z),然后用长文本去暴力匹配这个树,记录个数。原创 2019-10-01 00:32:52 · 840 阅读 · 0 评论