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
HNOI2004
BZOJ-1208: [
HNOI2004
]宠物收养所
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1208代码(STL):#include#includeusingnamespacestd;#defineinf0x7fffffffsetbst;intn,x,y,ans=0,st;intmain(){bst.insert(-inf),bst.insert(inf);cin>>n;while(n-
AmadeusChan
·
2023-12-15 14:28
[
HNOI2004
]宠物收养所
题目描述凡凡开了一间宠物收养场。收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养场的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养场总是会有两种情况发生:被遗弃的宠物过多或者是想
由希儿
·
2023-09-09 17:07
洛谷 P2286
HNOI2004
宠物收养场 解题报告
题目链接很模板的一道Treap,在基本的插入删除操作的前提下,只需支持寻找前驱和后继在寻找前驱后继时,记得要考虑边界情况(就是没有前驱或后继)#include#include#include#include#includeusingnamespacestd;constlonglongMaxn=1000000+10,inf=(1llk){ins(ls(x),k);if(p(ls(x))1){--c(
_Wolverine
·
2020-09-15 21:47
解题报告
#洛谷
平衡树
Treap
[bzoj1208] [
HNOI2004
]宠物收养所
本题考查的是数据结构,很基础的平衡树就可以解决,所以本题c++的同学可以用stl库开挂直接过的,而像我这种暂时不愿转c++的弱菜只好手写平衡树了。这题用splay做的话难度不是很大,一些基本的操作就可以解决问题,但是在写代码的时候还是得需要足够的细心和耐心。值得注意的是怎样判断当前树里记录的是宠物还是主人。不难发现,树里记录的不管是宠物还是主人操作都是一样的,所以可以开一个变量记录当前树里记录的类
tragedies
·
2020-09-12 06:33
OnlineJudge
bzoj
数据结构
splay
【
HNOI2004
】L语言(Trie树+搜索)
思路:Tire树存单词,然后每段话在Trie树上搜索。vis[i]=1表示这段话1到i能被识别,搜完后vis[i]=1最大的i就是答案,可以确保i之前的能被识别,否则dfs无法到达i。#include#includeusingnamespacestd;constintMAXLEN=1000005;intch[20*10*26+5][26],val[20*10*26+5],vis[MAXLEN],n
WWWengine
·
2020-09-12 00:35
数据结构
搜索
【BZOJ】1213 [
HNOI2004
]高精度开根
Description晓华所在的工作组正在编写一套高精度科学计算的软件,一些简单的部分如高精度加减法、乘除法早已写完了,现在就剩下晓华所负责的部分:实数的高精度开m次根。因为一个有理数开根之后可能得到一个无理数,所以这项工作是有较大难度的。现在要做的只是这项工作的第一步:只对自然数进行开整数次根,求出它的一个非负根,并且不考虑结果的小数部分,只要求把结果截断取整即可。程序需要根据给定的输入,包括需
Pure_W
·
2020-08-22 00:07
BZOJ
bsoj 1024 -- 【
HNOI2004
】打鼹鼠
1024--【
HNOI2004
】打鼹鼠Description鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。
是许墨的小傻瓜呐
·
2020-08-20 03:31
dp
dp
bzoj 1213 //1213: [
HNOI2004
]高精度开根 二分+高精度+结构体+运算符重载
bzoj1213//1213:[
HNOI2004
]高精度开根二分+高精度+结构体+运算符重载bzoj1213//1213:[
HNOI2004
]高精度开根//在线测评地址https://www.lydsy.com
mrcrack
·
2020-08-18 00:40
跟着大佬学算法
bzoj1211(洛谷P2290) - [
HNOI2004
]树的计数
Author:hiangbzoj1211洛谷P2290Description一个有n个结点的树,设它的结点分别为v1,v2,…,vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵。给定n,d1,d2,…,dn,编程需要输出满足d(vi)=di的树的个数。Input第一行是一个正整数n,表示树有n个结点。第二行有n个数,第i个数表示di,即树的第i个结点的度数。其中12usin
diaofu6766
·
2020-08-09 20:00
Prufer序列 性质&证明
前言下午HHY还有AAK看到了这个质问我Prufer序列是啥被迫复习一波引入直接从题目看吧[
HNOI2004
]树的计数大概意思就是给你n个节点告诉你每个节点的度数然后问你根据这些度数能够生成多少棵树看样例
Gary_818
·
2020-07-23 17:00
洛谷P1437 [
HNOI2004
]敲砖块【巧妙dp】
——弃子省选前做水dp其实挺巧妙的[
HNOI2004
]敲砖块在一个凹槽中放置了n层砖块、最上面的一层有n块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。
l961983207
·
2020-07-16 01:58
c++-动规
P2290 [
HNOI2004
]树的计数
P2290[
HNOI2004
]树的计数prufer序列模板题#include#include#include#include#include#include#defineinf2147483647#defineN1000010
weixin_30888413
·
2020-06-28 02:40
P1437 [
HNOI2004
]敲砖块 一道十分难想的DP题
题意:题意很简单,有n层方块,每层逐次减一块,每一块有一定权值;想要敲掉某块,就要先敲掉他的基甸,然后给我们一个操作数m,询问m个操作最多能得多少分;思路:在最开始得思考中,直接考虑每一层逐一dp下来,会发现,每一层所包含得数与相邻得数都会有重复(除第一层外)这句话什么意思呢?比如,想要敲掉第三层第一个数,就得先敲12第二个数就得敲23那么有重复得数,我们就不好操作,无法列出转移方程无从下手,看了
古比
·
2020-04-03 23:00
[
HNOI2004
] 树的计数 - prufer序列
给定树每个节点的degree,问满足条件的树的数目。\(n\leq150,ans\leq10^{17}\)Solution注意特判各种坑点\(\sumd_i-1=n-2\),否则非法\(d_i=0\),非法#includeusingnamespacestd;#defineintlonglongintf[155],n,d[155],isp[155],cnt[155],ans=1;voidpush(i
Mollnn
·
2020-02-12 21:00
洛谷P1437 [
HNOI2004
]敲砖块
因为上方和右上方都要打掉才能打这个位置,所以从第一行往下枚举不能获得正确答案,因此考虑倒序枚举,从最后一列按行枚举具体注释看代码#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongll;constintN=55;intn;intm;inta[N][N];in
Isomorphic
·
2020-02-04 20:00
题解 P2286 【[
HNOI2004
]宠物收养场】
这是题目链接大家好,这个题我调了很久过了,所以想写题解我用的平衡树是AVL树,平衡树界的老爷爷这个树并不会很慢,主要是我初学,常数巨大而且题目的$n=80000$,可以接受\(solution\):开两颗平衡树,维护宠物和人,过多就插入自己的平衡树,过少就在对立平衡树中删除与\(x\)相差最小的。也就是确定前驱后继代码很长,但是操作是相同的,一半都是在复制粘贴希望注意传参引用,少写一个调了很长时间
skkyk
·
2019-12-22 15:00
[
HNOI2004
]L语言 字典树 记忆化搜索
[
HNOI2004
]L语言字典树记忆化搜索给出\(n\)个字符串作为字典,询问\(m\)个字符串,求每个字符串最远能匹配(字典中的字符串)到的位置容易想到使用字典树维护字典,然后又发现不能每步一直贪心无脑取最长匹配
Santiego
·
2019-10-12 19:00
P2286 [
HNOI2004
]宠物收养场
题目链接这道题应该很快看出是平衡树吧。对于每次操作,相当于是在维护好的平衡树上找前驱和后继。一开始我想的是维护两棵平衡树,一棵宠物树,一棵是人树。但是我这样搞就非常傻逼,而且非常难调。其实只用维护一棵平衡树就够了,用一个变量来记录当前是宠物多还是人多,在树上查询前驱和后继就可以了。坑点:1.一开始要加入两个哨兵节点,不然容易出玄学错误。2.求和的时候要加绝对值abs。3.第八个点是0,但是我输出的
JBLee
·
2019-09-30 08:00
[洛谷]P2285 [
HNOI2004
]打鼹鼠 (#线性dp)
题目描述鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气。你可以控制一个机器人来打鼹鼠,如果i时刻鼹鼠在某个网格中出现,而机器人也处于同一网格的话,那么这个鼹鼠就会被机器人打死。而机器人每一时刻只能够移动一格或停留在原地不动。机器人的移动是指从当前所处的网格移
Apro1066
·
2019-08-28 23:04
洛谷原创
动态规划----线性dp
动态规划
联合解题报告:普通平衡树
目录洛谷P3369【模板】普通平衡树洛谷P2234[HNOI2002]营业额统计洛谷P2286[
HNOI2004
]宠物收养场【模板】普通平衡树参考代码大部分注释来源/*鸣谢:小蒟蒻yyb《Splay入门解析
Initialize02
·
2019-02-17 21:21
解题报告
【[
HNOI2004
]敲砖块】
非常巧妙的\(dp\)顺序这道题如果按照最正常的顺序来\(dp\)的话,显然是没有办法做的,后效性太大了所以我们可以巧妙的改变\(dp\)的顺序我们注意到一个位置\((i,j)\)要被打到的话就必须将其右上方的所有砖块都打掉,于是我们我们设\(dp[i][j][k]\)表示打到了\((i,j)\)这个位置一共打了\(k\)个,其中\((i,j)\)被打掉了的最大值如果我们改变一下\(dp\)顺序,
asuldb
·
2019-01-01 21:00
Bzoj-1207: [
HNOI2004
]打鼹鼠
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1207实在想不到这道题理想复杂度的写法,手残了个O(m^2)的DP居然也A了。。。代码:#include#include#includeusingnamespacestd;#defineMAXM10010intn,m,ans=0;intx[MAXM],y[MAXM],t[MAXM],f[MAXM
AmadeusChan
·
2018-10-03 17:44
【BZOJ 1211】
HNOI2004
]树的计数(组合数学+Purfer序列)
1211:[
HNOI2004
]树的计数TimeLimit:10SecMemoryLimit:162MBSubmit:3149Solved:1181[Submit][Status][Discuss]Description
codancer
·
2018-09-21 18:35
数论--数学
OJ--BZOJ
洛谷:P3384 [
HNOI2004
]宠物收养场
原题地址:https://www.luogu.org/problemnew/show/P3384题目简述给定一些序列(没有重复数字),每个序列支持:给定一些数k(对于每个序列不重复),每次在序列里找到最接近k的数删除(如果有2个数字与k差一样,即分别是k-b和k+b,则选择较小的k-b),累加与k的差,输出。思路其实关键就是维护一个有序序列,支持插入,查询前继后继,删除指定数字。自然我们会想到手打
yyy2015c01
·
2018-04-09 22:00
bzoj 1211: [
HNOI2004
]树的计数 (prufer序列+组合数学)
题目描述传送门题解ans=(n−2)!∏(di−1)!,分解因数,上下相消即可。注意判断无解的几种情况(1)n=1,d[1]!=0(2)n!=1,d[i]=0(3)[∑ni=1(di−1)]!=n−2代码#include#include#include#include#include#defineN150#defineLLlonglongusingnamespacestd;intprime[N+3
clover_hxy
·
2017-04-18 10:39
数论
组合数取模
[BZOJ1211][
HNOI2004
]树的计数(prufer序列+数学相关)
题目描述传送门题目大意:一个n个节点的树,给出每一个点的度,问满足要求的生成树有多少个题解树的prufer序列裸题答案应该是(n−2)!∏i(di−1)!,相当于是一个有重复元素的排列问题但是我被无解的情况坑了挺久的…其实也不难特判n=1的情况;∑di=n−2;di≥1代码#include#include#include#include#includeusingnamespacestd;#defi
Clove_unique
·
2017-04-16 09:32
题解
数学相关
prufer序列
[BZOJ1212][
HNOI2004
]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自动机
【bzoj1207】【
HNOI2004
】【打鼹鼠】
题目大意某个时间会在某个坐标出现一只鼹鼠,求最多能打多少只。解题思路不用讲了,直接上暴力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
bzoj 1212: [
HNOI2004
]L语言(AC自动机+DP)
1212:[
HNOI2004
]L语言TimeLimit:10SecMemoryLimit:162MBSubmit:1159Solved:499[Submit][Status][Discuss]Description
clover_hxy
·
2016-05-22 09:07
动态规划
字符串处理
AC自动机
[
HNOI2004
]树的计数(prufer编码+组合数学)
题目:一个有n个结点的树,设它的结点分别为v1,v2,…,vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵。给定n,d1,d2,…,dn,编程需要输出满足d(vi)=di的树的个数。思路:参考2008年国家集训队论文周梦宇《码之道——浅谈信息学竞赛中的编码与译码问题》看完论文之后很容易知道这道题的答案即为(n-2)!/(d1-1)!(d2-1)!...(dn-1)!这道题的
rachelsg
·
2016-04-19 19:00
[BZOJ1208] [
HNOI2004
] 宠物收养所 - splay
1208:[
HNOI2004
]宠物收养所TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 6675 Solved: 2621[Submit][Status][Discuss
whzzt
·
2016-04-09 19:00
HNOI2004
:打鼹鼠
DP的水题……这是道大水题啊……我居然不会做……设f[i]表示强制打死第i只鼹鼠之前最多能打死几只。于是我们有转移方程:f[i]=max{j
zxn0803
·
2016-04-01 08:00
BZOJ 1213: [
HNOI2004
]高精度开根
人生苦短我用python(话说正解是二分+高精度+FFT?)m=(int)(input()) n=(int)(input()) l=0 r=1 whiler**m<=n: l=r r=r*2 whilel+1<r: mid=(l+r)//2 ifmid**m<=n: l=mid else: r=mid ifr**m<=n: print(r) else: print(l)
nlj1999
·
2016-03-30 16:00
BZOJ 1212: [
HNOI2004
]L语言
AC自动机水题跑一遍就好了#include #include #include #include usingnamespacestd; structnode{ intfail,len,ch[26]; voidclear(){ fail=len=0; memset(ch,0,sizeof(ch)); } }tr[205]; intsz; voidins(char*s){ intu=0,n=strle
nlj1999
·
2016-03-30 16:00
BZOJ 1210: [
HNOI2004
]邮递员
写了两个小时。。。。。。。。毒瘤三件套:插头DP,哈希判重,高精度学(抄)到了插头DP的书写艺术#include #include #include #include usingnamespacestd; constintbase=1e9; constintmaxhash=2601; intget(ints,intx){return(s>>((x-1)0;i--)printf("%09d",a[i
nlj1999
·
2016-03-28 15:00
BZOJ 1209: [
HNOI2004
]最佳包裹
一眼扫过去,凸包?数据范围什么这么小?10分钟码完了Andrew,发现答案不对……卧槽怎么是三维的。。。。。。。三维凸包不会啊TAT对着白书抄了一遍增量法,水过去了(你这样真的好吗)好吧回去再看一遍增量法,感觉很好玩的样子。很想知道status里0MS的大爷是怎么做到的(随机增量?)#include #include #include #include #include #include #inc
nlj1999
·
2016-03-28 11:00
bzoj 1208[HNOI 2004] 宠物收养所
1208:[
HNOI2004
]宠物收养所TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 6607 Solved: 2584[Submit][Status][Discuss
clover_hxy
·
2016-03-23 11:00
[BZOJ1208][
HNOI2004
]宠物收养所(平衡树splay)
题目描述传送门题解很裸的平衡树。注意一下宠物的值和领养人的值相同的情况,这个时候不应该直接查前驱和后继。BZOJ不能调用cmath不知道为什么。代码#include#include#include#includeusingnamespacestd;#defineLLlonglongconstintmax_n=8e4+5;constintp=1e6;intn,a,b;intL,R,ty;introo
Clove_unique
·
2016-03-23 09:08
题解
平衡树
省选
[BZOJ1208][
HNOI2004
]宠物收养所(平衡树splay)
题目描述传送门题解很裸的平衡树。注意一下宠物的值和领养人的值相同的情况,这个时候不应该直接查前驱和后继。BZOJ不能调用cmath不知道为什么。代码#include #include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=8e4+5; constintp=1e6; intn,a,b; intL,
Clove_unique
·
2016-03-23 09:00
splay
hnoi
bzoj
BZOJ1207 [
HNOI2004
] 打鼹鼠
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1207Description鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气。你可以控制一个机器人来打鼹鼠,如果i时刻鼹鼠在某个网格中出现,而机器人也处
ACMICPC
·
2016-03-03 17:00
bzoj1208:[
HNOI2004
]宠物收养所-splay
这个splay维护的不是下标,维护的是数值,所以每必要记下size还有各种标记只要能够插入一个数,删除一个数,找一个不在树中的数的前驱和后继就可以了。需要想的是这道题并不需要用两个splay或者记下多余的没用掉的宠物或者人,只要用一个splay就好了,因为题目中说了任意时刻宠物店中只有人或者只有宠物,这样轮换着用一个splay就好了orz...好奇怪,这道题在家里写了一天都是WA,在学校机房1A了
zz_ylolita
·
2016-03-02 19:00
【bzoj1208】[
HNOI2004
]宠物收养所
Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a #include usingnamespacestd; constintMAXN=80010; intf[MAXN]; in
RobotLIUMENGYUE
·
2016-02-25 21:00
BZOJ1212 [
HNOI2004
] L语言
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1212Description标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的。现在你要处理的就是一段没有标点的文章。一段文章T是由若干小写字母构成。一个单词W也是由若干小写字母构成。一个字典D是若干个单词的集合。我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成
ACMICPC
·
2016-02-25 17:00
bzoj1208[HDOI2004] 宠物收养所
Bzoj1208[
HNOI2004
]宠物收养所解题报告TimeLimit:10Sec MemoryLimit:162MBSubmit:6443 Solved:2510[Submit][Status]
FSAHFGSADHSAKNDAS
·
2016-02-19 21:00
HNOI2004
宠物收养所 splay
看清楚题意后居然一A了,这么长的代码一A对我来说还真是少见。突然弄懂了数组版splay的内存池的原理,还是很简单的。。。#include #defineREP(i,a,b)for(inti=a;ikey[r]]; } splay(f,0); return0; } voidInsert(llx) { if(rt==0)newnode(rt,0,x); else{ intr=rt,
__560
·
2016-02-19 08:00
bzoj1207【
HNOI2004
】打鼹鼠
1207:[
HNOI2004
]打鼹鼠TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2309 Solved: 1135[Submit][Status][Discuss
AaronGZK
·
2016-02-13 00:00
dp
bzoj
bzoj1211: [
HNOI2004
]树的计数
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1211题意:中文题。。。分析:prufer序列计算树的种数,简单的应用。因为会爆int所以分解质因子就是了,注意处理树的合理性和n=1的情况。代码:#include #include #include #include #include #include #include #include #i
Fsss_7
·
2016-02-11 00:00
bzoj:1208: [
HNOI2004
]宠物收养所
Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a #include #include usingnamespacestd; intn,l,w,ans,qa,qi,o,p,n
swm_sxt
·
2016-02-03 13:00
bzoj:1208: [
HNOI2004
]宠物收养所
Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a #include #include usingnamespacestd; intn,l,w,ans,qa,qi,o,p,n
swm_sxt
·
2016-02-03 13:00
vijos 1110小胖邮递员;bzoj 1210: [
HNOI2004
]邮递员
DescriptionSmith在P市的邮政局工作,他每天的工作是从邮局出发,到自己所管辖的所有邮筒取信件,然后带回邮局。他所管辖的邮筒非常巧地排成了一个m*n的点阵(点阵中的间距都是相等的)。左上角的邮筒恰好在邮局的门口。Smith是一个非常标新立异的人,他希望每天都能走不同的路线,但是同时,他又不希望路线的长度增加,他想知道他有多少条不同的路线可走。【任务描述】你的程序需要根据给定的输入,给出
swm_sxt
·
2016-01-17 14:00
上一页
1
2
下一页
按字母分类:
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
其他