HL祭记汇

一.写在前面

如果说廿四10天集训,对于我,是完成了从入门(虽然可能我比别人入门更早?)到准OIer的蜕变,那么,HL7天,可以说是真正成为了OIer,虽然是被小学生、初中生(南方的)薄纱的那种高中OIer……

二.目录

Day 1:周赛一

Day 2:基础数据结构

Day 3:树状数组和线段树

Day 4:倍增问题

Day 5:字符串

Day 6:根号问题+杂选

Day 7:周赛二

好好好,都是我最弱的……

三.知识

我在我的日祭中写道,会在最后的总结中对知识进行汇总,我来兑现我的诺言了。

Day -1:

报道,学术无论

Day0:粥赛I

本以为T1是个签到题,结果数据造的四舍五入是真的很坑,好好好,就我没AC

T2:简单约数题,结合map还有Div性质很快AC了(数论还真好玩)

T3:10min看出是倒着贪心,跟正解想的一样,将最后结果入B,直到break;(AC_Love):

T4:暴搜20+pts,如果开O2-30+pts,沉默了一会是状压dp?但是怎么调都是73pts(能有20times?)后来搜状压dp的板子(原谅我)发现其实区间dp更符合题目要求,毕竟区间max才58,然后对答案进行修剪80pts+1个RE,数组再大10,90pts,最后一个O2,过了

T5:想歪了,以为是dij缩点+贪心,后来明白dp更好,但是就很唐,dij怎么缩点来着?结果TLE了(这里指的是比赛进程)后来订正,懂了:

T6: 没时间了,要不然10pts的平凡dp分是可以拿到了,其实本题有思路,后来实测30pts,可能是不够优,答案思路写完就过了,这是好的:

Day1:寄储数据结构

对,存储我寄的结构

个人认为STL 一直是我最烂的部分(与之相反的是数论)

是我不爱背板子吗?

好像不是,毕竟文化课我都挺过来了。

但是又感觉STL跟背没关系。

如果背为主,信息怎为理科?

但是总是要面对的啊!

我要承认困难,我要客服困难!

当天的题就不写了,主要写写新知识——笛卡尔树(实在没想到一个理论数学家又和OI有关系了@欧拉先生)

首先要明确笛卡尔树是二叉树!如果这点忘的话很可能构树时会RE(别问我怎么知道的)

定义(stO OIWiki):

笛卡尔树是一种二叉树,每一个结点由一个键值二元组 (k,w) 构成。要求 k 满足二叉搜索树的性质,而 w 满足堆的性质。一个有趣的事实是,如果笛卡尔树的 k,w 键值确定,且 k 互不相同,w 互不相同,那么这个笛卡尔树的结构是唯一的。

即:

在一棵笛卡尔树中,定义根节点是所有的元素中数值最小的那一个元素。笛卡尔树中每一个节点可以有 0,1,2 个节点。

对于根节点,假设它在原数组中左边不存在任何的一个元素,那么根节点就是没有左儿子的,否则,根节点的左儿子就是它在原数组中左边的所有元素中数值最小的那一个节点;右儿子同理,如果根节点在原数组中左边不存在任何的一个元素,那么根节点就是没有右儿子的,否则,根节点的右儿子就是它在原数组中右边所有的元素中数值最小的那一个点。对于一个非根节点,建立其左右儿子的步骤和对于根节点建立左右儿子的步骤是完全相同的。

性质(部分来源于Google):

  构建

不能比OIWiki写的更明白了!

新建一个大小为 n 的空栈。用 top 来标操作前的栈顶,k 来标记当前栈顶。
For i := 1 to n
    k := top
    While 栈非空 且 栈顶元素 > 当前元素 
        k--
    if 栈非空
        栈顶元素.右儿子 := 当前元素
    if k < top
        当前元素.左儿子 := 上一个被弹出的元素
    当前元素入栈
    top := k
for (int i=1;i<=n;i++) 
{
  int k=top;
  while(k>0&&h[stk[k]]>h[i]) 
  k--;
  if(k)
  rs[stk[k]]=i;  // rs代表笛卡尔树每个节点的右儿子
  if(k<top) 
  ls[i]=stk[k+1];  // ls代表笛卡尔树每个节点的左儿子
  stk[k++]=i;
  top=k;
}

板子传送门:Problem - 1506 (hdu.edu.cn) 

Day2:术状数组和线断树

原谅我的懒惰,但是一看就懂,一懂就会的好资源为什么不用呢:

树状数组 - OI Wiki (oi-wiki.org)

线段树 - OI Wiki (oi-wiki.org)

Day3:被增+LCA

以下为正确理解个人理解:

倍增算法,顾名思义,就是不断地翻倍。

虽然是一种基础算法,但它能够使得线性的处理转化为对数级的处理,大大地优化时间复杂度,在很多算法中都有应用,其中最常见的就是ST表以及LCA(树上最近公共祖先)(在本part中无其他含义)了。

个人在网上找了个例题,感觉易于理解(不戳)!

有一个环状的操场,操场被分割为 [1,n] 个小块,每个小块上写着一个数字。
有一只小白兔站在操场的起点,它每次可以跳 k 个小块,然后拿走等同于它所站小块上数字数量的胡萝卜,问它跳 m次,总共可以拿到几个胡萝卜?
如果能够算出来的话,小白兔就能把所有的胡萝卜都带回家吃啦!

———————————————————————————————————————————

本题吧,暴力当然可以,就是让小白兔一次一次的跳,每次+=,直到m次。

但是,数据max有10^18欸,小白兔不出意外会累死,还吃不到胡萝卜。

所以就是倍增了

只需要记录从1开始2,4,8,16 =》 2^logm就可以了(请原谅我不会用CSDN数学式的编辑

所以,复杂度降低至O(nlogm)

至于dp式嘛:

代码自然不是问题。

Day4:自服串

烂的自己都服。

hash+kmp+manacher(马拉车)+exkmp

本来上午没太听懂挺荒的,但是听到才队也不会,心宽了很多。

hash

字符串哈希 - OI Wiki (oi-wiki.org)

kmp

前缀函数与 KMP 算法 - OI Wiki (oi-wiki.org)

exkmp

Z 函数(扩展 KMP) - OI Wiki (oi-wiki.org)

马拉车

Manacher - OI Wiki (oi-wiki.org)

真的不是我又懒又烂,而是真心感觉OIWiki上讲的很透彻,不能奢望我讲的更好了,因为字符串本来就是我的WApart(回想3个月前gets怎么改卡了两周)

Day5:总结杂项

数列+数论+根号问题

我很舒服,毕竟yn学长的数论真的是一言难尽……在这的数论简单多了,自认为完全掌握,所以不总结

但是晚上你SE几个意思??

Day6:粥赛II

T1:水的要命,5minAC

T2:也挺水的,建个栈然后vector存储,最后按题模拟就行,15min

T3:根本不会,本次周赛的两个唯一,一个唯二:

唯一根本没敢提交的

唯一讲解后也还是不会的

唯二没过的题

其余九位大佬谁能给我讲讲啊……

T4:

有两个子问题,恰好为k,最多为k

对于Q1:

设F[i][j]为到i换j的排列数

所以F[i][j]=F[i-1][j]

但是i到1后就变成了:

F[i][i+j]-=F[i-1][j]

所以:

F[i][j]+=F[i][j-1]

所以:

答案F[n][i]

对于Q2:

记得要%1000000007,否则只能过一个点!!!!

T6:

自己懂了,但是讲不出来,这种感觉真的很崩溃!!本文更新,等到会了会更新!

四.同学

这是本人第一次进入全日制学校进行集训,相信其他十个OIer也一样?

HL优美的校园环境留下了很好印象(除了第一天的午饭和比天的物价)

刘某人评价是211水平,可以

决战HL之巅,有生活广场,马场(这很难评,但是赞一个)

HL真的是很爱篮球,HBA有150+39场比赛,和电荷、潇寞、小陌、Qwehhh233打的很好

宿舍不错

309的同志们都是我想的那样

更是直面了410的大佬们,包括:

才队,湘湘,HB,Kazdale,cx330,james,yingxue-cat等大佬

还有Eric和两位福建的大佬

才队睡我下铺

本来以为他是个很凶的人呢(机房114514那次是真的不知道在玩梗)

结果:

嗯,他也是金梗频出:

吾日三省吾身:能不能拖到明天做?能不能给别人做?能不能不做?

唉,我都已经一周没有见我的npy了

还有很多,但是不知道能不能过审,就不说了

湘湘,真的好温柔,人很帅很高,跟才队一捧一逗

HB,额,感觉不太正经,但是学习时很投入,感谢你教我机惨!HB-Viki-Merlin爆内存法不戳!

Kazdale,才队的父亲和才队的儿子,外表豪放但看头像内心应该很细腻……

记得那晚他给我们讲他零基础OI的故事,直到HLgg来查寝并把viki带走了(恐)

其余的九位队友,一如既往,不必评价,因为你们几乎完美,附,合照(请允许我使用诸位的肖像权):

五.趣事

详见每日更新的HL小祭记:

HL小祭記0216-0218 - MerlinLee 的博客 - 洛谷博客 (luogu.com.cn)

HL小祭記0219 - MerlinLee 的博客 - 洛谷博客 (luogu.com.cn)

HL小祭記0219 - MerlinLee 的博客 - 洛谷博客 (luogu.com.cn)

HL小祭記0222 - MerlinLee 的博客 - 洛谷博客 (luogu.com.cn)

请原谅0223没有写出来,但是会写的,请关注我的csdn和洛谷,本文也会实时更新

六.总结

24集训的诺言达成:

我身在

当时你

幻想的

未来里

还有,很喜欢的一首歌的前语:

劃過偏見與爭端,我們靜默航行。

當諸神背過身,當百鬼夜行狂歡,當人間掀起更甚海洋的巨浪,捧起微弱的理智之光,

我們將航行在耳語「之間」、在極端「之間」、在絕對「之間」;

繁星失語的午夜,也許沒有方向、卻能安適靜待遠方天光。

Merlin·Lee

于大连市中山区

2024年2月24日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/406576.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时事篇-05-04】20240224 27笔货币基金中有3笔250元的具体数目测算( itertools)

结果展示 背景需求&#xff1a; 前文测算了27只货币基金&#xff0c;如果存145、146、147、148、149、150元分别需要存几笔。结果是4、4、4、5、5、5 【时事篇-05-03】20240222 金额145-150元填充27笔货币基金的具体数目测算&#xff08; itertools&#xff09;-CSDN博客文章…

1.30主成分分析,因子分析

主成分分析 主成分分析&#xff08;Principal Component Analysis&#xff0c;简称PCA&#xff09;是一种常用的多变量数据分析方法。它用于降低数据维度&#xff0c;以便更好地理解和解释数据集中的变化。PCA通过将原始数据投影到新的坐标轴上&#xff0c;使得新的坐标轴上的…

Raspbian命令行RTSP/RTP服务

Raspbian命令行RTSP/RTP服务 1. 源由2. Raspbian摄像头2.1 命令行启动RTP摄像头2.2 命令行启动RTSP摄像头 3. 示例3.1 测试RTP摄像头3.2 测试RTSP摄像头3.3 QGroundControl测试3.3.1 RTSP配置3.3.2 RTP配置 4. 总结5. 参考资料 1. 源由 鉴于实际测试发现RTP协议下&#xff0c;…

【MATLAB】CEEMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 CEEMD_MFE_SVM_LSTM神经网络时序预测算法是一种结合了多种先进技术的复杂预测方法&#xff0c;旨在提高时序预测的准确性和稳定性。下面是对该算法的详细介绍&#xff1a; CEEMD&#xff…

常用的函数式接口(Supplier、Consumer、Predicate、Function)

目录 一.函数式接口作为方法的参数 二.函数式接口作为方法的返回值 三.常用的函数式接口 3.1生产型Supplier接口 3.2消费型Consumer接口 抽象方法&#xff1a;accept 默认方法&#xff1a;andThen 3.3判断型Predicate接口 抽象方法&#xff1a;test 默认方法&#xf…

【vue】provide/inject

provide/ inject这对选项需要一起使用&#xff0c;以允许一个祖先组件向其所有子孙后代注入一个依赖&#xff0c;不论组件层次有多深&#xff0c;并在起上下游关系成立的时间里始终生效。 通途点来讲可以用来实现隔代传值&#xff0c;传统的props只能父传子&#xff0c;而 prov…

电影《热辣滚烫》观后感

过完年&#xff0c;回来的时候&#xff0c;上周看了这部电影《热辣滚烫》&#xff0c;是贾玲自导自演的一部电影&#xff0c;个人感觉还是非常好的&#xff0c;偏向小人物&#xff0c;写实风格。 &#xff08;1&#xff09;电影相关评价 但是你说这部电影有多立志&#xff0c…

SQL Server——建表时为字段添加注释

在 MySQL 中&#xff0c;新建数据库表为字段添加注释可以使用 comment 属性来实现。SQL Server 没有 comment 属性&#xff0c;但是可以通过执行 sys.sp_addextendedproperty 这个存储过程添加扩展属性来实现相同的功能。 这个存储过程的参数定义如下&#xff1a; exec sys.s…

【微服务生态】Elasticsearch

文章目录 一、概述二、下载和部署2.1 单机部署2.2 集群部署2.2.1 环境配置2.2.2 安装及部署 三、基本操作3.1 概述3.2 HTTP 操作3.2.1 索引操作3.2.2 文档操作3.2.3 关系映射3.2.4 高级查询 3.3 Java API 操作 四、Elasticsearch 进阶4.1 核心概念4.2 系统架构4.3 分布式集群4.…

C++之Easyx——图形库的基本功能(3):形状绘制(上)

目录 目录 目录 一、bar 函数定义 使用说明 示例程序 二、circle 函数定义 使用说明 示例程序 三、rectangle 函数定义 使用说明 示例程序 四、arc 函数定义 使用说明 参考线 示例程序 一、bar 函数定义 void EGEAPI bar(int left, int top, int right, int bottom, PIMAG…

【前端素材】推荐优质后台管理系统Sneat平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;它通常作为一个独立的后台界面存在&#xff0c;供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能&#xff1a; 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

snmp协议开通教程

目录 一、什么是snmp协议&#xff1f; 二、snmp协议可以用来干什么&#xff1f; 三、snmp协议的开通 1、snmpv2协议开通 2、snmpv3协议开通 一、什么是snmp协议&#xff1f; SNMP&#xff08;Simple Network Management Protocol&#xff09;是一种用于网络管理的标准协议&a…

Redis cluster集群搭建

1.cluster集群原理 1.1最低需要6个节点即三主三从&#xff0c;每个主节点对应一个从节点 1.2数据存储采用分片存储方式&#xff0c;整个redis集群有16384个哈希槽&#xff0c;集群中的每个节点负责一部分哈希槽&#xff0c;现在集群中三个主节点&#xff0c;就会把这些哈希槽…

VR系统的开发流程

虚拟现实&#xff08;Virtual Reality&#xff0c;VR&#xff09;系统是一种通过计算机技术模拟出的具有三维视角和交互性的虚拟环境&#xff0c;使用户能够沉浸在其中并与虚拟环境进行交互。这种技术通常利用头戴式显示器和手柄等设备&#xff0c;使用户能够感觉到仿佛身临其境…

Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索

在今天的文章中&#xff0c;我们将重点介绍如何使用 LangChain 提供的基础设施在 Python 中构建 Elasticsearch agent。 该 agent 应允许用户以自然语言询问有关 Elasticsearch 集群中数据的问题。 Elasticsearch 是一个强大的搜索引擎&#xff0c;支持词法和向量搜索。 Elast…

C 嵌入式系统设计模式 11:观察者模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述访问硬件的设计模式之四&…

VSCODE include错误 找不到 stdio.h

解决办法&#xff1a; Ctrl Shift P 打开命令面板&#xff0c; 键入 “Select Intellisense Configuration”&#xff08;下图是因为我在写文章之前已经用过这个命令&#xff0c;所以这个历史记录出现在了第一行&#xff09; 再选择“Use gcc.exe ”&#xff08;后面的Foun…

C# If与Switch的区别

在 switch 语句中使用表达式比较时&#xff0c;编译器会生成一个查找表&#xff0c;其中包含所有表达式的值和对应的 case 标签。因此&#xff0c;与使用常量或字面量比较相比&#xff0c;使用表达式比较可能会略微降低性能。 只有当 switch 语句中的所有 case 标签都使用常量或…

Linux快速修改ip地址

Linux修改IP配置 一 、查找ip配置文件 ifcfg-ens33二、编辑 vi ifcfg-ens33文件三、重启网络或者重启系统 一 、查找ip配置文件 ifcfg-ens33 cd /etc/sysconfig/network-scripts/ls //查看network-scripts文件夹下面的文件二、编辑 vi ifcfg-ens33文件 vi ifcfg-ens33注意&…

反序列化 [NPUCTF2020]ReadlezPHP1

打开题目 直接查看源代码 打开源代码发现了个./time.php?source 访问一下 审计代码&#xff1a; 现存在反序列化语句&#xff1a;$ppp unserialize($_GET["data"]);和执行漏洞&#xff1a;echo $b($a); 发现在__destruct()方法里面有 echo $b($a); 这个是php的…