medal-dreams

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2025年9月28日

摘要: 很久之前的码风了,函数名不是很好看,凑合看吧。 定义 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。-oiwiki 用途 对于区间的维护(包括查询,修改)操作,且要求时间复杂度在 \(O(\log n)\) 以内时,可以考虑线段树做法。 做法 线段树分为建树,区间修改,区间查询,单点查询, 阅读全文
posted @ 2025-09-28 19:50 medal_dreams 阅读(35) 评论(0) 推荐(0)

2025年9月19日

摘要: 思路 题意中拥有前进一名,输出编号排名,输出排名编号三个操作,若直接 $O(n)$ 遍历查找,铁定会 TLE。考虑用离散化或者数组来表示排名编号,编号排名。而 C++ 中正好有一个 STL 支持存储操作,它就是 map。 定义两个 map 变量 $m,mm$,其中 $m$ 表示编号对应的排名,$mm 阅读全文
posted @ 2025-09-19 10:49 medal_dreams 阅读(5) 评论(0) 推荐(0)

摘要: 题意 对于一个数,求将其转化为在十进制下所有位上是奇数所需要的最小代价。 思路 首先看样例,这种题我习惯先看样例来判断自己最初的想法,并且来向下做。 其实我第一眼看到这题是想在遇到某一位是偶数时将这一位 $+1$。但是看到样例后就放弃了这种做法,可见样例在这种题有多重要。 看第一组样例 input: 阅读全文
posted @ 2025-09-19 10:47 medal_dreams 阅读(12) 评论(0) 推荐(0)

摘要: 请注意:这是我很久之前在 luogu 发的一篇题解(虽然没过),当时水平欠佳,对于 KMP 的理解也没现在深刻,看看就行。。。luogu题解网址 好处 对于我们通常的判断一个字符串是否是另一字符串的子串,通常会用直接判断的方式:即依次判断每个字符是否相同,当不同时就将其后移继续判断。若用 $m,n$ 阅读全文
posted @ 2025-09-19 10:35 medal_dreams 阅读(12) 评论(0) 推荐(0)

2025年8月11日

摘要: 快读 inline int read() { int x = 0; int flag = 1; char c = getchar(); while(!isdigit(c)) { if(c == '-') flag = -1; c = getchar(); } while(isdigit(c)) { 阅读全文
posted @ 2025-08-11 18:40 medal_dreams 阅读(43) 评论(2) 推荐(0)