- 博客(7)
- 收藏
- 关注
原创 洛谷P9176 [COCI 2022/2023 #4] Vrsta题解
接下来就是关键点了,我们如何去找到中间的那一个人的身高呢,我们直接二分查找(因为我们整个权值树状数组可以看成是一个数轴,有序的,不明白可以参照我主页的一篇文章),找到整个权值树状数组上所对应在中间那一人的离散化后所对的“身高”,当然是手写的,这也是主包最烦的,直接因为手写二分查找调了半个小时。那么我们这里处理出来的离散化后所对的“身高”,那我们当然要在存一个数组,去映射离散化后的“身高”所对的真实身高,并实时存储当前队伍中的人数,那么我们的问题就解决啦,下面给大家上代码。
2025-08-03 22:32:59
223
原创 洛谷P3608 [USACO17JAN] Balanced Photo G题解
其实特别的好理解,如果一头奶牛左边比他高的奶牛数量,和奶牛右边比他高的奶牛数量,其中大的数是小的数的两倍还要更多,敲重点,是更多,千万不能等于(别问我怎么发现这个细节的,问就是我也犯了这个错),那么称这头奶牛不平衡,求不平衡奶牛数量。
2025-08-02 13:53:29
263
原创 浅谈权值树状数组与逆序对问题
权值树状数组,顾名思义,带权的树状数组,其实就是把整个树状数组的操作变换到一个数轴上处理,常常处理左(或右)边比自己大的数的个数,即我们熟知的逆序对问题,那么,我今天就来给大家详细讲述一下逆序对问题,对应洛谷P1908的逆序对模板题。这是第一次插入操作,在数轴上插入5,要找逆序对,我们肯定就找在这个数插入之前,就已经插入的,并且在对应数轴位置的在插入数对应位置的右边的数的个数,很明显,5是无法与出现过的数(压根没有)组成逆序对的。好了,逆序对问题已经讲完了,如果还没理解的同学,可以看代码,在理解一下!
2025-08-02 13:45:19
235
原创 洛谷UVA11661题解
就将当前距离与当前距离最小值对比。这种方法之所以能保证最小,是因为,这个其实并没必要每一组 R 和 D 都遍历一遍,因为如果碰到一个新的自己,那他与后面的对应的要找的字符的距离,绝对比前一个自己的距离小。题意其实还是蛮好理解的,就是多组数据,输入字符串长度和字符串,字符串中有四种字符,R 表示餐厅,D 表示药店,Z 表示两者都有,. 表示空地。思路也非常简单,我们遍历这个字符串,初始设 R 和 D 的位置为。,碰到 R 或 D 就进行位置更新,如果当前两者位置都不是。应该不需要多注释了吧。
2025-03-08 11:16:49
343
原创 题解:AT_arc110_c [ARC110C] Exoswap
使用一次 for 循环遍历每一个数组中的数并进行交换,每一次交换操作可以用数组或 vector 容器存储,这边我就示范数组做法吧。每一次我们都要刷新一次右边界变为当前这个位置应有的数的位置减一,再套一层循环,从右区间遍历至当前的。,分别表示最右边搜索过的下标,每一个数代表的序列,每个数的位置,认识了这些东西,就可以继续往下看了。,每次对相邻数进行交换操作,记得每次调换位置数组并将交换位置存入数组,最后输出。次交换相邻元素操作,最后输出任意一种可行的每一次交换的。的情况,讲第一种前先介绍几个变量与数组,
2025-01-29 13:26:47
396
原创 洛谷P11387[COCI 2024/2025 #1] 身份证 / Osobna题解
相关,我们直接使用 find 函数和 substr,第一行用 c.find('<'),找出第一个 <,然后输出 c.substr(0 , pos),并在输出前将其除第一个外的所有字符全变为小写。格式我就不多讲了,以下均忽略。有关,日与月,可直接用 substr 输出,分别为 b.substr(4 , 2),b.substr(2 , 2),而年需要判断 b.substr(0 , 2) 的整数形式与。有关,较易,直接输出 a.substr(15 , 11)。这就是整体思路了,下面为完整代码,注释我就不给了。
2025-01-29 12:24:16
447
原创 洛谷P1269信号放大器题解
先将他的编号与权值存入树中,然后进入主要的 DFS 部分,参数有节点,与父亲连接的权值,父亲节点,父亲节点是用来判重的,也可以用数组判重,遍历子节点,如果这个子节点所对应的权值大于了初始信号,直接输出 ```No solution.```,然后往下递归,找出每个子节点向下递归所需的权值数,并求出所有子节点中的最大值。}//需要修建放大器。
2025-01-27 21:55:07
674
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅