
cdq分治&整体二分
clover_hxy
The secret oppotunities are hidden inside every failure....
展开
-
bzoj 1176: [Balkan2007]Mokia(cdq分治)
1176: [Balkan2007]MokiaTime Limit: 30 Sec Memory Limit: 162 MBSubmit: 1850 Solved: 818[Submit][Status][Discuss]Description维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数MInput原创 2016-09-09 17:37:17 · 364 阅读 · 0 评论 -
bzoj 4430: [Nwerc2015]Guessing Camels赌骆驼 (CDQ分治)
题目描述传送门题解对于每个骆驼用(x,y,z)分别表示他在三个人猜测列表的排名。 然后问题就变成了三维偏序,直接上CDQ分治。代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define N 200003#define LL long long using原创 2017-04-06 20:22:39 · 639 阅读 · 0 评论 -
bzoj 2244: [SDOI2011]拦截导弹 (CDQ分治+DP)
题目描述传送门题目大意:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度、并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其拦截的导弹的飞行速度也不能大于前一发。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 在不能拦截所有的导弹的情况下,我们当然原创 2017-03-26 17:30:07 · 714 阅读 · 3 评论 -
bzoj 3963: [WF2011]MachineWorks (DP+CDQ分治)
题目描述传送门题解将所有的机器按照d从小到大排序。 f[i]f[i]表示买入第i台机器后的最大收益,则f[i]=max{f[j]+(d[i]−d[j]−1)∗g[j]+r[j]}−p[i]f[i]=max\{f[j]+(d[i]-d[j]-1)*g[j]+r[j]\}-p[i],其中j<ij<i。 我们将式子写开,得到f[i]=f[j]+d[i]∗g[j]−d[j]∗g[j]−g[j]+r[j]原创 2017-03-26 14:29:15 · 632 阅读 · 1 评论 -
bzoj 4553: [Tjoi2016&Heoi2016]序列 (CDQ分治+DP+树状数组)
题目描述传送门题目大意:有一个长为n的序列,m个变换,每次变换把x位置的权值变成v.求一个子序列满足在任意变换中都单调不降(任意变换不能同时进行),问子序列的最长长度。题解先考虑暴力DP。如果点j 可以用来更新i的答案。那么所有包含j的变换以及j初值的最大值一定小于等于i的初值。所有包含i的变换以及i的初值的最小值一定大于等于j的初值。也就是max[j]<=a[i],a[j]<=min[i],j<=原创 2017-03-25 18:31:41 · 442 阅读 · 0 评论 -
bzoj 3939: [Usaco2015 Feb]Cow Hopscotch (CDQ分治+DP)
题目描述传送门题目大意: 游戏在一个R*C的网格上进行,每个格子有一个取值在1-k之间的整数标号,奶牛开始在左上角的格子,目的是通过若干次跳跃后到达右下角的格子,当且仅当格子A和格子B满足如下条件时能从格子A跳到格子B: 1.B格子在A格子的严格右方(B的列号严格大于A的列号) 2.B格子在A格子的严格下方(B的行号严格大于A的行号) 3.B格子的标号和A格子的标号不同 请你帮助奶原创 2017-03-24 21:45:56 · 424 阅读 · 0 评论 -
bzoj 2253: [2010 Beijing wc]纸箱堆叠 (CDQ分治+DP)
题目描述传送门题目大意:每个物品有三个参数(x,y,z),一个物品只有三个参数同时严格小于另一个物品,才能放到另一个物品中。问最多多少个两两嵌套。题解我们先按照x坐标排好序,然后进行CDQ分治。 分治的时候先计算[l,mid]的中点的答案。 然后按照y排序,将原本[l,mid]中的点一次加入他们z值对应的树状数组中。 [r,mid]中的点从树状数组中查询小于z的区间最小值,更新答案。代码#in原创 2017-03-24 20:18:20 · 1104 阅读 · 0 评论 -
bzoj 3295: [Cqoi2011]动态逆序对 (CDQ分治+树状数组)
题目描述传送门题目大意:对于序列A,它的逆序对数定义为满足i题解代码#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 100003#define LL long long using namespace std;struct data{原创 2017-03-24 17:48:14 · 389 阅读 · 0 评论 -
bzoj 2683: 简单题 (CDQ分治+树状数组)
题目描述传送门题目大意 题解CDQ分治,把询问拆成x1-1,和x2两种操作。 每次将区间中的操作按照横坐标排序,然后二分,加入[l,mid]中的操作,[mid+1,r]中的询问统计[y1,y2]之间的和。代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#defi原创 2017-03-24 17:02:49 · 352 阅读 · 0 评论 -
bzoj 2674: Attack (整体二分+树状数组套线段树)
题目描述传送门题目大意: 有N座城市和N个太守,N个城市可以看作在二维平面上的N个点。 N座城市的标号为0,1,2,……,N-1。 第i座城市的坐标为(Xi,Yi),镇守这座城市的太守的能力值为Zi。 chnlich每次会选择一个边平行于坐标轴的矩形区域,并奇袭其中太守能力值第K小的城市(奇袭结束之后城市与太守依然存在)。 不过,他的敌人经常会偷偷交换两座城市的太守,防原创 2017-03-30 17:42:04 · 588 阅读 · 0 评论 -
bzoj 2738: 矩阵乘法 (整体二分+二维树状数组)
2738: 矩阵乘法Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1334 Solved: 579[Submit][Status][Discuss]Description 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数。Input 第一行两个数N,Q,表示矩原创 2017-01-12 11:17:46 · 380 阅读 · 0 评论 -
bzoj 2527: [Poi2011]Meteors (树状数组+整体二分)
2527: [Poi2011]MeteorsTime Limit: 60 Sec Memory Limit: 128 MBSubmit: 1218 Solved: 455[Submit][Status][Discuss]DescriptionByteotian Interstellar Union (BIU) has recently discovered a ne原创 2017-01-12 10:24:11 · 422 阅读 · 0 评论 -
bzoj 2716: [Violet 3]天使玩偶(cdq分治)
2716: [Violet 3]天使玩偶Time Limit: 80 Sec Memory Limit: 128 MBSubmit: 1231 Solved: 541[Submit][Status][Discuss]DescriptionInputOutputSample Input100 10081 2327 1原创 2016-09-10 19:54:45 · 5449 阅读 · 0 评论 -
bzoj 1492: [NOI2007]货币兑换Cash (dp+cdq分治)
1492: [NOI2007]货币兑换CashTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 3801 Solved: 1602[Submit][Status][Discuss]Description小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券)。每个持有金原创 2016-09-09 21:07:41 · 1289 阅读 · 1 评论 -
bzoj 3110: [Zjoi2013]K大数查询(树套树,整体二分)
3110: [Zjoi2013]K大数查询Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 4020 Solved: 1547[Submit][Status][Discuss]Description有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2原创 2016-04-28 10:56:04 · 1037 阅读 · 1 评论 -
bzoj 3262: 陌上花开(cdq分治)
3262: 陌上花开Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1431 Solved: 644[Submit][Status][Discuss]Description有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A原创 2016-09-08 19:26:48 · 454 阅读 · 0 评论 -
bzoj 4538: [Hnoi2016]网络 (整体二分+树状数组)
题目描述传送门题解这道题比较好想的思路是树链剖分+线段树套堆。 加入一条路径,其实就是用它的权值更新所有不是路径上的点,因为一条路径最多对应dfs序中的logn个区间,那么剩下的区间也是logn级别的,所以可以利用线段树的区间修改。 因为还有删除最大值的操作,所以我们对于线段树的每个区间开一个大根堆记录区间中所有的值。区间修改可持久化一下,这样每次最多加入logn个值,所有空间是mlogn的.原创 2017-06-27 20:08:27 · 523 阅读 · 0 评论