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
NOI2005
BZOJ1502:[
NOI2005
]月下柠檬树——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=1502https://www.luogu.org/problemnew/show/P4207李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理。李哲是一个喜爱思考的孩子,当他看到在月光的照射下柠檬树投
weixin_34260991
·
2023-10-29 06:21
php
BZOJ-1499: [
NOI2005
]瑰丽华尔兹(DP+单调队列优化)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1499可以很容易的写出DP方程f[t][i][j]=max(f[t-1][i][j],f[t-1][last(i)][last(j)]+1),但是这个DP的总复杂度是O(nmT),会TLE,所以不用时间来划分状态,而是使用时段来划分状态,h表示第h个时间段,那么f[h][i][j]=max(f[
AmadeusChan
·
2023-06-07 19:50
[
NOI2005
] 聪聪与可可
NOI2005
聪聪与可可~~机器猫の传送门~~期望DP+记搜聪聪一直在向可可方向追,所以不会回到原处,不具有后效性,考虑用概率与期望DP+记忆化搜索求解用dp[x][y]表示可可在x点,聪聪在y点时步数的期望值判断边界
Sito_Ask
·
2022-09-11 08:00
[luogu2042] [
NOI2005
]维护数列
前言写写比较麻烦的这题题目相关题目大意写一个大数据结构数据范围20000题目链接前置先过模板题,比如会个非旋treap,写一下,通过[luogu3369][模板]普通平衡树possibleversion#include#include#include#include#include#include#definergregisternamespacefast_IO{constintIN_LEN=10
zhouyuheng2003
·
2020-09-13 20:58
OI
平衡树
BZOJ1415: [
Noi2005
]聪聪和可可
题目描述在一个魔法森林里,住着一只聪明的小猫聪聪和一只可爱的小老鼠可可。虽然灰姑娘非常喜欢她们俩,但是,聪聪终究是一只猫,而可可终究是一只老鼠,同样不变的是,聪聪成天想着要吃掉可可。一天,聪聪意外得到了一台非常有用的机器,据说是叫GPS,对可可能准确的定位。有了这台机器,聪聪要吃可可就易如反掌了。于是,聪聪准备马上出发,去找可可。而可怜的可可还不知道大难即将临头,仍在森林里无忧无虑的玩耍。小兔子乖
Unstoppable728
·
2020-09-12 21:36
[BZOJ1499][
NOI2005
][DP+优化]瑰丽华尔兹
[ProblemDescription]你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐。但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的名字叫丹尼•布德曼•T.D.•柠檬•1900,朋友们都叫他1900。1900在20世纪的第一年出生在往返于欧美的邮轮弗吉尼亚号上,很不幸他刚出生就被抛弃了,成了孤儿。190
gaotianyu1350
·
2020-09-12 09:12
题解
[bzoj1500][
NOI2005
]维修数列
终于写过了,在这里庆祝一下。在开始前先推荐一篇论文运用伸展树解决数列维护问题,jzp大神写的关于splay树区间操作的方法。这题很考验代码的细节能力。(大神可以忽略下面弱菜的一些弱弱心得了)首先是初始化,初始化中的两个节点的初值应要因题而异,在本题中因为要求一个节点的max值,故两个节点的初值不能随便赋值,而应把初值赋为-INF,否则会导致结果错误。(在几千的数据里差错真心纠结....)之后GET
tragedies
·
2020-09-12 06:33
OnlineJudge
bzoj
splay
数据结构
BZOJ 1500 [
NOI2005
]维修数列 FHQ Treap
终于A了这题。。。这题还是很好。。。但是我太菜。。。重构了三遍qwqFHQTreap大法好!qwq。。。~~Ins:直接拿输入造一棵树,把原来的树split成[1,pos],[pos+1,n],然后merge三棵树;Del:把要删的区间split出来,merge他两边的树,记着要回收内存;Mk-Same:把要改的区间split出来,打上标记,更新这棵树根的信息(见cover(x,v)),再merg
diaohan2969
·
2020-08-25 11:32
[
NOI2005
]维护数列 解题报告
①学会了维护最大连续子序列,跟最长全0连续子序列其实差不多;我一开始做麻烦了(用了前缀和。。)。一些需要注意的细节:②插入新节点的时候要注意维护其儿子节点的父指针;③pushdown的位置不是随便放的,它应该放在对该节点进行询问之前。④覆盖标记应该设为无穷,而不是0;因为0也可能是需要覆盖的。⑤翻转标记应该使用^=标记,而不是=。#includeusingnamespacestd;#include
TA201314
·
2020-08-25 11:14
平衡树
[BZOJ1500][
NOI2005
]维护数列(无旋Treap)
1500:[
NOI2005
]维修数列TimeLimit:10SecMemoryLimit:64MBSubmit:16199Solved:5391Description请写一个程序,要求维护一个数列,支持以下
Effervescence
·
2020-08-25 11:31
无旋Treap
[BZOJ1501/
NOI2005
]智慧珠游戏
Input文件中包含初始的盘件描述,一共有10行,第i行有i个字符。如果第i行的第j个字符是字母”A”至”L”中的一个,则表示第i行第j列的格子上已经放了零件,零件的编号为对应的字母。如果第i行的第j个字符是”.”,则表示第i行第j列的格子上没有放零件。输入保证预放的零件已摆放在盘件中。Output如果能找到解,向输出文件打印10行,为放完全部12个零件后的布局。其中,第i行应包含i个字符,第i行
weixin_34000916
·
2020-08-25 05:46
【BZOJ1501】【
NOI2005
】智慧珠游戏(搜索)
[BZOJ1501][
NOI2005
]智慧珠游戏(搜索)题面我要一改我懒惰的作风这道题目必须放题面DescriptionInput文件中包含初始的盘件描述,一共有10行,第i行有i个字符。
小蒟蒻yyb
·
2020-08-25 03:34
BZOJ
NOI
搜索
BZOJ1500 [
NOI2005
]维修数列(Splay)
题意不多说。这大概算是splay的终极题目了吧,和poj3580差不多。插入:把左端点前一个节点和右端点后一个节点旋转到根和根的右儿子,然后像建树那样构造右儿子的左子树。删除:同上的旋转方式。删掉根节点的右儿子的左子树。虽然同时存在的节点不超过500000个,但是不停的插入删除会使节点编号x变得非常大,造成RE;因此需要内存回收,开一个栈来保存删掉的所有节点编号。修改:同上的旋转方式。在右儿子左子
SaltyFishWei
·
2020-08-24 21:53
splay
算法
BZOJ-1500: [
NOI2005
]维修数列 题解(Splay 维护序列 )
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1500第一次遇到这么恶心的数据结构,最开始的时候建树没有平衡建树,结果各种TLE,最大的点跑到了10s,左右,用了堆式建树速度一下子就剩下1s以内了。(建树方法:每次取出序列中中间的数建立节点,然后序列左边部分作为其左子树,右边作为其右子树,然后递归建树)(BZOJ的内存卡的挺紧的,所以要用个队
AmadeusChan
·
2020-08-24 14:12
NOI2005
维护数列
在线评测地址:洛谷,大视野题目描述1500:[
NOI2005
]维修数列TimeLimit:10SecMemoryLimit:64MBDescriptionInput输入的第1行包含两个数N和M(M≤20000
I_AM_HelloWord
·
2020-08-21 20:33
bsoj 2246 【
NOI2005
】维护数列(splay解法)
【
NOI2005
】维护数列TimeLimit:20000MSMemoryLimit:200000KTotalSubmit:274Accepted:90DescriptionInputOutputSampleInputSampleOutputHintSourcexinyue
Pira
·
2020-08-20 23:11
splay伸展树
[
Noi2005
]聪聪和可可
[
Noi2005
]聪聪和可可TimeLimit:10000MSMemoryLimit:65536KTotalSubmit:21Accepted:14DescriptionInput数据的第1行为两个整数
Fate_O
·
2020-08-10 01:54
ACM->DP
BZOJ1500: [
NOI2005
]维修数列
妈呀,写的我心态崩了,注意以下几点:1.标记下放时应该立即更新子节点,才能pushup更新当前结点(此时实际上在当前结点的标记已经使用过了)。2.最好类似线段树的建树方法,否则容易RE。3.写个回收。4.我这splay写的是菜出狗屎了,在rotate里面pushdown,妈呀,就是因为没注意第一点,而且常数贼大,虽然可以过。5.其他就是加两个结点0,n+1,好处理就行了。#define_CRT_S
aill0030
·
2020-07-04 10:22
大视野在线测评 1500 [
NOI2005
]维修数列(splay)
题目链接1500:[
NOI2005
]维修数列TimeLimit:10SecMemoryLimit:64MBSubmit:8379Solved:2521[Submit][Status][Discuss]DescriptionInput
madaidao
·
2020-07-02 11:44
数据结构
ACM
数据结构
平衡树
BZOJ-1415: [
Noi2005
]聪聪和可可(最短路+动态规划)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1415最短路预处理,然后DP求解即可。代码:#include#include#include#include#includeusingnamespacestd;#defineAddEdge(s,t)e[s].pb(t),e[t].pb(s)#definemaxn1010#definepbpush
AmadeusChan
·
2020-02-11 16:07
单调队列优化DP || [
NOI2005
]瑰丽华尔兹 || BZOJ 1499 || Luogu P2254
题外话:题目极好,做题体验极差题面:[
NOI2005
]瑰丽华尔兹题解:F[t][i][j]表示第t时刻钢琴位于(i,j)时的最大路程F[t][i][j]=max(F[t-1][i][j],F[t-1][
AlenaNuna
·
2019-09-22 20:00
[
NOI2005
]维护数列
就放一个Splay平衡树板子……感觉总算理解一点了……破题调了两天多,最后是用第一天第一遍写的代码改了维护一个变量的方法,然后就A了……咱写的Splay有一点缺陷,就是每个叶子节点下面还挂着两个不产生贡献的空节点;不过对渐进复杂度都没什么影响,而且可以防止莫名的RE。#include#include#include#include#include#include#includeusingnames
南條キミツ
·
2019-07-24 10:00
HNOI2011 XOR和路径 高斯消元+期望
这道题和
NOI2005
聪聪与可可很像,只不过…聪聪与可可那题猫一定会抓住老鼠,而这题有环,那么就不能用记忆化搜索了,因为每个点的状态都可以互相更新。
DyingShu
·
2018-11-02 21:42
期望
高斯消元
NOI2005
聪聪与可可 期望DP+记忆化搜索
传送门一道期望DP。设dp[i][j]dp[i][j]dp[i][j]为i到j的期望距离,则有dp[i][j]=(dp[s[s[i][j]][j]][v]+1)/(size[j]+1)+1dp[i][j]=(dp[s[s[i][j]][j]][v]+1)/(size[j]+1)+1dp[i][j]=(dp[s[s[i][j]][j]][v]+1)/(size[j]+1)+1,其中size表示该点的
DyingShu
·
2018-10-11 19:06
DP/递推
期望
记忆化搜索
1502: [
NOI2005
]月下柠檬树
题目链接题目大意:有一个由圆锥和圆台组成的柠檬树,在月亮发出的平行光下,可以形成一个影子,求这个影子的面积题解:自适应辛普森积分……我的收获:2333#include#include#include#include#includeusingnamespacestd;constdoubleeps=1e-5;structcircle{doublex,y;doubler;}a[10001];struct
Mmh2000
·
2018-03-28 20:11
1501-1750
[BZOJ1500][
NOI2005
]维修数列(平衡树)
题目:我是超链接题解:md这题调的我哭出来,最后发现是all数组del的时候没清零Orz反正是平衡树的基本操作吧因为害怕转着转着出现奇怪的错误,我们把1和n+2当做空节点,权值为-INF,但是sum,maxx都是0,避免影响结果,注意这里0节点也要处理一下,因为我们用ch[now][0/1]的时候节点也是0,容易GGInsert:只需把pos点splay到根,pos+1splay到根的右儿子,因为
wwyx2001
·
2018-03-15 15:17
平衡树
1502: [
NOI2005
]月下柠檬树
1502:[
NOI2005
]月下柠檬树TimeLimit:5SecMemoryLimit:64MBSubmit:1077Solved:600[Submit][Status][Discuss]DescriptionInput
CRZbulabula
·
2017-02-23 13:04
计算几何
辛普森积分
【
NOI2005
】维护数列
Description请写一个程序,要求维护一个数列,支持以下6种操作:(请注意,格式栏中的下划线‘_’表示实际输入文件中的空格)1.插入INSERT_posi_tot_c1_c2_…_ctot在当前数列的第posi个数字后插入tot个数字:c1,c2,…,ctot;若在数列首插入,则posi为02.删除DELETE_posi_tot从当前数列的第posi个数字开始连续删除tot个数字3.修改MA
Facico
·
2016-06-28 18:28
noi
splay
【
NOI2005
】维护数列
Description请写一个程序,要求维护一个数列,支持以下6种操作:(请注意,格式栏中的下划线‘_’表示实际输入文件中的空格)1.插入INSERT_posi_tot_c1_c2_…_ctot在当前数列的第posi个数字后插入tot个数字:c1,c2,…,ctot;若在数列首插入,则posi为02.删除DELETE_posi_tot从当前数列的第posi个数字开始连续删除tot个数字3.修改MA
doyouseeman
·
2016-06-28 18:00
splay
伸展树
NOI
NOI2005
维护数列
bzoj1415【
NOI2005
】聪聪和可可
1415:[
Noi2005
]聪聪和可可TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 1271 Solved: 748[Submit][Status][Discuss
AaronGZK
·
2016-05-22 00:00
bzoj
概率DP
[
NOI2005
] [BZOJ1500] 维修数列 - splay
前段日子一直在看LCTQWQ。照着板子A了魔法森林但是感觉还是不是太明白,神犇告诉我说应该先把splay学好然后码了几天找了N处错误才A了这题 splay大模板题啊。虽然程序跑得不很快,但是总算AC了qwq。注释里面有一些提示,就是我错的地方qwq,提醒大家注意哈。 #include"algorithm" #include"iostream" #include"stdlib.h" #in
whzzt
·
2016-04-24 22:00
BZOJ1500
NOI2005
维修数列 平衡树
传说中的平衡树模板题,虐杀无数(包括我在内的)平衡树蒟蒻。这题我敲了三次,最后一次敲了五遍左右……怒刷评测机整一页,妈妈再也不用担心我不会敲平衡树了00.本人用Splay+fhqTreap:Splay看重普适性强——什么标记都能打,Treap看重可持久化。动态空间真心耗时,但是代码真心优美……我对我的代码风格还是比较满意的(至少不太凌乱)Splay#include #include #includ
WDZRMPCBIT
·
2016-04-22 22:00
[Simpson积分] BZOJ 1502 [
NOI2005
]月下柠檬树
%%% PoPoQQQ :http://blog.csdn.net/popoqqq/article/details/39252719题目大意:给定一棵由圆台和圆锥构成的柠檬树,月光以α的夹角平行射向地面,求阴影部分面积求公切线#include #include #include #include #definePIacos(-1.0) #defineEPS(1e-6) usingnamespace
PoPoQQQ
·
2016-04-16 13:00
BZOJ1502: [
NOI2005
]月下柠檬树
自适应辛普森积分总体思想就是先用一个二次函数拟合曲线然后利用二次函数积分来计算然后就一直细分下去直到左右两块分开积分与整块积分的误差小于eps就可以了#include #include #include #include #include #include usingnamespacestd; const intMAXN=550; const doubleeps=1e-6; intn; struc
liutian429073576
·
2016-04-14 18:00
NOI2005
: 聪聪和可可
传送门:/* bzoj:1415 Noi:2005聪聪和可可 Solution:概率好像还是挺头疼的。 但是大多数算期望都是用dp来算的。 不会算期望只是证明你dp不好,而不是你概率不好,说白了就是自己不会。 设f[x][y]表示x->y的期望步数,p[x][y]为x->y的最短路中的标号最小的序号。 显然猫走两步老鼠走一步,DAG。 f[x][y]={[\sigmadfs(p[p[x][y]][
zxn0803
·
2016-04-11 14:00
[置顶] treaplay 的原理及其运用
先从二叉排序树引入,从二叉排序树的退化引出平衡树,分析了treap和splay各自的优缺点,treaplay思路产生与形成过程,以
noi2005
维护数列为例说明treapla
baidu_34122416
·
2016-04-10 21:00
数据结构
平衡树
BZOJ 1500[
NOI2005
] 维修数列
Description解题思路:输入的第1行包含两个数N和M(M≤20000),N表示初始时数列中数的个数,M表示要进行的操作数目。第2行包含N个数字,描述初始时的数列。以下M行,每行一条命令,格式参见问题描述中的表格。任何时刻数列中最多含有500000个数,数列中任何一个数字均在[-1000,1000]内。插入的数字总数不超过4000000个,输入文件大小不超过20MBytes。Output对于
Time_major
·
2016-03-30 07:00
splay
区间操作
BZOJ 1415: [
Noi2005
]聪聪和可可
数学期望水题预处理一下再记忆化搜索#include #include #include #include usingnamespacestd; constintN=1000+5; constintinf=1e9; structEdge{intto,next;}e[Nq;q.push(s);d[s][s]=0; while(!q.empty()){ intu=q.front();q.pop(); f
nlj1999
·
2016-03-25 08:00
[BZOJ4196][
NOI2005
]软件包管理器(链剖+dfs序)
题目描述传送门题解链剖练习题,思路很好想。刚开始的时候出了个小bug,让我现在十分怀疑自己写数据结构的一次成功率。代码#include#include#includeusingnamespacestd;constintmax_n=1e5+5;constintmax_e=max_n*2;constintmax_tree=max_n*5;intn,q,x,N,ans;chars[20];inttot,
Clove_unique
·
2016-03-22 17:35
题解
NOI
线段树
树链剖分
dfs序
[BZOJ4196][
NOI2005
]软件包管理器(链剖+dfs序)
题目描述传送门题解链剖练习题,思路很好想。刚开始的时候出了个小bug,让我现在十分怀疑自己写数据结构的一次成功率。代码#include #include #include usingnamespacestd; constintmax_n=1e5+5; constintmax_e=max_n*2; constintmax_tree=max_n*5; intn,q,x,N,ans; chars[2
Clove_unique
·
2016-03-22 17:00
dfs序
bzoj
链剖
NOI2005
1500: [
NOI2005
]维修数列
1500:[
NOI2005
]维修数列TimeLimit: 10Sec MemoryLimit: 64MBSubmit: 10809 Solved: 3367[Submit][Status][Discuss
CRZbulabula
·
2016-03-21 14:00
【BZOJ1500】[
NOI2005
]维修数列【Splay】
http://www.lydsy.com/JudgeOnline/problem.php?id=1500这神题终于过了...主要是:find()那里少写了一个pushdown()。辣鸡回收写跪了。似乎不用pushdown(root).../*FootprintsInTheBloodSoakedSnow*/#include#includeusingnamespacestd;constintmaxn=
BraketBN
·
2016-03-16 14:03
Splay
【BZOJ1500】[
NOI2005
]维修数列【Splay】
http://www.lydsy.com/JudgeOnline/problem.php?id=1500这神题终于过了...主要是:find()那里少写了一个pushdown()。辣鸡回收写跪了。似乎不用pushdown(root).../*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; constin
BraketBN
·
2016-03-16 14:00
[Splay]
NOI2005
维修数列
BZOJ1500不想说有多心酸#include #include #include #include usingnamespacestd; typedeflonglongll; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,stdin);if(p1
u014609452
·
2016-03-13 19:00
1500: [
NOI2005
]维修数列
查错ing.....扔个随机数#include #include #include #include #include #include #include #include usingnamespacestd; constintmaxn=4E6+2E4+10; constintp=1001; classdata{ private: structNode{ Node*ch[2]; intsiz,
CRZbulabula
·
2016-03-13 13:00
bzoj 1499: [
NOI2005
]瑰丽华尔兹
其实这是个论文题我会乱说?我大概是我见过的最简单的NOI题了吧然而并没有用论文里的的方法(虽然是黑科技但是好麻烦啊)这个东西嘛,很明显每次转移都是区域化的。然后单调队列维护乱搞一下代码写得好丑QAQ没治了#include #include #include usingnamespacestd; constintinf=1e9; intf[2][205][205],up[205][205][4];
nlj1999
·
2016-03-11 21:00
noi2005
维护数列 splay
用splay来维护数列的一道很好的模版练习题有些要注意的地方:不用指针来实现splay的话要注意内存回收,不然就会无限RE+TLE凡是有对序列进行修改的操作都要up一下reverse的时候要注意交换左起最大连续和跟右起最大连续和代码:#include #include #include #include #include #include #include #include #include #i
the301stdoub
·
2016-03-09 13:00
bzoj1500 维修数列 splay
1500:[
NOI2005
]维修数列TimeLimit: 10Sec MemoryLimit: 64MBSubmit: 10482 Solved: 3234[Submit][Status][Discuss
__560
·
2016-02-22 18:00
bzoj1500 [
NOI2005
]维修数列解题报告
Bzoj1500:[
NOI2005
]维修数列解题报告题目原文TimeLimit:10Sec MemoryLimit:64MBSubmit:10429 Solved:3218[Submit][Status
FSAHFGSADHSAKNDAS
·
2016-02-17 14:00
[bzoj1499] [
NOI2005
]瑰丽华尔兹
单调队列优化。。。f[k][i][j]表示k个时间段过后,走到点(i,j)时,最多已走过了多少个格子。因为每个时间段内的方向都是一样的,所以用单调队列优化一下就好了。。。这题其实就是个多重背包。。一段时间段的长度就是背包容量,而点(i,j)往某个方向最多能走多少格就是物品的数目,物品价值都为1.。所以抛开四种方向不说,这题好像比多重背包还简单点?一开始写了一坨预处理出每个点往各个方向最大扩展长度,
czllgzmzl
·
2016-02-13 11:00
上一页
1
2
3
下一页
按字母分类:
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
其他