BZOJ
文章平均质量分 52
The_useless
这个作者很懒,什么都没留下…
展开
-
BZOJ 3637: Query on a tree VI (树链剖分+树状数组)
BZOJ 3637: Query on a tree VI题意概述:给一棵n个结点的树,结点有黑白两色,一开始全为黑色. 对于q个操作,每个操作由两个整数op,u给出. 当op=0,将u点颜色反转. 当op=1,求与u点相连的点的个数(若两点及两点间路径上均为同色点,则两点相连,否则不相连),即求从u点往四周扩散的同色块大小.题目分析:(初学链剖,戳开了这个题,然后……d了一天的bug)在网上原创 2016-12-31 09:33:49 · 1527 阅读 · 0 评论 -
BZOJ 1176: [Balkan2007]Mokia (CDQ分治)
BZOJ 1176: [Balkan2007]Mokia题意概述:一个W∗WW*W的矩阵,每个格子的初始值为SS. 有两种操作: 1. 0 x y v 表示将(x,y)(x,y)点权值增加vv 2. 1 x1 y1 x2 y2 表示以(x1,y1)(x1,y1)为左上角,(x2,y2)(x2,y2)为右下角的子矩阵点权和题目分析:又来一道CDQ (๑•̀ㅂ•́)و✧对于询问子矩阵,将其转化成类原创 2017-02-15 21:58:11 · 660 阅读 · 0 评论 -
BZOJ 1096: [ZJOI2007]仓库建设(斜率优化)
BZOJ 1096: [ZJOI2007]仓库建设题目概述:有n个位置,对于每一个位置有两种选择,就地建仓库,代价为C,或者运到比它编号大的最近的仓库,代价为X*P,求最小代价.题目分析:1.先进行朴素算法的思考,很容易想到,对于当前i位置来说,可分为两部分,一部分是之前已经处理了的,一部分是全部运到i处的,如下: ans[i]=min{ans[j]+cost(j+1,i)+C[i]|1<=j<原创 2016-11-05 20:56:03 · 380 阅读 · 0 评论 -
BZOJ 1911: [Apio2010]特别行动队(斜率优化)
BZOJ 1911: [Apio2010]特别行动队题目概述:有n个士兵,其战斗力为x,某一段连续的士兵的修正战斗力为 题目分析:1.先思考一下朴素的DP, ans[i]表示到i点的最大修正战斗力,sum[i]表示从1到i的战斗力之和 O(n^2)的算法显然超时,开始式子推导,进行斜率优化.2.开始式子的推导: 假设当前i号的决策,存在j比k更优(j < k),则有原创 2016-11-05 17:26:18 · 345 阅读 · 0 评论 -
BZOJ 1010: [HNOI2008]玩具装箱toy(斜率优化)
BZOJ 1010: [HNOI2008]玩具装箱toy题意概述:给N个物品,长度为c,可将连续的一段物品分到一起,令x=j-i+sigma(c[k])(i<=k<=j),则花费代价为(x-L)^2 (L为常量),如何分组使其费用最小.题目分析:1.一开始可以思考一下朴素的DP,写出其转移方程,如下: ans[i]表示到i位置的最小费用,sum[i]表示1到i的长度和 令l原创 2016-11-05 11:19:41 · 352 阅读 · 0 评论 -
BZOJ 1597:[Usaco2008 Mar]土地购买(斜率优化)
BZOJ 1597:[Usaco2008 Mar]土地购买题意概述:n(1<=n<=5* 10^4)个矩形,多个矩形购买价格为其长宽(1*10^6)的最值乘积,求如何分组使得代价最小.题目分析:1.设矩形长宽为x,y;若有xi<=xj&&yi<=yj,那么i号矩形是无用的(可以被j号矩形包括,对答案无贡献),可以以xi< xj||(xi==xj&&yi< yj)排序.2.排序以后可以发现,剩下的矩形原创 2016-11-03 18:10:44 · 503 阅读 · 0 评论 -
BZOJ 1036: [ZJOI2008]树的统计Count (树链剖分+线段树)
BZOJ 1036: [ZJOI2008]树的统计Count题目概述:n个结点的树,点有点权.有三种操作:1.单点修改点权,区间询问和,区间询问最值.题目分析:先用树链剖分将树剖分成多条链,再用线段树维护.代码:#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int maxn=30000原创 2016-12-29 21:31:34 · 735 阅读 · 0 评论 -
BZOJ 2733: [HNOI2012]永无乡 (Treap+启发式合并)
BZOJ 2733: [HNOI2012]永无乡原创 2017-01-06 14:54:47 · 875 阅读 · 0 评论 -
BZOJ 3224 Tyvj 1728 普通平衡树 (Treap)
BZOJ 3224 Tyvj 1728 普通平衡树题目概述:给n个操作,有6种操作: 1.插入一个数 2.删除一个数(若该数有多个,那么只删除一个) 3.查询一个数的排名(若有多个,取最小) 4.查询一个排名对应数 5.查询一个数的前驱(小于该数的最大数) 6.查询一个数的后继(大于该数的最小数)题目分析:如题目,是一道平衡树的版题,可以选择使用Treap实现.注意可能会有相同的数出现,原创 2017-01-03 19:15:22 · 1035 阅读 · 0 评论 -
BZOJ 1208: [HNOI2004]宠物收养所 (Treap)
BZOJ 1208: [HNOI2004]宠物收养所题目概述:有一家宠物收养所,提供两种服务:收养主人遗弃的宠物和让新主人领养宠物. 宠物收养所中总是会有两种情况发生:遗弃宠物过多和领养宠物人过多. 1.遗弃宠物多时,若来一个领养人,领养最接近要求的宠物,若有多只,优先选择小的. 2.领养人多时,若来一只宠物,领养要求最接近的领养,若有多人,优先选择小的. 求领养的宠物的人的不满意度之和,不原创 2017-01-04 18:56:35 · 1041 阅读 · 0 评论 -
BZOJ 1588: [HNOI2002]营业额统计 (Treap/链表)
BZOJ 1588: [HNOI2002]营业额统计题目概述:依次给出n日的营业额,当日的营业额波动为和当日以前的营业额差值的绝对值,特别的,第一日的营业额波动为当日营业额,求n日的最小波动之和.题目分析:(刚学了Treap来练手……)解法一:既然是练习Treap,那就用Treap来做吧. 对于每一日,先求出它的前驱和后继,用与当前数相差小的更新答案. 注意处理没有前驱或者后继的情况.#incl原创 2017-01-04 15:14:12 · 1018 阅读 · 0 评论 -
BZOJ 3262: 陌上花开 (CDQ分治)
BZOJ3262: 陌上花开题意概述有N朵花,对于每一朵花,有三个属性:ss,cc,mm. 当且仅当si>sj,ci>cj,mi>mjs_i>s_j,c_i>c_j,m_i>m_j,有花i比花j美丽. 一朵花的评级为比其他花更美丽的数量(不包括自己),输出评级为0 N−10~N-1的花的数量.题目分析:初学CDQ分治,写了一下午.orz……这是一个三维偏序的问题,可以用CDQ来搞一搞. 当然此原创 2017-02-15 21:18:26 · 1252 阅读 · 0 评论