大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。

随笔分类 -  数据结构

摘要:Algorithm:树状数组优化DP 性质:相同数对少,实际状态少 朴素dp:dp[i][j]=max(dp[k][l]+2)——如果a[i]==a[j] 由于每个数字最多只出现4次,所以数对数量不超过C(4,2)/4 1e5 f[k]表示dp[a[k].first][a[k].second],用一 阅读全文
posted @ 2019-10-29 16:31 White_star 阅读(140) 评论(0) 推荐(0)
摘要:倍增加并查集 复杂度 $O(nlog^2n)$ 虽然AC了,可是一个月后重新看到他还是不会做 直接贴 "题解" c include using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b 阅读全文
posted @ 2019-10-29 15:38 White_star 阅读(113) 评论(0) 推荐(0)
摘要:旋转: 1. 让自己的k^1儿子代替自己成为父亲的儿子 1. 代替父亲的位置成为爷爷的儿子 1. 让父亲代替自己的k^1儿子成为自己的儿子 注意事项: 如果当前点和它的父节点是同向节点(都是左/右儿子),则先转父亲,再转自己;否则连续转两次自己 如果当前点的父亲是整棵树的树根,则直接转自己 阅读全文
posted @ 2019-10-23 19:01 White_star 阅读(818) 评论(0) 推荐(0)
摘要:T1:动态规划,f[i][0/1]表示前i位,最后一位是否是c的方案数。 曾经妄想用组合数学去算,由于无法解决重复计算问题最终放弃转而思考动态规划,成功AC 代码略 T2:数学+卡时限 简单的“变化求和顺序” ,经典变形: $\sum_{i=1}^N \sum_{j=i}^N$ = $\sum_{j 阅读全文
posted @ 2019-10-12 11:49 White_star 阅读(204) 评论(0) 推荐(0)
摘要:T2 修建马路 并查集 注意到直接维护连通性不好做,因为我们在图上不断地删点,而并查集不支持删除操作。 考虑转化问题,瞬移能力相当于把整张图复制一份,我们注意到无法通行当且仅当被删除的方格围成了一个八连通的环。 用可撤销并查集维护 能够证明必须围成一个环,也就是如果超出边界要瞬移到图的另一边,特殊数 阅读全文
posted @ 2019-10-09 15:25 White_star 阅读(116) 评论(0) 推荐(0)
摘要:吉司机最经典的应用,区间最值更新 "HDU 5306" 其中对最大值和次大值及其个数的维护方式值得学习 阅读全文
posted @ 2019-09-27 17:21 White_star 阅读(618) 评论(0) 推荐(0)
摘要:线段树/标记永久化 复杂度 $O(nlogn)$ 题解有误,并非所有与线段树节点[l,r]相交的所有区间[s.t]都要存入vector 插入区间[s,t]时,我们覆盖了一段完整的区间,如图 实质上是覆盖了表面的一层,即标记不下传 故我们merge时要考虑每一层的vector 插入时,如果两个区间恰好 阅读全文
posted @ 2019-09-25 12:03 White_star 阅读(325) 评论(0) 推荐(0)
摘要:分块 $O(n\sqrt{n})$ 也可以LCT,不过此题分块是很精妙的,值得学习 如果直接维护从i出发跳出去需要多少步,修改x时就需要修改x之前的所有点 但如果维护从i出发跳出块需要多少步,则块外的不会跳到x上,不受影响,只用修改块内的点,单次修改复杂度降至$\sqrt{n}$ 询问时只用跳块,故 阅读全文
posted @ 2019-09-17 20:20 White_star 阅读(123) 评论(0) 推荐(0)
摘要:也叫小清新线段树,用于解决区间最值修改问题 具体可以参考jiry_2神犇的集训队论文和WC2016上的PPT 此题就作为模板好了,模板的话写法是比较精妙的 阅读全文
posted @ 2019-09-11 19:20 White_star 阅读(264) 评论(0) 推荐(0)
摘要:线段树 $O(nlogn)$ 本来是做过这道题的,原题是POJ2528 Mayor's posters 但是POJ上的数据有问题,导致我以为自己AC了。像这种区间的题尤其要注意离散化时要离散化左右边界 举个洛谷上的例子 回顾这道题,因为是区间修改,所以可以用线段树。查询答案时既可以递归到叶子节点再返 阅读全文
posted @ 2019-09-01 19:57 White_star 阅读(126) 评论(0) 推荐(0)
摘要:RT 复杂度 $O(nlog^2n)$ cdq一个nlog,树状数组一个log,排序的话此题用归并排序会更方便,因为 using namespace std; define go(i,a,b) for(int i=a;i=b; i) define mem(a,b) memset(a,b,sizeof 阅读全文
posted @ 2019-08-30 15:41 White_star 阅读(145) 评论(0) 推荐(0)
摘要:Vector大法好~ 核心代码只有短短的10多行,你值得拥有 ~~multiset捞爆了,只有40分~~ "Vector提交记录" vector通过lower_bound和insert操作能够维护一个有序递减/递增的线性表 insert复杂度虽然是O(n),实际表现却非常快(可以看做sqrt(n)) 阅读全文
posted @ 2019-08-20 11:11 White_star 阅读(137) 评论(0) 推荐(0)

}