摘要: A.长春花 简单题。打表发现情况并不多,记录下平方后模 \(p\) 对应的值,然后枚举 \(a\),用链表维护即可。 点击查看代码 #include<bits/stdc++.h> using ll=long long;using ull=unsigned long long; int a[10000 阅读全文
posted @ 2023-10-11 21:21 Flandreqwq 阅读(56) 评论(1) 推荐(5) 编辑
摘要: 此类线段树一般用来处理区间最值操作或者区间历史最值问题。 例如 线段树3,支持如下操作: 1 l r k:将 \(a_l\sim a_r\) 加上 \(k\)。 2 l r v:将 \(a_l\sim a_r\) 对 \(v\) 取最小值。 3 l r:求 \(a_l\sim a_r\) 的和。 4 阅读全文
posted @ 2023-08-15 07:57 Flandreqwq 阅读(27) 评论(0) 推荐(1) 编辑
摘要: qwq 阅读全文
posted @ 2023-08-07 19:53 Flandreqwq 阅读(73) 评论(1) 推荐(3) 编辑
摘要: 处理区间赋值问题的神器! 珂朵莉树的实现非常简单(baoli),建树时把区间的左右端点和权值作为一个节点 全扔到std::set(或者链表)中维护即可 split: 核心操作之一,将一段区间提取出来,在此之上进行一些操作 assign: 核心操作之二,也是降低珂朵莉树时间复杂度的重要操作,把一段区间 阅读全文
posted @ 2023-06-15 20:53 Flandreqwq 阅读(123) 评论(3) 推荐(10) 编辑
摘要: 考虑递推 假设对于前 $i$ 个线性同余方程,我们得到了 $x$ 的一个解 其通解显然为 $x+k*M_i$ 其中 $M$ 为前 $i$ 个方程的最小公倍数 对于第 $i+1$ 个方程,我们需要求出 $x+t*M_i \equiv a_{i+1} (mod \,\, m_{i+1})$ 中的t值 ` 阅读全文
posted @ 2023-06-15 20:10 Flandreqwq 阅读(25) 评论(2) 推荐(3) 编辑
摘要: ```cpp struct bignum{ #define base 10000 int a[20000]; bignum(){memset(a,0,sizeof(a));} inline void init(){memset(a,0,sizeof(a));a[0]=1;a[1]=1;} inlin 阅读全文
posted @ 2023-06-12 18:34 Flandreqwq 阅读(42) 评论(3) 推荐(3) 编辑
摘要: qwq 阅读全文
posted @ 2023-06-07 14:55 Flandreqwq 阅读(26) 评论(0) 推荐(1) 编辑
摘要: 先暴力水过了wwwwwwwwwwwwwww ``` #include // //#define LOCAL FLANDRE KAWAII #ifndef LOCAL constexpr int SIZE(1'9';ch=getchar()) f^=ch=='-'; for(;ch>='0'&&ch 阅读全文
posted @ 2023-06-01 18:43 Flandreqwq 阅读(17) 评论(0) 推荐(1) 编辑
摘要: 维护一段区间内的排名,第k小,前驱,后继 线段树套平衡树即可 线段树上的每一个节点都建一棵平衡树维护所在的这一区间 修改和查前驱和后继就在线段树上对相应的区间进行操作即可 $O(log^2)$ 查排名就查找每一小段区间内此数的排名求和,查询每一区间小于此数的个数,最后求和加上1(它本身)即可也能在 阅读全文
posted @ 2023-05-31 16:42 Flandreqwq 阅读(18) 评论(0) 推荐(1) 编辑
摘要: 在机房里看到英语单词就顺便记下来了,持续更新 阅读全文
posted @ 2023-02-03 15:27 Flandreqwq 阅读(276) 评论(8) 推荐(4) 编辑