摘要: 先说结论 在每个操作均为log复杂度的前提下,set无法在判断顺序和重复关键字不同时完成对结构体元素的去重。 阅读全文
posted @ 2024-10-10 11:42 Starry___sky 阅读(151) 评论(1) 推荐(0) 编辑
摘要: 这应该算是一个很脍炙人口的小游戏了吧 (没玩过算我没说) 因为一共有 \(50\) 次询问机会,那最简单直接的方法就不难想到。 我们把 \(0 \sim9\) 全部询问一遍,如果回答两个整数不全为 \(0\),说明答案数字里有这个数码,然后我们把这个数记下来。这就用了$10$次。 然后我们把这四个数 阅读全文
posted @ 2020-12-23 22:47 Starry___sky 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 1.卡常 \( 总有人以为自己比编译器聪明 \;\;\;by\;\;bezel\) 我们可能确实没有编译器聪明,但是,为了防止CCF的老人机出现什么问题,卡一卡常还是有必要的。 如果实在被逼无奈,你什么 \(register, inline, fread\) 都能往上写 inline void qa 阅读全文
posted @ 2020-10-02 20:10 Starry___sky 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 一.单点修改 单点修改就很简单啦,直接递归到叶子节点修改就行 void modify(int k, int l, int r, int x, int v) { if(l == r && l == x) { tree[l] = x; return; } int mid = (l + r ) >> 1; 阅读全文
posted @ 2020-09-17 22:51 Starry___sky 阅读(170) 评论(0) 推荐(0) 编辑
摘要: (本系列函数参数表示为$k$节点存储区间$[l,r]$的和,查询/修改的点为$x$,查询/修改的区间为$[x,y]$) 上一篇简单介绍了以下线段树,本文就说一下线段树的构建与查询。(本系列均以区间和为例) 1.构建 我们从线段树的定义可以知道,$k$节点储存$ls(k)$和$rs(k)$两节点的和。 阅读全文
posted @ 2020-09-13 21:34 Starry___sky 阅读(189) 评论(1) 推荐(0) 编辑
摘要: 1.引入 给定一个区间$[1, n]$,希望你实现一种数据结构,支持以下操作: 1.修改$i$号节点的值。 2.询问区间$[i, j]$中所有节点的和。 这不是树状数组板子 3.修改区间$[i,j]$中所有节点的值 4.询问$i$号节点的值 这不还是树状数组板子 如果我要求一个数据结构,同时满足这四 阅读全文
posted @ 2020-09-13 21:33 Starry___sky 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 引入 给定两个整数$a,b$求$gcd(a,b)$别告诉我你不知道$gcd$ 1.欧几里得算法求最大公约数 利用性质 \(\gcd(a,b)==\gcd(b,a\%b)\) 采用递归或非递归实现 递归版: int gcd(int x, int y) { if(!) return x; return 阅读全文
posted @ 2020-09-12 22:43 Starry___sky 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 一.啥是逆元 若整数$b,p$互质,且$b\mid a$,则存在一个整数$x$,使得$\dfrac\equiv a\times x\pmod$。称$x$为$b$的模$p$乘法逆元,记为$b^{-1}\pmod$ 能不能整点人能看懂的 人能看懂的来了 若$bx\equiv1\pmod$,称$x$为$b 阅读全文
posted @ 2020-09-12 22:38 Starry___sky 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1.引入 现在有两个字符串$A$和$B$,求$B$是否是$A$的子串,如果是,输出第一个匹配的位置$(len_A = n\quad len_B = m)$ \(A = bacbababaabcbab\) \(B = ababaca\) 朴素算法 对于朴素算法,也就是暴力,我们将$B$的每一位于$A$ 阅读全文
posted @ 2020-09-12 22:31 Starry___sky 阅读(109) 评论(0) 推荐(0) 编辑
Live2D