- 博客(55)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 HAO的线段树(中(上))
本文介绍了两种高效处理区间查询的数据结构:猫树和ZKW线段树。猫树是一种静态线段树变体,通过预处理区间前缀和后缀实现O(1)查询,适用于无修改场景。ZKW线段树采用完全二叉树存储和自底向上构建,通过位运算优化查询和修改操作,支持区间加、乘和求和。两者都通过特殊设计突破了传统线段树的性能瓶颈,猫树解决了合并效率问题,ZKW线段树则优化了常数因子和内存访问模式。
2026-02-22 22:55:35
709
原创 整活 HAO突发奇想想到的神秘 分块 题目
本文介绍了一道简单的区间操作题目,要求支持区间加和区间求和操作。题目给定一个序列和多个操作,数据范围较大(n≤2e8,m≤1e6)。解法采用分块与线段树结合的思路:先对序列分块,整块用线段树维护懒标记和散块修改后的和,每个块再建线段树处理散块操作。块长取√n时最优,时间复杂为O(m*log√n)+O(n),空间复杂度O(√n + n)。通过标记永久化、位运算和快读优化可以满足题目严格的时空限制(1.8s,4GB)。
2026-02-22 10:21:42
234
1
原创 P5354 [Ynoi Easy Round 2017] 由乃的 OJ
由乃正在做她的OJ。现在她在处理OJ上的用户排名问题。OJ 上注册了n个用户,编号为1∼n,一开始他们按照编号排名。由乃会按照心情对这些用户做以下四种操作,修改用户的排名和编号:然而由乃心情非常不好,因为 Deus 天天问她题。。。因为 Deus 天天问由乃 OI 题,所以由乃去学习了一下 OI,由于由乃智商挺高,所以 OI 学的特别熟练。她在 RBOI2016 中以第一名的成绩进入省队,参加了 NOI2016 获得了金牌保送。Deus:这个题怎么做呀?
2026-02-21 10:01:01
1038
原创 HAO的线段树(上)
本文介绍了线段树的基本概念和应用。首先通过区间乘法和求和问题引出分块解法,进而提出多层分块思想,最终引出线段树结构。详细讲解了线段树的建树、区间查询、单点和多点修改操作,重点介绍了lazy_tag的延迟更新机制。以P3372模板题为例展示了线段树实现区间加法和求和的代码。最后通过P6327区间sin和问题,展示了如何利用正弦加法公式维护特殊函数值。线段树通过树形结构高效处理区间操作,是解决各类区间问题的强大工具。
2026-02-21 08:42:58
1013
原创 P5314 ODT(毒瘤树剖)
摘要:本文讨论了一棵树上的点权操作问题,支持两种操作:路径点权增加和查询距离某点不超过1的第y小点权。解法结合树链剖分、平衡树和树状数组,利用树剖维护路径修改,平衡树维护轻儿子集合的点权排序,树状数组处理重儿子和父节点。修改操作时间复杂度为O(log²n),查询为O(logn)。代码实现展示了如何高效处理大规模数据(n,m≤10⁶)的树结构操作。
2026-02-19 22:41:12
961
1
原创 HAO的DP
DP是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。也就是DFS,不过要把每一个子问题的答案记录下来。(记忆化就是一种DP)
2026-02-19 22:06:44
850
原创 HAO的搜索学习笔记(不止深宽搜)
DFS(Depth First Search,深度优先搜索),直接从字面意思理解,就是往深处走,直到尽头才回去,拿张树的图来演示是大概流程它不存储同层状态,而是直接到这个转移的下层状态。void dfs(int x)//x为层{if(达到目标){记录答案返回上层for(枚举所有可能){递归下一层。
2025-02-06 13:11:23
724
原创 HAO的Graham学习笔记
摘录oiwiki在平面上能包含所有给定点的最小凸多边形叫做凸包。其定义为:对于给定集合 X,所有包含 X 的凸集的交集 S 被称为 X 的 凸包。说人话就是用一个橡皮筋包含住所有给定点的形态。
2025-02-03 22:36:58
941
原创 十进制转八进制
对于 100%100% 的数据,保证 1≤n≤1091≤�≤109。输入一个十进制的正整数 n�,请将它转换成八进制并输出结果。仅一行,一个八进制下的正整数。仅一行,一个正整数 n�。查看十进制转二进制这片文章。
2023-04-14 21:15:18
443
原创 十进制转二进制
题目描述输入一个十进制的正整数 n�,请将它转换成二进制并输出结果。输入格式仅一行,一个正整数 n�。输出格式仅一行,一个二进制下的正整数。样例输入33样例输出100001数据范围对于 100%100% 的数据,保证 1≤n≤1091≤�≤109。
2023-04-14 21:12:43
328
原创 数位和c++
对于一个整数,我们定义它的数位和为各个数位的和。比如456789456789的数位和为4+5+6+7+8+94+5+6+7+8+9也就是3939;对于3939,我们依然可以求数位和,为1212;继续求,数位和为33,接下来无论再怎么求数位和,结果都是33,不会改变了。输入一个正整数a�,按照上述方式,我们对这个a�不停地求数位和,直到结果不超过99为止。要求把所有的中间结果输出。比如a=456789�=456789,那么它的数位和是3939。
2023-04-12 21:17:07
1357
原创 蛇形方阵2
给你两个整数n,m,请你构造一个n行m列的蛇形方阵,在这个方阵中,数字由1到n×m,呈环状向内填充,例如n=3,m=3的时候,蛇形方阵如下:
2023-01-25 10:39:58
856
1
原创 暴击c++
小八打了 n 次攻击,第 i 次攻击可以造成 ai 点伤害。现在你可以选择其中的 m 次攻击使得其伤害翻倍。请你回答最多可以造成多少总伤害。
2023-01-22 23:14:11
541
原创 鸡兔同笼问题
有若干只鸡和兔在同个笼子里,从上面数,有a个头;从下面数,有b只脚。求笼中各有几只鸡和兔?其中,一只鸡有一个头两只脚,一个兔子有一个头四只脚。输入格式一行,包含两个整数a和b。输出格式一行,两个整数,表示鸡和兔的数量。数据保证一定存在一组解。样例输入10 28样例输出6 4数据规模对于100%的数据,保证0≤a,b≤1000。
2023-01-22 00:36:04
429
原创 球们在哪些杯子里
小蜗蜗很喜欢玩一个游戏:一共有n个不透明的杯子,倒扣着在桌面上排成一排,其中有m个杯子中有球,并且知道是哪m个杯子中有球,然后不断地快速交换杯子的位置(里面的球跟着杯子一起动),最后让别人猜球们到底在哪些位置上。现在小蜗蜗想让你帮他完成移动杯子的动作,并悄悄告诉你他会交换k次杯子的位置,然后他会将交换哪两个杯子的指令告诉你,最后请你找出球们在哪些位置。
2023-01-17 18:46:22
930
原创 表演方阵1
要表演节目了,老师把同学们排成 n 排,每排 m 个人,每个人都有一个身高。现在给出排好的队形,老师想知道,除了第一排的同学,是不是每个同学的身高都大于等于站在他正前方的所有同学的身高?例如,第三行第三列的同学正前方有两位同学,分别是第一行第三列的同学和第二行第三列的同学。
2023-01-16 08:31:28
488
原创 表演方阵2
要表演节目了,老师把同学们排成nn排,每排mm个人,每个人都有一个身高。现在给出排好的队形,老师想知道,是否所有同学都能被看到。一个同学能被看到,当且仅当满足下列条件之一:这个同学站在最外侧(第一排、最后一排、最左侧一列、最右侧一列)。站在这个同学正前方、正后方、正左侧、正右侧,且离他最近的四个同学,至少有一个不比他高。
2023-01-15 21:13:11
450
原创 明明的随机数
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
2023-01-12 15:48:34
146
1
原创 排队(第2思路)c++
有 n 位同学要排队。其中第 i 位同学身高为 ai,性别为 bi (bi=0 表示女生,bi=1 表示男生)。排队规则如下:首先女生排在前,男生排在后;然后相同性别,矮的在前高的在后。请回答排完队后从前往后的同学身高依次为多少。
2023-01-12 14:27:10
750
2
原创 众数c++
众数指的是一组数据中出现次数最多的数值。现在给定n个整数a1,a2,…,an,求出这组数据的众数,如果有多个,请按照从小到大的顺序输出所有的众数。
2023-01-11 19:52:57
2500
原创 球在哪个杯子里2
小蜗蜗很喜欢玩一个游戏:一共有三个不透明的杯子,倒扣着在桌面上排成一排,只有中间那个杯子里面有一个小球,然后不断地快速交换杯子的位置(里面的球跟着杯子一起动),最后让别人猜球到底在哪个位置上。现在小蜗蜗想让你帮他完成移动杯子的动作,并悄悄告诉你他只会交换kk次杯子的位置,然后他会将交换哪两个杯子的指令告诉你,最后请你找出球在哪个位置
2023-01-09 16:11:57
2414
1
原创 U型池 c++
3D打印是一种新兴的技术,它是一种以模型为基础,运用特殊材料,把一个东西真的“打印”出来的技术。运用3D打印机(一种特殊的打印机),就可以将计算机中的模型文件变成一个实体的东西,非常精准。该技术在珠宝、鞋类、工业设计、建筑、工程、汽车,航空航天、牙科和医疗产业、教育、地理信息系统、土木工程以及其他领域都有所应用。自从小蜗蜗学了3D打印后,他就一直想自己做一个东西,他的想象力有限,想来想去,只想到了打印一个方方正正的U。但是他学艺不精,你能帮帮他吗?输入n,mn,m,表示一个n×nn×n的正方形格
2023-01-08 20:33:47
1648
3
原创 平行四边形
输入 n,mn,m,表示一个底为 nn、高为 mm 的由 + 构成的平行四边形,每一行比上一行的 + 都向右平移了一格。请你输出这个平行四边形。
2023-01-08 20:24:46
1405
1
原创 这真的是道简单题
你没看错,这真的就是一道简单的题。输入一个数,如果它是33的倍数,那就输出这个数模10086的结果,否则输出这个数模520的结果。
2023-01-08 20:19:36
362
原创 最大子段和1
现在给你nn个整数a1,a2,…,ana1,a2,…,an。 请问其中的最大子段和是多少? 子段指的是数组中连续的一段数字,这些数字的和被称为子段和。 注意,至少要取一个数。
2023-01-08 15:39:29
204
原创 最长上升子段2
现在给你nn个整数a1,a2,…,ana1,a2,…,an。 请问其中的最长上升子段有多长? 上升子段指的是数组中连续的一段数字满足子段中的每一个数字(除了子段中的第一个数字)都比前面一个大。
2023-01-08 15:09:40
180
原创 斐波那契数列
斐波那契数列指的是以下数列: 1,1,2,3,5,8,...1,1,2,3,5,8,...,从第三个数开始,每个数是前两个数的和。现在问你这个数列的第nn项是多少。
2023-01-08 14:44:28
181
原创 插队1 c++
暴雪过后,蜗蜗国的公民们在排队领救济金,每个人都有一个想领的数额。本来已经队伍已经排好了,可是蜗蜗国的国王发现排在第一个的人违反了规则,所以要让他排到队伍末尾去。现在告诉你按照原本队伍的顺序,每个人想领救济金的数额,请你帮国王统计一下改变之后的救济金情况,并且按照队伍顺序输出救济金的金额。
2023-01-07 20:36:43
737
1
海龟编辑器python
2023-01-01
python小游戏sfdsfsdfsdfsdfsdfsd
2023-01-01
Graham算法求解P3829(luogu)信用卡时WA,求调。
2025-01-25
【2024年中山市信息学邀请赛小学组线上赛】宝石迷阵c++
2024-06-11
蜗蜗国的超精度C++
2023-06-20
c++dmsdfsdfv
2023-05-31
投票统计2c++assd
2023-05-17
缺失的数c++skdkfd
2023-01-05
PYTHON属性错误怎么办?
2022-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅