E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ZJOI2007
BZOJ1096 [
ZJOI2007
]仓库建设——斜率优化
方程:$\Largef(i)=min(f(j)+\sum\limits_{k=j+1}^{i}(x_i-x_k)*p_k)+c_i$显然这样的方程复杂度为$O(n^3)$极限爆炸,所以我们要换一个方程设$S(i)=\sum\limits_{k=1}^i(x_n-x_k)*p_k$且$A(i)=\sum\limits_{k=1}^ip_k$则$S(i)-S(j)=\sum\limits_{k=j+1
Bennettz
·
2018-05-25 08:00
【洛谷】[
ZJOI2007
]时态同步-树形DP
传送门:洛谷-[
ZJOI2007
]时态同步题意小Q在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号。
ccosi
·
2018-03-27 23:07
树形DP
[BZOJ1095]-[
ZJOI2007
]Hide 捉迷藏-点分树
说在前面刚刚得知me居然可以去冬眠,开心!!!本来今天要写很多很多的点分树的…然而上午去陪替罪羊玩,下午又被指针调戏…(只要订了计划就一定完不成系列)题目BZOJ1095传送门题目大意给出一个N个点的无根树,节点有黑或白两种颜色,初始时节点全是黑色,现在有以下两个操作:1.G:询问树上最远的黑色点对的距离,如果只有一个黑点则输出0,没有黑点则输出-12.Cx:将点x的颜色取反输入输出格式输入格式:
泉華子
·
2018-01-09 21:09
点分树/边分树
bzoj1095: [
ZJOI2007
]Hide 捉迷藏(动态点分治)
题目大意:给出一棵树,初始每个节点为黑色。C操作改变一个节点的颜色。A操作询问树上最远的两个黑色节点的距离。这道题我也是学了好久。解法:我用到的是动态点分治,当然大牛们打LCT也是可以的(万能的LCT!!)先普及一下树的重心(相信很多人都知道)相对于上面这棵树,用f[i]表示删除i之后剩下的最大的子树的节点数(第一次听可能有点懵逼)拿节点4来说,将4删除后剩下三棵子树。(1,2,3)(5)(6,7
Hanks_o
·
2017-08-26 18:53
ST表
动态树
BZOJ1095 [
ZJOI2007
]Hide 捉迷藏
DescriptionJiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子。某天,Jiajia、Wind和孩子们决定在家里玩捉迷藏游戏。他们的家很大且构造很奇特,由N个屋子和N-1条双向走廊组成,这N-1条走廊的分布使得任意两个屋子都互相可达。游戏是这样进行的,孩子们负责躲藏,Jiajia负责找,而Wind负责操纵这N个屋子的灯。在起初的时候,所有的灯都没有被打开。每一次,孩子们只会躲藏在没
Aqua_blue
·
2017-07-16 18:46
bzoj
挖个坑的图论题
图论[POI2008]BLO☆(A)[Poi2012]Festival☆☆☆☆[Poi2011]ProgrammingContest☆☆☆[HNOI2012]矿场搭建☆☆☆(A)[
ZJOI2007
]矩阵游戏
kamisamaxmd
·
2017-06-07 18:41
题表
bzoj 1095: [
ZJOI2007
]Hide 捉迷藏 (动态点分治)
题目描述传送门题目大意:给出一棵树,树上的每个点有黑白两种状态,求树上最远两个黑点的距离。会改变点的状态。题解这道题如果不会改变点的状态,那么就是一道点分治的裸题。因为点的状态会动态的改变,所以就引进了一种新的算法——动态点分治。首先回顾一下点分治的过程,点分治其实就是每次找到重心,然后处理与重心有关的路径。时间复杂度的之所以能够保证是因为如果按照每次找出的重心建树,那么树高不会超过logn,那么
clover_hxy
·
2017-04-20 17:34
点分治
STL
zjoi2007
捉迷藏(感谢huanghongxun)
直接贴代码,解释都在注释里#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;structheap{priority_queueh,d;voidadd(intx){h.push(x);return;}voiddel(intx){d.push
Friedrich_Taylor
·
2017-03-28 21:17
OI
分治纲
ZJOI2007
矩阵游戏
题目描述小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意两列,交换这两列(即交换对应格子的颜色)游戏的目标,即通过若干次操作,使得方阵的主对角线(左上角到右下角的连线)上的
[lemon]
·
2016-11-15 06:00
[BZOJ1059][
ZJOI2007
]矩阵游戏(二分图匹配)
题目描述传送门题解想这道题的时候尝试建了很多种图,但没有一种是科学的。实际上这道题有一个非常巧妙的转化:由于是要把矩形的主对角线填满,那么问题可以转化为是否存在n个黑格子,它们的行和列都互不相同。那么这就是一个非常裸的二分图最大匹配了。对于每一个格子从它的行向列连边,求最大匹配就可以了。代码#include#include#includeusingnamespacestd;#defineN205i
Clove_unique
·
2016-11-10 21:43
题解
二分图
[BZOJ1057][
ZJOI2007
]棋盘制作(悬线法)
题目描述传送门题解设h(i,j)表示以(i,j)为下端点的悬线的最长长度,l(i,j)和r(i,j)分别表示使悬线有此长度的左边最近的限制和右边最近的限制。预处理L(i,j)R(i,j)分别表示点(i,j)能扩展到的最近的不合法点。如果(i,j)与(i-1,j)颜色相同,那么h(i,j)=1,l(i,j)=L(i,j),r(i,j)=R(i,,j);如果(i,j)与(i-1,j)颜色不相同,那么h
Clove_unique
·
2016-11-07 22:28
题解
悬线法
[BZOJ1057][
ZJOI2007
]棋盘制作(悬线法)
题目描述传送门题解设h(i,j)表示以(i,j)为下端点的悬线的最长长度,l(i,j)和r(i,j)分别表示使悬线有此长度的左边最近的限制和右边最近的限制。预处理L(i,j)R(i,j)分别表示点(i,j)能扩展到的最近的不合法点。如果(i,j)与(i-1,j)颜色相同,那么h(i,j)=1,l(i,j)=L(i,j),r(i,j)=R(i,,j);如果(i,j)与(i-1,j)颜色不相同,那么h
Clove_unique
·
2016-11-07 22:28
题解
悬线法
bzoj 1057: 棋盘制作(悬线法)
1057:[
ZJOI2007
]棋盘制作TimeLimit:20SecMemoryLimit:162MBSubmit:2311Solved:1146[Submit][Status][Discuss]Description
Jaihk662
·
2016-08-10 23:01
技巧
bzoj1096【
ZJOI2007
】仓库建设
1096:[
ZJOI2007
]仓库建设TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 3659 Solved: 1602[Submit][Status][Discuss
AaronGZK
·
2016-05-19 00:00
斜率优化
bzoj
bzoj 1060: [
ZJOI2007
]时态同步(树形DP)
1060:[
ZJOI2007
]时态同步TimeLimit:10SecMemoryLimit:162MBSubmit:2100Solved:594[Submit][Status][Discuss]Description
clover_hxy
·
2016-05-04 21:12
动态规划
bzoj 1060: [
ZJOI2007
]时态同步(树形DP)
1060:[
ZJOI2007
]时态同步TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2100 Solved: 594[Submit][Status][Discuss
clover_hxy
·
2016-05-04 21:00
【BZOJ1093】[
ZJOI2007
]最大半连通子图【SCC】【DAG】【DP】
【题目链接】先SCC缩点,在DAG上跑最长路,顺便统计出到达每个点的最长路的路径个数。/*Pigonometry*/ #include #include #include #include #include usingnamespacestd; typedefpairpii; constintmaxn=100005,maxm=1000005,maxs=100005,maxq=maxs; i
BraketBN
·
2016-04-29 10:00
[BZOJ1060][
ZJOI2007
]时态同步(树形dp)
题目描述传送门题解f[i]表示点i到其所在子树的叶子节点的最远距离,那么显然f[i]-f[son[i]]-c[i]表示这条边应该延迟的时间。所以答案即为∑fi−fsoni−ci代码#include#include#includeusingnamespacestd;#defineLLlonglongconstintmax_n=5e5+5;constintmax_e=max_n*2;intn,s,x,
Clove_unique
·
2016-04-27 23:49
题解
dp
省选
[BZOJ1060][
ZJOI2007
]时态同步(树形dp)
题目描述传送门题解f[i]表示点i到其所在子树的叶子节点的最远距离,那么显然f[i]-f[son[i]]-c[i]表示这条边应该延迟的时间。所以答案即为∑fi−fsoni−ci代码#include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=5e5+5; constintmax_e=max_n*2; in
Clove_unique
·
2016-04-27 23:00
dp
bzoj
ZJOI
bzoj 1096: [
ZJOI2007
]仓库建设
1096:[
ZJOI2007
]仓库建设TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 3607 Solved: 1582[Submit][Status][Discuss
clover_hxy
·
2016-04-26 14:00
[BZOJ1096][
ZJOI2007
]仓库建设(斜率优化dp)
题目描述传送门题解分别预处理出点i到n的距离、权值和、费用和,然后后缀和乱搞。具体看代码吧。代码#include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=1e6+5; intn,head,tail,q[max_n]; LLX[max_n],P[max_n],C[max_n],d[max_n],c[ma
Clove_unique
·
2016-04-25 18:00
dp
bzoj
ZJOI
【bzoj 1057】[
ZJOI2007
] 棋盘制作
1057:[
ZJOI2007
]棋盘制作TimeLimit:20SecMemoryLimit:162MBSubmit:2175Solved:1088[Submit][Status][Discuss]Description
reverie_mjp
·
2016-04-22 20:00
bzoj
省选
最大子矩形
【BZOJ1095】[
ZJOI2007
]Hide 捉迷藏【动态树分治】
【题目链接】学习了一发可删堆。找重心那里忘了写!del[g[i].v],RE无数发。/*Pigonometry*/ #include #include #include #include usingnamespacestd; constintmaxn=100005,maxm=maxnA,B; voidupdate(){ for(;B.size()&&A.top()==B.top();A.po
BraketBN
·
2016-04-20 23:00
BZOJ 1059 矩阵游戏 二分图最大匹配
1059:[
ZJOI2007
]矩阵游戏TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 3418 Solved: 1646[Submit][Status][Discuss
a2459956664
·
2016-04-14 13:00
BZOJ1095 [
ZJOI2007
]捉迷藏 动态点分治
每次修改一个点的黑白状态,询问树上最远黑点距离拿这个题做动态点分治模板题:(%%%PoPoQQQ大爷)点分治的过程是对树块找重心之后分成多个小树块,降低规模分别处理的过程,把链的信息收到其中“最高重心”上,从所有的重心处像分治中的不同子树索取到重心的链,就可以覆盖所有链的信息。动态点分治就像把序列分治变成线段树一样,在分治的架子上加了信息维护,实现树链信息维护与查询。需要什么?每个重心需要其每个分
liuguangzhe1999
·
2016-04-11 19:00
动态点分治
[BZOJ1059] [
ZJOI2007
] 矩阵游戏 - 二分图匹配
1059:[
ZJOI2007
]矩阵游戏TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 3385 Solved: 1637[Submit][Status][Discuss
whzzt
·
2016-04-09 19:00
bzoj 1060(贪心+树形DP)
1060:[
ZJOI2007
]时态同步TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2042 Solved: 560[Submit][Status][Discuss
M_AXSSI
·
2016-03-29 20:00
【BZOJ1060】[
ZJOI2007
]时态同步【TreeDp】
http://www.lydsy.com/JudgeOnline/problemset.php注意到时间只能增加。设dp[x]表示以x为根的子树中,到叶节点路径长度的最大值。那么dp[x]=max{dp[v]+w}。答案为∑dp[x]-(dp[v]+w)。/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd;
BraketBN
·
2016-03-20 19:00
dp
BZOJ1057: [
ZJOI2007
]棋盘制作
悬线法DP根据前者推的最远处开始算可以证明是n*m的#include #include #include usingnamespacestd; charc; boolflag; inlinevoidread(int&a) { a=0;doc=getchar();while(c!='-'&&(c'9')); if(c=='-')c=getchar(),flag=true; while(c='0')a
liutian429073576
·
2016-03-15 14:00
[悬线法] BZOJ1057 [
ZJOI2007
]棋盘制作
当年是怎么把这道悬线法SB题漏掉没刷的总之悬线法,刚好在省选前复习下一开始愣是没看出来诶太弱#include #include #include usingnamespacestd; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,stdin);if
u014609452
·
2016-03-15 11:00
【bzoj1096】[
ZJOI2007
]仓库建设 斜率优化DP
DescriptionL公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于地形的不同,在不同工厂建立仓库的费用可能是不同的。第i个工厂目前已有成品Pi
LOI_DQS
·
2016-03-14 19:00
【BZOJ1096】[
ZJOI2007
]仓库建设【斜率优化】
斜率优化咯。一开始不知道怎么O(1)转移,看了别人blog才发现可以这么玩。/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; typedeflonglongLL; constintmaxn=1000005,maxq=maxn; intn,q[maxq]; LLdp[maxn],sum[maxn],
BraketBN
·
2016-03-04 20:00
斜率优化
bzoj1059 [
ZJOI2007
]矩阵游戏
题目链接裸的二分图匹配(为什么我要做这种水题?我太弱了QAQ)1#include 2#include 3#include 4#include 5#include 6#include 7#include 8#include 9#include 10#include 11#include 12#include 13#definerre(i,r,l)for(inti=(r);i>
HugeGun
·
2016-03-04 20:00
BZOJ1095: [
ZJOI2007
]Hide 捉迷藏
Evan课件上讲了括号序列。。。发现很厉害的样子想了一个晚上才搞出来线段树维护就好了岛娘:http://www.shuizilong.com/house/archives/bzoj-1095-zjoi2007hide-%E6%8D%89%E8%BF%B7%E8%97%8F/#include #include #include #include #include usingnamespacestd;
liutian429073576
·
2016-02-28 09:00
bzoj1095: [
ZJOI2007
]Hide 捉迷藏
题目链接bzoj1095题意Description捉迷藏Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子。某天,Jiajia、Wind和孩子们决定在家里玩捉迷藏游戏。他们的家很大且构造很奇特,由N个屋子和N-1条双向走廊组成,这N-1条走廊的分布使得任意两个屋子都互相可达。游戏是这样进行的,孩子们负责躲藏,Jiajia负责找,而Wind负责操纵这N个屋子的灯。在起初的时候,所有的灯都没有
zmh964685331
·
2016-02-27 21:00
【BZOJ1059】[
ZJOI2007
]矩阵游戏【二分图匹配】
题意:给出一个01矩阵,可以交换任意行,交换任意列。问是否可以把这个矩阵的对角线都变为1。http://www.cnblogs.com/jianglangcaijin/p/3799615.html说的挺详细的。#include usingnamespacestd; constintmaxn=405,maxm=40005; intn,head[maxn],cnt,from[maxn],vis[
BraketBN
·
2016-02-26 17:00
二分图匹配
1058: [
ZJOI2007
]报表统计 set+map+priority_queue
对于全局差值,用一个set来维护,用priority_queue来维护最小值。用两个数组记录每个位置的起点和终点的值,对于相邻差值,用map来维护是否出现过,用set来维护最小值。#include #include #include #include #include #include #defineinf1000000007 usingnamespacestd; intn,m; intst[50
Phenix_2015
·
2016-02-23 09:00
1057: [
ZJOI2007
]棋盘制作
1057:[
ZJOI2007
]棋盘制作TimeLimit: 20Sec MemoryLimit: 162MBSubmit: 1984 Solved: 1003[Submit][Status][Discuss
CRZbulabula
·
2016-02-12 20:00
1096: [
ZJOI2007
]仓库建设
1096:[
ZJOI2007
]仓库建设TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 3333 Solved: 1430[Submit][Status][Discuss
CRZbulabula
·
2016-02-11 11:00
bzoj1093【
ZJOI2007
】最大半连通子图
1093:[
ZJOI2007
]最大半连通子图TimeLimit: 30Sec MemoryLimit: 162MBSubmit: 2368 Solved: 926[Submit][Status][Discuss
AaronGZK
·
2016-02-08 21:00
dp
拓扑排序
Tarjan
bzoj
BZOJ1095: [
ZJOI2007
]Hide 捉迷藏
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1095括号序列。。orz岛娘http://www.shuizilong.com/house/archives/bzoj-1095-zjoi2007hide-%E6%8D%89%E8%BF%B7%E8%97%8F/#include #include #include #include #d
ctlchild
·
2016-01-31 01:00
BZOJ1095: [
ZJOI2007
]Hide 捉迷藏
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1095括号序列。。orz岛娘http://www.shuizilong.com/house/archives/bzoj-1095-zjoi2007hide-%E6%8D%89%E8%BF%B7%E8%97%8F/#include #include #include #include #d
ctlchild
·
2016-01-31 01:00
【BZOJ 1095】 [
ZJOI2007
]Hide 捉迷藏
神犇们的一眼码农题我做了2.5天!!!!!!!!!!!!!!!!!!!!!!!!!!不想写题解了但网上的没有几个能看有留言的话就在写!不少题解用LCA求距离然而我TLE+MLE于是用一种奇怪的方法vector来记录距离再加上奇怪的卡内存姿势终于过掉了!/************************************************************** Problem:10
sxb_201
·
2016-01-21 19:00
【BZOJ 1095】 [
ZJOI2007
]Hide 捉迷藏 括号序列
太神了!!!!这种方法看来不适合我这种蒟蒻!!下午还是老老实实用分治把!!#include #include #include #defineINF1000000000 usingnamespacestd; structH { intans; intC2,C5; intL25,R25; intL5,R2; }seg_num[1000000*4+1]; intinit[1000000+1]; int
sxb_201
·
2016-01-18 11:00
BZOJ 1093: [
ZJOI2007
]最大半连通子图|tarjan|动态规划
题意中两个半子图不同是指有点不同好奇怪的一句话啊就是子图中包含的点不同,不管边怎样然后就是tarjandp注意不要连重边窝用的是map判重#include #include #include #include #include #include #include #include #include #include #defineT100100 usingnamespacestd; intsc()
ws_yzy
·
2016-01-14 19:00
动态规划
Tarjan
1093: [
ZJOI2007
]最大半连通子图 tarjan+拓扑最长链
首先一个强连通分量一定是一个半联通子图,所以我们可以先tarjan缩一下环。然后在得到的图中跑最长链即可。注意重边,用的map还是不慢的。。#include #include #include #defineN100005 usingnamespacestd; inthead[N],head0[N],dfn[N],low[N],belong[N],num[N],ind[N],f[N],g[N],q
Phenix_2015
·
2016-01-07 14:00
1095: [
ZJOI2007
]Hide 捉迷藏
发现动态树分治还是挺好玩的。。。。。。。然而效率有点拙计跑了14S多,差点以为要TLE,回头一看发现时限40S。模板抄的PoPoQQQ大爷的,顺便看了下漆神的论文,各种吓Cry。准备水下QTREE4,听说SPOJ的机子很慢,好虚啊。#include #include #include #include usingnamespacestd; constintN=100000+5; structHea
nlj1999
·
2015-12-30 13:00
1095: [
ZJOI2007
]Hide 捉迷藏
太神辣太神辣太神辣炒鸡线段树神题膜岛娘OrzOrzOrz题解#include #include #include #definelco>1; build(lc,l,m);build(rc,m+1,r); pushup(o); } voidupdate(into,intp){ intl=tr[o].l,r=tr[o].r; if(l==r){ if(!tr[o].lp){ black--; tr[o
nlj1999
·
2015-12-24 15:00
1093: [
ZJOI2007
]最大半连通子图
无事闲来水一水Tarjan,结果水挂了。。。。。。先Tarjan缩点。第一问是DAG上的最长路径(点权)第二问是最长路径的方案数。都是DP。然而第二问坑了。。。。。。因为没判重边(很明显重新建图的时候会出现重边啊)毕竟还是弱啊。#include #include #include #include usingnamespacestd; constintN=100000+5; constintM=1
nlj1999
·
2015-12-23 10:00
1057: [
ZJOI2007
]棋盘制作
醉了。。。。。。。。题目说一个答案占一行,结果我两个答案输出到同一行了TAT。WA了三次竟然没发现,蠢哭了。极大化思想的运用。悬垂线法。#include #include #include usingnamespacestd; inlineintread(){ charch;intx=0; while(ch'9')ch=getchar(); while(ch>='0'&&ch=1;j--){ if
nlj1999
·
2015-12-20 11:00
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他