10 2023 档案

查漏补缺
摘要:一整天查漏补缺,把快忘了怎么敲的代码复习理解掌握。(个人觉得还是很重要的,自己很熟练的就没放上来) -std=c++14 #include<bits/stdc++.h> #define It set<int>::iterator using namespace std; int main(){//f
8
0
0
扩展欧几里得算法(exgcd)推导
摘要:给定 ab,求解 ax+by=gcd(a,b) 的整数解。 考虑递归求解: 边界: 当 b=0 时,gcd(a,b)=a,即 ax+by=a,容易找到一组特殊解 x=1,y=0。 考虑一般情况: ax+by=gcd(a,b) \(ax
23
0
0
P9744 「KDOI-06-S」消除序列
摘要:题目传送门 这道题在比赛时先花了一个小时理解好题意才打了一个 70 分的 O(n2) 暴力。下午刚起床,有点困,还没进入状态,打得挺慢。 具体地,会发现操作实际上是在这个长度为 n 的序列找一个点 i,将 [0,i] 通过操作 1 全变 0
152
0
0
P5309 [Ynoi2011] 初始化
摘要:题目传送门 本来不想写这道 shabi 卡肠题的,但还是写了。 分块+根号分治。 考虑对 x 的大小分类讨论: 若 x>=n,很明显最多只会加 n 次,暴力加即可,用分块维护每个块内的 sum,查询就直接散块加上整块即可。 若 \(
10
0
0
P9474 [yLOI2022] 长安幻世绘
摘要:题目意思: 需要在元素互不相同的数列 a 中选出一个长度为 m 的元素互不相邻的子列,使得子列的极差最小。 做法 我们知道,对于一组数列,我们只需知道它的最大值和最小值,就可以得到它的极差。那么我们可以将数字从小到大排序,固定最小值,寻找最优的最大值,当最小值和最大值的位置固定了,那
9
0
0
汉诺塔(河内塔)题解
摘要:汉诺塔(河内塔)题解 我们定义 Tn 为根据规则将 n 个圆盘从一根柱子移动到另一根柱子的最少移动步数,按照这样的定义,本道题的答案实际上就是 Tn。 通过手动模拟,可得到 T1=1,T2=3。同时显然有 T0=0,即表示 0 个圆盘根本无需
74
0
0
约瑟夫问题及深入
摘要:问题大意: 从围成标有记号 1n 个人开始,每隔一个删去一个人,直到最后只有一个人幸存下来。例如 n=10 的起始图形: 删除的顺序是:2,4,6,8,10,3,7,1,9 ,最后 5 幸存下来。 解决: 我们设对于有 n 个人的环,最终幸存者编
55
0
0
P3970 [TJOI2014] 上升子序列
摘要:题目 先将 a[i] 离散化。 设 f[i] 表示以数字 i 结尾的上升子序列数量。 则有 f[i]=j=1i1f[j]。 考虑用线段树实时维护 f[j],就可以 logn 查询。 扫一遍整个序列,因为不能算重复,所以 \(ans
13
0
0
P8511 [Ynoi Easy Round 2021] TEST_68
摘要:题目传送门 看到异或最大值,根据套路不妨考虑 01trie。 通过 trie 找到异或值最大的点对 (x,y)。那么除了 (x,y)1 路径上的点之外,其他的点的答案就是 (x,y) 的异或值。 接下来考虑怎么算出这 (x,y)
8
0
0
P8512 [Ynoi Easy Round 2021] TEST_152
摘要:题目传送门 先考虑没有区间限制怎么做,即执行完所有操作在询问全局和。用 set 维护连续段,就是珂朵莉树,写个模板即可。 加上区间限制呢?先将询问按照 r 排序。又因为还要维护每个 l,就在颜色段上在记录加入时间。我们在时间维开个数据结构,简单的树状数组即可。时间复杂度 \(
8
0
0
阶乘幂(施工中)
摘要:下降阶乘幂: xm,读作“x 直降 m 次”。 xm=x(x1)(x2)...(xm+1),(m0) \(x^{\underline{-m}}=\frac{1}{(x+1)(x+2)...(x
127
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起