CDQ分治
PH_2002
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三维偏序
前言 怕自己忘,给自己留一个板子 以下代码均为洛谷【模板】三维偏序代码 树套树 先排序。 第一层树是一个树状数组。 第二层是一个线段树。 排完序后,枚举i,查询b小于自己的数所建的树,这一层通过树状数组快速枚举。 在线段树内二分找c小于自己的数. code #include<bits/stdc++.h> using namespace std; inline...原创 2018-08-03 22:03:52 · 600 阅读 · 0 评论 -
动态逆序对1
前言 容易写挂(对于新手与蒟蒻) 题面 洛谷; sol CDQ 如果按照三维偏序那样求,那么会漏掉一些情况。所以要跑两遍cdq。 两遍CDQ又会有一个问题,就是判等于的问题。第一遍CDQ第三维判等于,第二遍判不等于. code #include<bits/stdc++.h> #define LL long long using namespace std; inl...原创 2018-08-04 16:09:50 · 290 阅读 · 0 评论 -
Mokia【题解】
前言 刚开始开心的二维树状数组(真裸),后面发现他在故意卡树状数组(W有200w)离散化都不行. 所以~~开心~~CDQ。 题面 戳一下就好了。 吐槽 特意上网搜了一下mokia,发现是盗版nokia。这年头,洛基亚还有盗版,盗版比正版还火,都用来出题 sol CDQ除了能用来解决N维偏序以外,好像就没什么了,所以转换成三位偏序就好了。 具体来说就是,对于加人这种操作,记一下加的...原创 2018-08-05 07:38:22 · 335 阅读 · 0 评论 -
稻草人【题解】
前言 网上代码各种各样的都可以AC,但关于判断横(纵)坐标相同是否构成矩形这一点各有不同。实际上,题目数据没有横坐标标或者纵坐标相同的情况,所以放心AC。 sol CDQ分治都看得出来。反正按纵坐标分为上下两层,然后考虑上对下的贡献。由于不能跨点,研究一个性质放在单调队列里就行了。 比普通分治还是多一个思维.提高组T1难度吧 code #include<bits/stdc++.h...原创 2018-08-05 21:47:02 · 447 阅读 · 0 评论 -
货币兑换【题解】
题面 戳。 大意:一开始你只有一些钱.你可以用你的所有的钱去买a、b两种东西.你也可以用所有的a、b两种东西去换成钱.所以在一种情况下,你的手里只有钱或者a、b两种东西. 每一天a,b都有自己的价值,买入a,b时,都有一个固定的比值.也就是说,一定量的钱在某一天就对应了一定量的东西. 每一天的操作不限次数. sol 如果你知道这是一道斜率优化dp,那么就很简单了. 列出式子发现,...原创 2018-08-08 17:23:28 · 921 阅读 · 0 评论
分享