自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

140142

ww(笑)

  • 博客(14)
  • 收藏
  • 关注

原创 poj-1947 Rebuilding Roads

题意:给出一颗树,剪去一些边将它变成一个含有m个结点的树;求减去的最小边数;1题解:显然是树形dp,考虑状态要包括当前结点信息和子树大小;就设状态f[ x ][ j ]为在以x为根的子树上,取包括x的j个点,所需要剪掉的边数;对于x的子结点y,深搜回溯之后的转移为:f[ x ][ j ]=min(f[ x ][ j-k ]+f[ y ][ k ]); 

2015-05-31 19:10:22 674

原创 hdu-2242 空调教室

题意:给出一个结点带权的无向联通图;删除其中一条边,使原图分成两个图,并是两个图总权值差最小;求这个最小值;    (无解输出"impossible")n题解:首先考虑无解的情况,就是所有点之间都有两条以上道路可达,无论删去什么都并不能改变连通性;这就是一个双联通的图,即在双联通的部分删边是不行的;那么倘若我们跑tarjan缩点,将图变成一颗树;然后

2015-05-30 20:32:30 860

原创 hdu-2196 Computer

题意:给出一颗树,求所有点离树上点的最大距离;n<=10000题解:因为一棵树是没有环的,所以对于某个点,其答案可能在其子树中,或者向上走到父结点,再由父结点找到最长路;这两者是不会有交叉的;所以维护子树到当前结点的最长路ma[x],和向上到父节点找到的最长路fa[x];fa[x]=ma[]+val

2015-05-28 20:53:16 526

原创 poj-3237 Tree

题意:给出一颗边上有权的树和三种操作;QUERY x y:查询x节点到y节点上的最大权值;CHANGE x y:将编号为x的边权值改为y;NEGATE x y:将节点x与节点y之间的路上所有边的权值取相反数数;节点数n题解:显然是树链剖分的算法,但是这里的权值在边上不太方便;所以就将边的权赋在这条边所连的较深点上(就是儿子节点啦);根节点的值没有意义;

2015-05-27 21:27:51 862

原创 bzoj-3110 K大数查询

题意:给出一段长为n的区间和m个操作;1是向[l , r]区间中每个点加入一个权值为k (k2是查询[l , r]区间中的第k大数;注意1操作是加入而不是加上,就是说此题是在n个盒子里放小球的意思;题解:此题自己并yy不动,所以想法都是各位神犇的;/*自己想的是外层线段树维护区间,内层treap维护排名;然而只能做到单点的修改,区间修改暴力搞势必不行;打

2015-05-26 20:55:28 890

原创 bzoj-2141 排队

题意:给出一段长为n的数列,求其逆序对数;然后给出m个操作,每次操作给出l,r;交换l,r并输出操作之后的逆序对数;n题解:求逆序对本来是一个很简单的事情,然而动态修改就不能用树状数组直接搞了;因为树状数组求逆序对是不支持区分某个数在它前面还是后面的;所以考虑求在它之前小于它的数的个数,用线段树维护区间,套treap维护排名;在求排名的过程中顺便记录一个

2015-05-26 09:27:23 1343

原创 poj-2778 DNA Sequence

题意:给出n个AGCT组成的字符串和一个数m;求AGCT能组成的长度为m的串的个数;n题解:构造一个满足题意的长度为x的串之前,我们要先构筑出一个长度为x-1的串;显然倘若要让x的符合题意,x-1的必符合题意;那么既然串的前半部分都已经符合题意了,我们只需要考虑x-1那个串的后缀;就是说那个后缀再加上一个字符之后,能否满足题意;而当构造x+1的串时,x的

2015-05-21 22:13:24 759

原创 bzoj-2150 部落战争

题意:在一个m*n的01矩阵中,1表示可以走而0表示不能走;每个部队可以走r*c的方格,并且只能向下而并不能向上;每个1点能且只能让一个部队经过并占领,部队可以从任意1点开始;求多少个部队可以占领全部1点;n,m题解:考虑每个1点都是可以从自身出发或者从上面的点到达;而又只能去下面的另一个点,因此所有路径是不可能出现环的;那么我们把一个点拆成两个,一个作为起点,

2015-05-20 11:27:34 1230

原创 poj-3041 Asteroids

题意:给出一个01矩阵,求选择多少行或列,能将矩阵中的1全部覆盖;矩阵大小为n*n,有m个1存在;n题解:对于矩阵中的每一个1来说,选择行还是选择列都可以,并且只需要选择一个就可以了;如果我们把每个行和每个列抽象成一个点,就可以得到2n个点  (废话;对于每一个1的坐标(x , y),将x与y连一条边,用这条边来表示这个点;显然行与行,列与列之间不会连边,那

2015-05-19 18:53:24 648

原创 tyvj1467 通向聚会的道路

题意:给定一个有向图;其中有些边为仅有走过点数为 奇数 时才能通行;其中有些边为仅有走过点数为 偶数 时才能通行;求几个点到第n号点的路径最小值;n题解:正着搜在极限数据下必然是超时的,所以显然可以反向建图;那么这大概就是一个单源最短路的问题;主要难点就是对于奇偶步数的判断以及维护;可以考虑将一个点拆成两个,分别表示奇偶;奇数为x,偶数为x+

2015-05-17 21:30:30 748

原创 bzoj-1503 郁闷的出纳员

题意:给出n个操作和最低值min;I:增加一个新的权值为k的节点;A:将全部节点权值加k;S:将全部节点权值减k;F:查询当前第k大的权值;无论何时若某权值小于min那么就要删除该点;输出询问的结果以及总共删去的多少节点;题解:查询第k大值的问题,用平衡树来维护此题;思路大概像线段树一样,用一个延迟标记来防止不需要的更新;(以上思路纯属yy,时间

2015-05-16 22:12:20 707

原创 bzoj-2330 糖果

题意:给出n个未知数以及m个等式或不等式;未知数均为正整数范围内;求它们的最小和;题解:显然是一道差分拘束的躶题,所以我们就先来说说差分拘束;所谓差分拘束就是给出一些形如  xi-yi 求出某两项的最大差(反之同理);我们观察这个不等式,如果我们令x,y分别表示求最短路中f数组的值;也就是某个源点到x,y的最短路;显然由最短路的定义可知,x必然是要小

2015-05-07 23:26:39 846

原创 bzoj-1227 虔诚的墓主人

题意:在一个nxm的矩形里给出一些w个点,这些是常青树的坐标;求所有空地上下左右能组成的长度为k的十字架的总数;1题解:这道题思路很简单,就是代码不太好写;首先如果是上下左右都没有树的点是必然没有虔诚度的,所以我们可以肆无忌惮的离散化一下;然后对于一块墓地,它的答案就是C ( l , k ) *C ( r , k ) *C ( u , k ) *C ( d ,

2015-05-05 19:15:28 1715

原创 bzoj-1878 HH的项链

题意:给定长为n的序列与m个询问;求询问的区间里不相同数字的个数;n题解:在线算法太过高深并不会,所以这道题就要离线做;分析数据范围,m个询问完全可以存下,1000000的数字也可以hash勉强不用离散化;那么考虑一段区间的数字种类数,大概就是 1 - R 减去 1 - ( L - 1 ) ;但是因为有重复的数字,对于重复了的数,我们只应该在L-R间计算

2015-05-03 20:32:51 784

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除