摘要: A.数数 不会。 暴力 dp 10pts。 好像数据有些水,直接输出 \(\prod (b_i-c+1)\) 能得 30pts /yiw。 B.Palindrome 设原串为 \(a\),最终形成的回文串为 \(b\)。最后显然是求 \(a\) 关于 \(b\) 的逆序对个数。 我们需要构造 \(b 阅读全文
posted @ 2023-10-13 21:02 Flandreqwq 阅读(12) 评论(0) 推荐(3) 编辑
摘要: 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 阅读(50) 评论(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 阅读(10) 评论(0) 推荐(1) 编辑
摘要: qwq 阅读全文
posted @ 2023-08-07 19:53 Flandreqwq 阅读(45) 评论(1) 推荐(3) 编辑
摘要: 处理区间赋值问题的神器! 珂朵莉树的实现非常简单(baoli),建树时把区间的左右端点和权值作为一个节点 全扔到std::set(或者链表)中维护即可 split: 核心操作之一,将一段区间提取出来,在此之上进行一些操作 assign: 核心操作之二,也是降低珂朵莉树时间复杂度的重要操作,把一段区间 阅读全文
posted @ 2023-06-15 20:53 Flandreqwq 阅读(99) 评论(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 阅读(22) 评论(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 阅读(38) 评论(3) 推荐(3) 编辑
摘要: qwq 阅读全文
posted @ 2023-06-07 14:55 Flandreqwq 阅读(18) 评论(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 阅读(11) 评论(0) 推荐(1) 编辑
摘要: 维护一段区间内的排名,第k小,前驱,后继 线段树套平衡树即可 线段树上的每一个节点都建一棵平衡树维护所在的这一区间 修改和查前驱和后继就在线段树上对相应的区间进行操作即可 $O(log^2)$ 查排名就查找每一小段区间内此数的排名求和,查询每一区间小于此数的个数,最后求和加上1(它本身)即可也能在 阅读全文
posted @ 2023-05-31 16:42 Flandreqwq 阅读(16) 评论(0) 推荐(1) 编辑