自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Heret1c

以梦为马 莫负韶华

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

原创 POJ3155:Hard Life

题目链接【题意】最大密度子图,并求方案。【分析】二分答案ans。 ans=sumE/sumV sumE-ans*sumV取最大值,若 >=0 就满足条件。 由于边和点有依赖关系,一条边依赖于两点,所以可转化为最大权闭合子图。 边为正权1,点为负权ans。判断(正权和-最小割)的正负。先吐槽:卡精度的题先S个M。刷了poj一页。最后XJB乱改乱搞莫名其妙才A了。【代码】#include <io

2017-01-22 23:36:56 268

原创 POJ2125:Destroying The Graph

题目链接【题意】给一张有向图,现在要选择一些点,删掉图中的所有边。具体操作为:选择点i,可 以选择删除从i 出发的所有有向边或者进入i 的所有有向边,分别有个代价ini 和 outi,求最小的代价删掉所有边。并输出删除方案。【分析】一条边不是被入点删掉,就是出点。就可以拆点构二分图,然后最小割。 方案? 考虑残量网络,从S做BFS,那么对于左侧被选中的点,就是level值为0,及由S连向它的

2017-01-22 23:23:20 309

原创 BZOJ2038: [2009国家集训队]小Z的袜子(hose)

题目链接Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。 你的任务便是告诉小Z,

2017-01-21 19:57:19 223

原创 BZOJ4196: [Noi2015]软件包管理器

题目链接安装了为1,未安装为0; Install操作:从该点到根,查询0的个数,并全部附为1; Uninstall操作:已该点为根的子树,查询1的个数,并全部附为0;(这么sb的题,做了我一个小时。犯了什么错误简直不想再说了。。)【代码】#include <iostream>#include <cstdio>#include <algorithm>#define N 100005 #de

2017-01-19 19:36:27 307

原创 BZOJ1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

题目链接离散化后后缀数组。若将模式串看为最长公共前缀,即是求原串中K个后缀的最长公共前缀。易知若要前缀最长,则K个串的首位置的rank值必定连续,即这k个串的首位置为sa[i]~sa[i+k-1] (i+k-1 < n)。所以即是求连续的K-1个height值中最小值的最大值。可以用单调队列维护。离散化从0开始的求height过程中要加判断。。超过原串长的部分不可算。。拍出来还调了半天。。【代码】#

2017-01-17 15:08:15 233

原创 BZOJ1031: [JSOI2007]字符加密Cipher

题目链接将原串复制一遍,后缀数组区间长度只枚举到n/2,即原串长,最后输出时枚举,若sa[i]小于n/2,输出s[sa[i]+n/2-1]。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmat

2017-01-17 09:57:27 183

原创 BZOJ1180: [CROATIAN2009]OTOCI

题目链接LCT裸题。【代码】 #include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#define N 30005#define INF 1e9using namespace std;typ

2017-01-12 18:24:59 273

原创 BZOJ2157: 旅游

题目链接树链剖分的模板题。拿来练一下LCT。。。 pushup中只有当k>n(当前点为边建成的点)时,才能用a[k]更新mx[k]和mn[k]。因为前n个点是没有点权的,统计时只统计边权最大值和最小值,可正可负,所以不能用该点更新。求和则没有影响。【代码】 #include <cstdio>#include <iostream>#include <queue>#include <vector

2017-01-12 18:11:08 303

原创 BZOJ3282: Tree

题目链接LCT裸题了。题目怎么说就怎么打。【代码】 #include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#define N 300005#define INF 1e9using namesp

2017-01-12 16:26:40 213

原创 BZOJ2594: [Wc2006]水管局长数据加强版

题目链接既然有边的删除操作。又询问路径最小值,就可以用LCT。 正着直接做的话,成环直接割掉环上最大边显然不可取。因为后面还有删除操作,当前删去的边可能会造成影响。(:废话吧。。但还是说一下比较好。。) 所以将边离线下来,删边反过来就是倒序加边。先将原图中,后面不会删除的边做最小生成树。然后倒序加边,成环删去环上最大边,LCT维护区间最大值的位置。果然是人丑自带常数大呢。。【代码】#inclu

2017-01-12 16:00:31 256

原创 BZOJ3669: [Noi2014]魔法森林

题目链接学习了一下黄学长的做法:http://hzwer.com/3845.html 边集按a值从小到大排序,依次加边,若构成环则删去环上最大边。 LCT维护的是点,由于是动态,所以不方便像树链剖分一样直接将边转到点上,一个很好用的技巧就是将边建新点,然后就好做了。只有边建成的点有权值,权值为b[i],LCT维护最大值的位置。当1和n连通时更新答案。(还是比较好实现的吧。。打完莫名其妙就胡对了)

2017-01-12 11:14:38 232

原创 BZOJ2631: tree

题目链接int会炸,long long 会T。。很好。。很好。 注意标记的下传。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N

2017-01-12 00:09:25 423

原创 BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊

题目链接LCT维护子树大小就可以了。 每个点i跳到的位置为min(x+i,n+1)。 改变的时候,先和原先的a[x]断开,将a[x]至为当前更改后可跳到的位置,并和x连接。(a[x]没更新。。蠢得没法)查询答案就是点x到n+1之间点的个数-1。因为最后跳到n+1后就没有了,很好想。【代码】#include <cstdio>#include <iostream>#include <queue>

2017-01-11 22:13:08 197

原创 BZOJ2049: [Sdoi2008]Cave 洞穴勘测

题目链接这才是真的。。LCT入门题把。。 Connect就是link操作,Destroy就是cut操作,Query就是查询是否在同一个树中。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cma

2017-01-11 21:34:16 220

原创 hdu4010:Query on The Trees

题意:  给出一颗树,有4种操作: 1、如果x和y不在同一棵树上则在xy连边 2、如果x和y在同一棵树上并且x!=y则把x换为树根并把y和y的父亲分离 3、如果x和y在同一棵树上则x到y的路径上所有的点权值+w 4、如果x和y在同一棵树上则输出x到y路径上的最大值第一道LCT(学了一整天啊。。太蠢了!) 推荐两份资料: 1.杨哲集训队作业《QTREE解法的一些研究》 2. l

2017-01-11 19:13:15 392

原创 BZOJ2588: Spoj 10628. Count on a tree

题目链接在树上建主席树+LCA,主席树中每一棵线段树维护的是当前点到根这一段区间。 我用的树链剖分求LCA,也可以用倍增。 (查询里带了七个参感觉很蠢。。)【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#inc

2017-01-10 18:28:09 269

原创 BZOJ1901: Zju2112 Dynamic Rankings

题目链接动态区间第K大。主席树套树状数组。 树状数组在外层维护区间,主席树不再保存前缀信息了,前缀信息由树状数组维护,主席树中,每一棵线段树i只维护区间[1,i]中每个值的个数。(太神了。。)【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#inclu

2017-01-10 15:54:04 310

原创 BZOJ3524: [Poi2014]Couriers/BZOJ2223: [Coci 2009]PATULJCI

题目链接若左右子树大小之差<=(r-l+1)/2,返回0。 否则在大的一边继续搜。 这题好像都不需要离散化。。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <

2017-01-10 11:05:19 350

原创 POJ2104:K-th Number

题目链接区间第K大。主席树的入门题。网上dalao们讲的挺清楚的,就不赘述啦、【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 1

2017-01-10 09:20:35 226

原创 BZOJ1984: 月下“毛景树”

题目链接区间加,区间修改,区间最大值。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 100005 #define M 500

2017-01-09 18:02:44 327

原创 BZOJ2243: [SDOI2011]染色

题目链接注意线段树的合并就好了。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 100005 #define M 5005#

2017-01-09 16:31:20 216

原创 BZOJ1036: [ZJOI2008]树的统计Count

题目链接单点修改,区间最大值,区间和。 树链剖分裸的不能再裸了。#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 30005 #def

2017-01-08 23:29:32 280

原创 POJ3237:Tree

题目链接树链剖分套线段树。很经典的题。再写还是没一遍A。。很羞耻。 (凭什么G++编译比C++快一倍还多。。)#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack

2017-01-08 22:57:34 229

原创 BZOJ1500: [NOI2005]维修数列

题目链接Splay终极模板。。注意细节。还是好不熟练哦。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 1000005 #de

2017-01-06 20:49:19 368

原创 BZOJ1208: [HNOI2004]宠物收养所

题目链接因为宠物和领养人不可能同时存在,所以只用建一颗平衡树就可以了,记录下当前树中是谁。然后就是找前驱后继,删点插入。(真的是坑爸爸,0是正整数!!?)【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#inclu

2017-01-06 11:06:29 245

原创 BZOJ1861: [Zjoi2006]Book 书架

题目链接1 2 3 :删除点,再插入到指定位置。 4 :求指定点排名 5 :求第k小注意编号和位置。。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stac

2017-01-05 23:23:37 287

原创 BZOJ3223: Tyvj 1729 文艺平衡树

题目链接区间翻转。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 100005 #define M 200005#defin

2017-01-05 22:11:25 347

原创 BZOJ1251: 序列终结者

题目链接1.区间加值 2.区间翻转 3.区间最大值【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 50005 #defin

2017-01-05 20:00:21 314

原创 BZOJ1503: [NOI2004]郁闷的出纳员

题目链接区间修改不好做,就记录每个员工工资变化量Delta,新加入时当前员工的工资若>=min,就加入新点,值为工资x-Delta。(立刻离开的都不算入最后的答案,坑爸爸!)【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstrin

2017-01-04 19:57:48 240

原创 BZOJ1588: [HNOI2002]营业额统计

题目链接平衡树插入和查询。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 50005#define M 200005#def

2017-01-04 18:24:52 268

原创 BZOJ1293: [SCOI2009]生日礼物

题目链接我用的二分+单调队列变式。。不会用堆,还写得丑,,跑到3000+ms。。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N

2017-01-04 10:39:52 267

原创 BZOJ1047: [HAOI2007]理想的正方形

题目链接先在每一行维护从该点向左k格的最小(大)值,两遍单调队列即可。记作mi[i][j]和mx[i][j]; 再在每一列,对于mi[i][j],维护该点向上k格的最小值,最大值同理。记为Min[i][j]和Max[i][j],就分别表示一i,j为右下角的边长为k的正方形的最小(大)值。枚举答案即可。(其实就是写四遍单调队列哦。。)【代码】#include <cstdio>#include <i

2017-01-04 09:40:23 235

原创 BZOJ1977: [BeiJing2010组队]次小生成树 Tree

题目链接严格次小生成树模板题。构建最小生成树后,枚举每一条非树边,找两顶点链间的最大边,若最大边和当前边边权向同,则找次大边,更新答案。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>

2017-01-03 11:16:23 260

原创 BZOJ2599: [IOI2011]Race

题目链接%%%http://hzwer.com/4286.html【代码】#include <iostream> #include <cstdio> #include <string> #include <cstring>#include <vector>#include <queue>#include <map>#include <stack>#include <algorith

2017-01-02 19:28:21 198

原创 BZOJ2152: 聪聪可可

题目链接【分析】问多少对点距离为3的倍数。点分治模板。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 20005#define

2017-01-02 15:49:52 220

原创 POJ1741

题目链接【分析】点分治。 考虑当前子树中,一条路径要么经过根节点,要么在一棵子树中,在子树中的可以递归处理,所以当前统计时需要减掉。 推荐看09年漆子超论文。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#in

2017-01-02 15:16:49 335

空空如也

空空如也

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

TA关注的人

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