树状数组
Rayment_cc
++Rp
展开
-
线段树&&树状数组 总结
树状数组、线段树、zkw线段树总结原创 2017-10-11 20:55:29 · 539 阅读 · 0 评论 -
BZOJ 2434 NOI2011阿狸的打字机 AC自动机+树状数组
如果你还没学AC自动机,请看这篇博客Problembzoj通道 洛谷通道Solution简单的说来,其实就是要快速求一个字符串在另一个字符串中出现了多少次。考虑构造AC自动机。首先可以想到很暴力的做法,就是模拟操作构造出AC自动机,然后对于每次询问暴力匹配,然而只能拿到50分……考虑优化: 我们知道AC自动机是依靠前缀树Trie构造出来的,要判断字符串v是否是u...原创 2018-02-05 12:37:47 · 343 阅读 · 0 评论 -
BZOJ 1227 虔诚的墓主人
Problem三倍经验题!惊喜不惊喜? BZOJ 洛谷 Codevs ←欲知为何WA请戳这个!!!Solution我想大家一定都会O(nm)O(nm)O(nm)的做法吧,就是暴力扫整个地图?? 那只需要做一个简单的离散化就可以把复杂度优化到O(w2)O(w2)O(w^2)。 然而可能你可能会发现你还是只拿了暴力分设第i个点上方、下方、左方、右方的常青树个数为...原创 2018-02-28 20:43:11 · 210 阅读 · 0 评论 -
BZOJ 4548 小奇的糖果
ProblemBZOJSolution只想到一个O(n2)O(n2)O(n^2)的做法,大概是这样。显然固定左端点,右端点扩展后矩形高度单调不升,那么就可以维护竖直和水平的两种链表,枚举左端点,然后不断扩展右端点,颜色数为k时就高度减小。O(nlogn)O(nlogn)O(n\log n)的做法比较巧妙,把矩形分为三类,一类是高度就是n的,另外两类就是上接和下接的。 考虑用...原创 2018-07-24 22:23:11 · 176 阅读 · 0 评论 -
BZOJ 1107 驾驶考试EGZ POI2007
ProblemBZOJSolution又是大神题。。在做dp的时候不知怎么就做到了这道题,可能跟dp唯一有点关系的可能就是lis了吧?考虑把边反向,那么就是要1~n所有点都能到达i,那么就只需1,n满足条件即可。 不妨令f[i]表示1可以达i最少需要多少建多少条边,贪心一下,就是利用起左边的lis,然后建其他的边。 求lis可以用树状数组搞。 cnt统计的是本来就满足条件的边...原创 2018-07-26 22:17:29 · 231 阅读 · 0 评论 -
Codeforces958C3 Encryption (hard)
ProblemCodeforcesSolution是一道很有意思的题目。首先你可以写出一个最暴力的方程,设f[i][j]f[i][j]f[i][j]表示前j个位置分i段的最小代价f[i][j]=min(f[i−1][k]+(sum[j]−sum[k]) mod p)f[i][j]=\min (f[i-1][k]+(...原创 2018-10-22 18:37:54 · 360 阅读 · 0 评论 -
洛谷5156 Sort It Out
Problem洛谷Solution充分必要条件就是未被选择的数是单调上升的,要求最少,则需要求LIS。而被选择的字典序第k小也就对应着被选择的字典序第k大。那么我们考虑从高位到低位确定下来每一个数字,由此我们需要求出选了某个数之后的后继LIS方案数,用树状数组优化dp解决。然后我们就按顺序丢进vector里即可,注意其实这里vector内部是不需要排序的,因为我们是从前往后扫的,若同样长...原创 2019-01-10 21:49:08 · 279 阅读 · 0 评论