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
hnoi
[BZOJ4539][
Hnoi
2016]树(倍增+LCA+主席树)
======这里放传送门======题解这题某天学长出过胡策。。第一眼拿到题,woc,这不就是个裸倍增?第二眼,woc,节点数最大到1e10,这是要死的节奏。。。这题写起来真·麻烦死人。。基本思路是每次把复制的模板树的那个子树缩成一个点,初始的那一整个模板树也缩成一个点,那么大树上最多只会有m+1个点。然后每次查询的时候就可以先定位在模板树上的节点,再在大树上跑倍增,最后再定位到模板树上的具体节点
FromATP
·
2017-02-16 21:35
BZOJ
主席树算线段树吗
各种跟倍增有关的东西
4013: [
HNOI
2015]实验比较
4013:[
HNOI
2015]实验比较TimeLimit:5SecMemoryLimit:512MBSubmit:535Solved:268[Submit][Status][Discuss]Description
CRZbulabula
·
2017-02-14 21:43
dp
树
4009: [
HNOI
2015]接水果
4009:[
HNOI
2015]接水果TimeLimit:60SecMemoryLimit:512MBSubmit:623Solved:293[Submit][Status][Discuss]Description
CRZbulabula
·
2017-02-14 14:36
线段树
树状数组
CDQ
[BZOJ3144][
Hnoi
2013]切糕(最小割)
题目描述传送门题解很典型的最小割啊切糕的每一小块就是一个点,然后再在切糕的最上面一层建一层P*Q个虚拟的点s向最上面一层点连边,最下面一层点向t连边对于第一个限制,每一个点向它下面的那个点连边,容量为下面那个点的权值对于第二个限制,每一个点向它上面第d个点相邻的四个点连边,容量为inf,这样就保证了如果割的不是距离d以内的点,源点和汇点还是连通的,一定不是一种最小割的方案然后做最小割就行了代码#i
Clove_unique
·
2017-02-06 16:39
题解
省选
网络流
[BZOJ3143][
Hnoi
2013]游走(概率期望+高斯消元)
题目描述传送门题解感觉这种互相之间都有关系的题目就是列一坨式子然后用高斯消元搞一下…设到达点i的概率为f(i),点i的度为d(i),那么f(i)=∑(i,j)∈Ef(j)d(j)就是相当于其它的点走到这个点注意这里点n是不能计算的,因为n不会再往其它的点走这样的话得出了n-1个方程,高斯消元求出f(i)的值然后计算经过每一条边的概率,p(u,v)=f(u)d(u)+f(v)d(v)这里点n同样不能
Clove_unique
·
2017-02-06 16:50
题解
省选
概率期望
高斯消元
[BZOJ3142][
Hnoi
2013]数列(数学相关)
题目描述传送门题解题意就是给出n,k,m,p,求有多少长度为k的序列A,满足:首项为正整数;递增数列;相邻两项的差小于等于m;最大值小于等于n设a(i)=A(i+1)-A(i),我们只考虑a(i),显然a(i)所需要满足的条件就是ai≤m一个合法的a(i)序列对答案的贡献为n−∑i=1k−1ai合法的a(i)序列一共有mk−1个,那么ans=∑a1=1m∑a2=1m...∑ak−1=1m(n−a1
Clove_unique
·
2017-02-06 16:29
题解
数学相关
省选
BZOJ 1189([
HNOI
2007]紧急疏散evacuate-网络流二分+拆点)
发生了火警,所有人员需要紧急疏散!假设每个房间是一个NM的矩形区域。每个格子如果是’.’,那么表示这是一块空地;如果是’X’,那么表示这是一面墙,如果是’D’,那么表示这是一扇门,人们可以从这儿撤出房间。已知门一定在房间的边界上,并且边界上不会有空地。最初,每块空地上都有一个人,在疏散的时候,每一秒钟每个人都可以向上下左右四个方向移动一格,当然他也可以站着不动。疏散开始后,每块空地上就没有人数限制
nike0good
·
2017-01-31 11:55
网络流
bzoj 4013: [
HNOI
2015]实验比较 (树形DP+组合数学)
4013:[
HNOI
2015]实验比较TimeLimit:5SecMemoryLimit:512MBSubmit:511Solved:254[Submit][Status][Discuss]Description
clover_hxy
·
2017-01-24 15:52
动态规划
组合数学
BZOJ3143: [
Hnoi
2013]游走
要使得分的期望最小,需要求出每条边的期望经过次数,将这个从小到大排再赋编号m~1就能使得分期望最小要求出每条边的期望经过次数,我们要先得到每个点的期望经过次数,对于一条边x−>y,设x,y的度数为dx,dy,期望经过次数为fx,fy,那么边x−>y的期望经过次数为fxdx+fydy然后每个点的期望经过次数我们是可以求的,用高斯消元解个方程,注意因为1和n是出发结束点,所以f[1]除了相邻点的贡献还
L_0_Forever_LF
·
2017-01-20 21:27
BZOJ
高斯消元
期望
[BZOJ1485][
HNOI
2009]有趣的数列(卡特兰数+组合数学)
题目描述传送门题解答案是卡特兰数,因为…打表可知?但是实际上这道题可以抽象成一个卡特兰数的经典问题——出栈序列问题。也就是说,问题等价为1-n依次入栈有多少可能的出栈序列题目要求满足两个条件:奇数项和偶数项分别单增,并且每两个相邻的奇数项和偶数项满足奇数项小于偶数项可以把这个问题看做:将1-n填到2n个空格中,填到奇数项时必须满足上一个奇数项已经有数,这时相当于是一个元素入栈;填到偶数项时必须满足
Clove_unique
·
2017-01-18 19:24
题解
省选
组合数学
bzoj 1486: [
HNOI
2009]最小圈 (01分数规划+深搜版spfa)
1486:[
HNOI
2009]最小圈TimeLimit:10SecMemoryLimit:64MBSubmit:2224Solved:1046[Submit][Status][Discuss]DescriptionInputOutputSampleInput45125235315243413SampleOutput3.66666667HINTSource
clover_hxy
·
2017-01-16 16:45
图论
01分数规划
bzoj 3144 [
Hnoi
2013]切糕
最小割。题意简化一下就是:给一个矩阵,每个点给出一些带编号的选择,每个选择有权值,现在对于每个点做出一个选择,使得相邻点的选择的编号差小于等于d,并且使总权值最大。首先考虑没有编号差小于等于d的限制,将一个点拆成选择个点,对于一个点的所有选择点,连成一条链,权值反应在边上,首尾与S,T相连,这样求一个最小割就是答案。再考虑有了限制,某个点选了第i个选择,与它相邻的点就必须选在[i-d,i+d]中的
dugudashen
·
2017-01-12 09:00
bzoj 1185: [
HNOI
2007]最小矩形覆盖 (旋转卡壳)
1185:[
HNOI
2007]最小矩形覆盖TimeLimit:10SecMemoryLimit:162MBSecSpecialJudgeSubmit:1406Solved:633[Submit][Status
clover_hxy
·
2017-01-05 09:42
计算几何
[BZOJ1185][
HNOI
2007]最小矩形覆盖(凸包+旋转卡壳)
题目描述传送门题解首先先求一个凸包,矩形一定是把这个凸包覆盖掉猜想:最小矩形的某一边一定和凸包的某一边重合那么如何来证明呢?可以用反证法。假设最小矩形不过凸包上的任意一条边,那么凸包最多有4个顶点在矩形上,可分为3种情况1、凸包有2个顶点在矩形上假设旋转了外接矩形一个角度,使其与对角线a夹角为α,那么新的矩形(用虚线表示)面积S=a2sinαcosα=12a2sin2α,显然αb那么p∈[0,π4
Clove_unique
·
2017-01-04 23:51
题解
省选
计算几何
1185: [
HNOI
2007]最小矩形覆盖
1185:[
HNOI
2007]最小矩形覆盖TimeLimit:10SecMemoryLimit:162MBSecSpecialJudgeSubmit:1392Solved:627[Submit][Status
CRZbulabula
·
2016-12-29 21:04
凸包
旋转卡壳
[
Hnoi
2010]Bounce 弹飞绵羊 分块暴力
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
civinx
·
2016-12-28 21:31
暴力
分块暴力
4008: [
HNOI
2015]亚瑟王
4008:[
HNOI
2015]亚瑟王TimeLimit:20SecMemoryLimit:512MBSecSpecialJudgeSubmit:1001Solved:602[Submit][Status
CRZbulabula
·
2016-12-27 18:06
dp
[BZOJ1212][
HNOI
2004]L语言(AC自动机+dp)
题目描述传送门题解这道题我开始就想到了暴力,但是算一算时间复杂度是O(20∗10∗1M)≈2∗108这很显然不科学啊。。但是上网查了一下题解发现大家好像都是用的很暴力的方法,并且还有人说20*10*1M轻松过我也不知道是为什么1M不应该是10242嘛?dp的思路非常好想,就是f(i)表示前i个是不是合法的串,可以知道如果位置i减去任何一个后缀如果是合法的那f(i)一定是合法的,那么就建立AC自动机
Clove_unique
·
2016-12-24 23:59
题解
dp
省选
AC自动机
DBSCAN密度聚类算法
DBSCAN(Density-BasedSpatialClusteringofApplicationswit
hNoi
se,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-Means,BIRCH
刘建平Pinard
·
2016-12-22 16:00
Bzoj1189 [
HNOI
2007]紧急疏散evacuate
原文链接:http://www.cnblogs.com/SilverNebula/p/6189083.html1189:[
HNOI
2007]紧急疏散evacuateTimeLimit:10SecMemoryLimit
dezhen7015
·
2016-12-17 09:00
4539: [
Hnoi
2016]树
4539:[
Hnoi
2016]树TimeLimit:40SecMemoryLimit:256MBSubmit:479Solved:183[Submit][Status][Discuss]Description
CRZbulabula
·
2016-12-03 22:20
dfs
树
主席树
倍增
backup log is terminating abnormally because for write on file failed: 112(error not found)
yMaint.backupsbackuplog[gewem]todisk='M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN'wit
hnoI
nit
潇湘隐者
·
2016-11-24 11:00
【bzoj1011】[
HNOI
2008]遥远的行星
1011:[
HNOI
2008]遥远的行星TimeLimit:10SecMemoryLimit:162MBSecSpecialJudgeSubmit:3711Solved:1375[Submit][Status
chty_syq
·
2016-11-21 13:15
【bzoj1005】[
HNOI
2008]明明的烦恼
1005:[
HNOI
2008]明明的烦恼TimeLimit:1SecMemoryLimit:162MBSubmit:4175Solved:1660[Submit][Status][Discuss]Description
chty_syq
·
2016-11-21 13:57
斜率优化学习笔记
萌新们可以先写写[
hnoi
2008]玩具装箱,并不难。
MashiroSky
·
2016-10-28 23:00
BZOJ4010: [
HNOI
2015]菜肴制作 解题报告
拓扑排序因为题意要求是i尽量前的情况下i+1尽量前,所以按制作顺序取每次入度为0的最小的出来会错那么倒着想,如果从后往前制作,反向建图的话,每次取入度为0的编号最大的(窝不会证,但是想一想感觉是挺对的),最后把顺序倒着输出就可以了好坑的输出判定,PE了好多次code:#include#include#include#include#include#include#include#include#i
L_0_Forever_LF
·
2016-10-15 15:38
BZOJ
拓扑排序
BZOJ4009: [
HNOI
2015]接水果 解题报告
题目问两点间的路径上子路径权的第k小,一开始给出能做子路径的路径p[]和其权值有一篇介绍的很详细的题解http://www.cnblogs.com/mjy0724/p/4447813.html看了思路知道怎么做会打的下面我写的东西都可以不看了窝讲一下个人具体的做法(不会具体怎么做的可以看下)这道题整体二分就是二分一个路径的权值,将当前考虑的矩阵按是否在二分的范围内分类拿出来,像归并排序那样把这个区
L_0_Forever_LF
·
2016-10-15 10:02
BZOJ
整体二分
BZOJ4008: [
HNOI
2015]亚瑟王 解题报告
一种计算答案的方法,即每张牌的伤害×这张牌在整局游戏里被抽中的概率因为对于每张牌,会影响到他的概率的只有他前面的牌,他后面的牌是否抽中对他没有影响而一轮一轮过情况很复杂,不妨将r轮视为r个机会,将所有牌和所有机会一起考虑f[i][j]为前i张牌,用剩j次机会的概率可以得到一个方程:f[i][j]=f[i−1][j]×(1−p[i])j+f[i−1][j+1]×(1−(1−p[i])j+1)方程前面
L_0_Forever_LF
·
2016-10-14 13:31
BZOJ
DP
期望
BZOJ4537 [
HNOI
2016 ] 最小公倍数 (按轶合并带权并查集+分块离线)
太弱啦,看了题解才知道怎么做离线算法:对于单组询问x,y,a,b,我们可以将边权小于a的点全部加入带权并查集,然后判断x,y所在的并查集里面最大的权值是否为b。对于多组询问,我们采用分块离线的算法。将边权按a为第一关键字升序排序,每k个分一组,总共有m/k组。对于在这个分组之前的所有分组和当前分组内的边,按b为第一关键字升序排序,记录下在这个块内需要被统计的答案。对块内询问按b为第一关键字升序排序
HbFS-
·
2016-09-26 19:17
分块
[BZOJ1195] [
HNOI
2006]最短母串(状压dp)
题目描述传送门题解f[i][j]表示状态为j,最后一个子串是i的最短的字符串的长度。不过这里有一个问题,就是用来转移的所有字符串不能存在包含关系。也就是说,字符串只能存在部分相交或相离。这样的话才能保证每一次都是部分接在了前一个的最后一个字符串后面,从而保证了dp的无后效性。部分包含的循序是不要紧的,因为总会有从正确的顺序转移过来的。字典序的话就记一下转移的前驱然后暴力还原判断辣,中间转移和最后统
Clove_unique
·
2016-09-25 08:05
题解
dp
省选
bzoj 1195: [
HNOI
2006]最短母串 (状压dp)
1195:[
HNOI
2006]最短母串TimeLimit:10SecMemoryLimit:32MBSubmit:1212Solved:405[Submit][Status][Discuss]Description
clover_hxy
·
2016-09-24 19:33
动态规划
HNOI
2002营业额统计(伸展树)
1588:[
HNOI
2002]营业额统计TimeLimit:5SecMemoryLimit:162MBSubmit:13727Solved:5128[Submit][Status][Discuss]Description
christry_stool
·
2016-09-21 18:53
BZOJ 1190: [
HNOI
2007]梦幻岛宝珠
关于题意不多说了,根据a*2^b很明显发现可以根据b来进行DP然后分b层f[i][j]表示j*2^i下获得的最大价值关于后面的位先不理我们便可以进行01背包接着我们可以发现如果w的第i位为0 j为1的时候可能装不下,这时如果你想保存这个状态就需要在前一位-1,大概就是这个意思,自己好好想一想吧,毕竟这里没有口述和白板。膜拜PoPoQQQ ,参考抄袭了一下他的简洁代码其实不建议像我这样打,时间复杂度
PoPoQQQ
·
2016-09-11 20:00
BZOJ 1189 [
HNOI
2007]紧急疏散evacuate
二分+最大流。首先可以发现如果t时间可以全部撤离,那么所有大于t的时间都可以撤离,于是考虑二分。又发现其实一个人往一个门走,走的肯定是最短路,于是可以计算出每个人到每个门的最短路。每一个人看作一个流量,由源点向每个人连容量为1的边。将每个门拆点表示每个时间出去的人(对于一个门C可以拆成编号为C+1,C+2,C+3,C+4……都向汇点连容量1的边),最多拆400个。每个人向每个门的【C+最短路距离】
Endless_Way
·
2016-08-23 12:52
图论-最大流/最小割
其它-二分/三分
【bzoj1192】【
HNOI
2006】【鬼谷子的钱袋】
题目大意你有一些钱,你要分最少的组使你可以通过选取其中的一些组来支付所有小于等于你拥有钱的金额。解题思路假设你有n元钱,你可以将⌈n/2⌉的钱分一组,这样就变成里一个n/2的子问题,它能满足就一定可以与⌈n/2⌉配合满足原问题。code#include#include#include#include#include#defineLFdouble#defineLLlonglong#definefo(
inklutcuah
·
2016-08-18 08:33
bzoj
其他各种乱搞
【bzoj1207】【
HNOI
2004】【打鼹鼠】
题目大意某个时间会在某个坐标出现一只鼹鼠,求最多能打多少只。解题思路不用讲了,直接上暴力dp,f[i][j]打到第i只鼹鼠用了j时间最多能打多少只。code#include#include#include#include#include#defineLLlonglong#definefo(i,j,k)for(inti=j;i=k;i--)usingnamespacestd;intconstmaxm
inklutcuah
·
2016-08-17 22:17
动态规划
bzoj
【bzoj2002】【
Hnoi
2010】【Bounce】【弹飞绵羊】【分块】
题目大意有n个格,可以在i往后跳a[i]个格,修改a[i],询问i跳多少次跳出这n个格。解题思路这是一道lct模板题,显然a[i]就是i的father,修改就是割一条边连一条边,询问一个点的深度。然而我并不会lct,只会打暴力。我们可以分块,维护跳到下一个块的花费,修改暴力重构当前块的所有点跳到下一个块的花费,询问一个块一个块的跳,当一个块大小为n√时复杂度为O(nn√)code#include#
inklutcuah
·
2016-08-17 20:19
bzoj
数据结构
【bzoj1196】【
HNOI
2006】【公路修建问题】【并查集】
题目大意有一些可修路点对,可修一级或二级公路使图连通且最少有k条一级公路,使最大的公路费用最小。解题思路可以发现求最大值最小用二分答案,可以用并查集维护当前连通块,首先能建一级公路要先建(满足一级公路的限制),再建二级公路,再看看是否能是整个图连通,直到找到最优答案。code#include#include#include#include#include#defineLLlonglong#defi
inklutcuah
·
2016-08-17 20:55
bzoj
二分
三分
数据结构
[BZOJ4539][
Hnoi
2016]树(dfs序+主席树+lca)
题目描述传送门题解可以看出在原树上的每一次复制都是一棵完整的子树,用dfs序表示出来就是一段连续的区间。称原来给的大小为n的树为模板树,最后得到的树为答案树,把一次操作增加的节点看成一块,然后构成的树称为大树。我们就需要将模板树和答案树结合起来计算答案。答案树上两点的距离=两点分别走到所在块的根,在大树上走到两个块的lca,撤销进入块lca后两个点共同走过的路径。第一步的答案就是找到点到它所在块的
Clove_unique
·
2016-08-05 18:11
题解
lca
省选
可持久化
dfs序
bzoj 4539: [
Hnoi
2016]树(缩点+主席树+lca)
4539:[
Hnoi
2016]树TimeLimit:40SecMemoryLimit:256MBSubmit:442Solved:173[Submit][Status][Discuss]Description
clover_hxy
·
2016-08-04 19:51
倍增
LCA
主席树
[BZOJ1189][
HNOI
2007]紧急疏散evacuate(二分+网络流)
======这里放传送门======题解网络流的神建图。。把每个门拆成很多点分别对应每个时刻的情况,bfs出每个门到每个人的距离dis,S向每个人连边流量为1,如果某个人在时限之内能走到某个门,就把这个人连到那个门的对应到达时刻的那个点,流量为1。然后每个门的每一个时刻能够承受的等待时间是不一样的,如果这个门是i时刻的,时限为mid,那么这个门最多还可以承受mid-i+1个单位时间的等待,把这条边
FromATP
·
2016-07-24 22:23
复杂度很玄学的搜索
BZOJ
各种二分
看起来是网络流
数据结构与算法分析(三) —— 二叉查找树的实现
//BinarySearchTreeclass////CONSTRUCTION:wit
hnoi
nitializer////******************PUBLICOPERATIONS******
TangowL
·
2016-07-19 10:08
数据结构与算法分析
一些题目小结6.28
T1.1008:[
HNOI
2008]越狱监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。
zxn0803
·
2016-06-29 00:00
bzoj4541【
HNOI
2016】矿区
4541:[
Hnoi
2016]矿区TimeLimit: 30Sec MemoryLimit: 512MBSubmit: 282 Solved: 123[Submit][Status][Discuss
AaronGZK
·
2016-06-14 00:00
bzoj
平面图转对偶图
DFS树
bzoj4540【
HNOI
2016】序列
4540:[
Hnoi
2016]序列TimeLimit:20SecMemoryLimit:512MBSubmit:619Solved:302[Submit][Status][Discuss]Description
AaronPolaris
·
2016-06-13 00:40
好题
单调栈
前缀和
莫队算法
分块
OIer的狂欢
bzoj4540【
HNOI
2016】序列
4540:[
Hnoi
2016]序列TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 619 Solved: 302[Submit][Status][Discuss
AaronGZK
·
2016-06-13 00:00
单调栈
莫队算法
前缀和
bzoj
bzoj4539【
HNOI
2016】树
4539:[
Hnoi
2016]树TimeLimit:40SecMemoryLimit:256MBSubmit:415Solved:157[Submit][Status][Discuss]Description
AaronPolaris
·
2016-06-13 00:23
bzoj
可持久化线段树
树分块
线段树
好题
可持久化数据结构
分块
OIer的狂欢
bzoj4539【
HNOI
2016】树
4539:[
Hnoi
2016]树TimeLimit: 40Sec MemoryLimit: 256MBSubmit: 415 Solved: 157[Submit][Status][Discuss]
AaronGZK
·
2016-06-13 00:00
bzoj
可持久化线段树
树分块
bzoj4538【
HNOI
2016】网络
4538:[
Hnoi
2016]网络TimeLimit: 20Sec MemoryLimit: 128MBSubmit: 651 Solved: 300[Submit][Status][Discuss
AaronGZK
·
2016-06-11 23:00
线段树
树链剖分
bzoj
bzoj4537【
HNOI
2016】最小公倍数
4537:[
Hnoi
2016]最小公倍数TimeLimit:40SecMemoryLimit:512MBSubmit:563Solved:236[Submit][Status][Discuss]Description
AaronPolaris
·
2016-06-11 23:04
好题
分块
OIer的狂欢
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
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
其他