基本上每个网站上都有,就不粘提面啦。 这道题要求维护区间种类数,不支持区间加减法。 所以需要通过转换使其满足树状数组/线段树的条件。 首先,对于段区间中的数,若有数重复出现,则只需关心最后出现的一个。 所以,我们可以对所有查询区间的r非降排序,从左向右推now_r并同时维护一个树状数组。 树状数组表 ...
分类:
其他好文 时间:
2016-08-27 21:59:35
阅读次数:
139
web缓存的种类1.数据库缓存我们可能听说过memcached,它就是一种数据库层面的缓存方案。数据库缓存是指,当web应用的关系比较复杂,数据库中的表很多的时候,如果频繁进行数据库查询,很容易导致数据库不堪重荷。为了提供查询的性能,将查询后的数据放到内存中进行缓存,下次查..
分类:
其他好文 时间:
2016-08-24 01:15:00
阅读次数:
98
贪心, 双端队列、队列
先扫一遍记录各种字母出现的次数, 然后在扫一遍字母数组(从大到小),依次记录没有出现过的字母
然后 扫一遍 分别记录奇数位置的'?' qo.push(i), 偶数位置的'?' qe.push(i) 同时如果'?'的个数 + 已经出现的种类数 deq.back()) 来判断应该填优先填 minus的位置还是 plus的位置,(同时应该先判断是否容器为空)
具体见代码
复杂度 O(n)...
分类:
其他好文 时间:
2016-07-31 01:49:44
阅读次数:
407
简单dp+KMP。记dp[i]为以0--i能表达的意义种类。 如果以s[i]为结尾的后缀不匹配,那么dp[i]=dp[i-1]。 如果以s[i]为结尾的后缀匹配,那么dp[i]=dp[i-1]+dp[i-len]; (即表达第一种意思的种类数+表达第二种意思的种类数) ...
分类:
其他好文 时间:
2016-07-30 16:45:38
阅读次数:
117
题目链接 给出m(m<=10)个长度不超过10的'A''T''G''C'序列,求长度为n(n<=2*1e9)的'A''T''G''C'序列不含上述m个序列中的任意一个序列的种类数。 首先出现了多个模板串,考虑Aho-Corasick,n的范围提示出要使用log级别的算法,并且能在Trie树上使用,矩 ...
分类:
其他好文 时间:
2016-07-24 22:28:00
阅读次数:
200
题目链接 给出n个模板串(n<6)求出长度为不超过l(l<2^31)的单词至少包含n个字串中的一个的种类数,对2^64取模。 首先有多个模板串,考虑Aho-Corasick,然后l数据范围提示要用log级别的算法,Trie中最常见的就是矩阵,那么接着分析,问出不超过l至少包含1个,那么我们把问题简化 ...
分类:
其他好文 时间:
2016-07-24 22:26:53
阅读次数:
164
题目链接 给出m(m<=10)个模板串,问长度为n(n<=25)的字符串包含至少k个模板串的种类数,对20090717取模。 套路,有多个模板串考虑Aho-Corasick,因为想了很久找不到什么可行办法做,就考虑Dp,因为m<=10,所以可以有状压来检查当前状态下已经包含多少个模板串了,因为在一棵 ...
分类:
其他好文 时间:
2016-07-24 22:18:51
阅读次数:
165
洛谷题目链接 题意: 给定一个长5w静态的序列,询问20w次,每次询问查找一个区间内的元素种类数 染色问题神烦啊,最近刚会做,感觉都可以用统一的方法 首先要算出与一个元素相同的最邻近的上一个元素的位置,这样的话只要求出区间内上一位置小于下限的就是元素种类数 ——非常有道理的样子,但是第一次见肯定想不 ...
分类:
其他好文 时间:
2016-07-16 00:24:43
阅读次数:
163
题意: 给一个固定长度为L的画板 有两个操作: C A B C:区间AB内涂上颜色C。 P A B:查询区间AB内颜色种类数。 分析:显然是要用线段树来操作的,设定一个sum[]来维护一个区间内的颜色,若为-1,则说明不是叶子节点,还应在往底下找; 同时在查询时维护一个vis[]来记录在这个区间内哪 ...
分类:
其他好文 时间:
2016-06-28 21:54:20
阅读次数:
182
一开始一脸懵逼。。 后来才想到维护一左一右俩指针l和r..表示[l,r]这段内不同种类的数字<=k+1种。 显然最左的、合法的l随着r的增加而不减。 顺便离散化,记一下各个种类数字出现的次数就可以算出答案了。 时间复杂度O(n) 1 #include<cstdio> 2 #include<iostr ...
分类:
其他好文 时间:
2016-06-18 16:41:54
阅读次数:
259