摘要: bzoj1787[Ahoi2008]Meet 紧急集合 bzoj1832[AHOI2008]聚会 题意: 给个树,每次给三个点,求与这三个点距离最小的点。 题解: 倍增求出两两之间的LCA后,比较容易理解的做法是挑出两个LCA再做一次LCA,比较所有挑法。但画kan出ti图jie可知其中有两个LCA 阅读全文
posted @ 2016-07-20 19:45 YuanZiming 阅读(218) 评论(0) 推荐(0) 编辑
摘要: bzoj1293[SCOI2009]生日礼物 题意: 数轴上N个点,分为K种。可以有多个点出现在同一个位置上。需要一个最短区间使里面有K种点,求这个区间长度。N≤1000000 题解: 先排序,然后用两个指针分别指向区间两个端点,每次l指针往左移并更新答案直到区间里没有K种点,再把r指针向右移直到区 阅读全文
posted @ 2016-07-20 19:27 YuanZiming 阅读(226) 评论(0) 推荐(0) 编辑
摘要: bzoj1221[HNOI2001]软件开发 题意: n天,每天需要ai条消毒毛巾,这种消毒毛巾使用一天后必须再做消毒处理后才能使用。消毒方式有两种,A种方式的消毒需要a天时间,一条费用fA,B种方式的消毒需要b天,一条费用fB,买一块新毛巾的费用为f(新毛巾是已消毒的,当天可以使用),求最小费用。 阅读全文
posted @ 2016-07-20 19:23 YuanZiming 阅读(304) 评论(0) 推荐(0) 编辑
摘要: bzoj1295[SCOI2009]最长距离 题意: N*M块地,如果两块地都没有障碍物,则互相可达。如果两块地互相可达(可经过其他地)则它们之间的距离为它们中心点的欧几里得距离,求如果能移走不大于T个障碍物,土地间的最大距离。N,M≤30 题解: 把经过一个障碍物视为边长度为1,求出每两个点之间要 阅读全文
posted @ 2016-07-20 19:19 YuanZiming 阅读(184) 评论(0) 推荐(0) 编辑
摘要: bzoj1218[HNOI2003]激光炸弹 题意: 坐标系上有n个目标,每个目标有一个价值,现在求一个边与坐标轴平行,边长为R的正方形,使在其内部(原题是不包括边界,然而实际上不是这样)的目标价值最大。 题解: 预处理一下以横纵坐标为节点的二维前缀和,然后枚举正方形右上角坐标即可。注意可以将坐标系 阅读全文
posted @ 2016-07-20 19:12 YuanZiming 阅读(379) 评论(0) 推荐(0) 编辑
摘要: bzoj1196[HNOI2006]公路修建问题 题意: 修n-1条公路将n个点连通,每个点可建一级公路也可建二级公路,要求一级公路必须有k条,要求花费最多的公路花费最少。 题解: 首先二分最大花费,接着判定:先在不产生环的前提下(用并查集维护)让每条路尽量修一级公路,如果最后无法构成树则考虑修二级 阅读全文
posted @ 2016-07-20 19:07 YuanZiming 阅读(619) 评论(0) 推荐(0) 编辑
摘要: bzoj1588[HNOI2002]营业额统计 题意: n天,每天得到一个值,要求输出每一天和这天得到的值相差最小的之前天得到的值与这个值的差的和。n不知道,不过O(nlog2n)可写。 题解: 说是平衡树模板题,不过可以用set水过去。先在set插入一个-INF和INF防溢出(yyl大爷教我的)每 阅读全文
posted @ 2016-07-20 18:57 YuanZiming 阅读(175) 评论(0) 推荐(0) 编辑
摘要: bzoj2039[2009国家集训队]employ人员雇佣 题意: 有N个经理,Ei,j表示i经理对j经理的了解程度,当经理i和经理j同时被雇佣时,利润增加Ei,j*2。同时,雇佣每一个经理都需要花费一定的金钱Ai。没有被雇佣的人会被竞争对手所雇佣,使得所赚得的利润减少Ei,j(意思是经理i和j如果 阅读全文
posted @ 2016-07-20 18:51 YuanZiming 阅读(519) 评论(0) 推荐(0) 编辑
摘要: bzoj3874[Ahoi2014]宅男计划 题意: n种食物,每种有价钱和保质期。每次叫外卖要F元,可以购买任意多份食物。共有m元,问一共能过多少天使得每天都能吃到一份不过期的食物。n≤200,其他都≤1018 题解: 先排序+单调队列去掉那些价钱贵保质期反而短的外卖,剩下的队列按保质期从短到长排 阅读全文
posted @ 2016-07-19 22:51 YuanZiming 阅读(578) 评论(0) 推荐(0) 编辑
摘要: bzoj2282[Sdoi2011]消防 题意: 在树上找一条路径,使得端点到这条路径的距离最大值最小。 题解: 一个坑,就是这个路径可以不包含任意一条边,只包含一个节点。因此可以证明这条路径在树的直径上,把树的直径上的所有边存入一个序列,对直径上每个点求其它不在路径上的点与它的最大距离mxd,然后 阅读全文
posted @ 2016-07-15 22:24 YuanZiming 阅读(403) 评论(0) 推荐(0) 编辑