合集-知识点

摘要:# ST表 ST表可以 O(nlogn)O(nlogn) 预处理,O(1)O(1) 查询最值 解决RMQ(区间求最值)的问题 f[i][j] 代表从i开始长度为 2j 的序列的最大值(或最小值,下文以最大值为例) ## 例题 [洛谷P3865](https://www.luogu 阅读全文
posted @ 2023-06-11 16:19 muzqingt 阅读(22) 评论(3) 推荐(0) 编辑
摘要:### exgcd ``` __int128 exgcd(__int128 as,__int128 bs,__int128 &x,__int128 &y){ if(bs==0){ x=1; y=0; return as; } __int128 ans=exgcd(bs,as%bs,y,x); y-= 阅读全文
posted @ 2023-07-18 20:42 muzqingt 阅读(17) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-08-14 20:23 muzqingt 阅读(6) 评论(1) 推荐(2) 编辑
摘要:# Dirichlet学习笔记 ## Dirichlet前缀和 狄利克雷前缀和是求解形如 bk=i|kai 的式子 首先我们可以想到枚举 i ,再枚举 i 的倍数 j bj=bj+ai 此时的时间复杂度为 $n/1+n/2+n/3 阅读全文
posted @ 2023-08-12 07:35 muzqingt 阅读(32) 评论(0) 推荐(1) 编辑
摘要:# 凸包 由于 Andrew 算法较快,所以主要介绍 Andrew 的实现方式 我们把输入按照 x 为第一关键字,y 为第二关键字进行从小到大排序,保证了 1n 两个端点把凸包分成了两个部分(称为凸壳),从 1 遍历到 n 再从 n 遍历到 1 ,把遍历 阅读全文
posted @ 2023-08-08 21:29 muzqingt 阅读(24) 评论(2) 推荐(2) 编辑
摘要:更改栈空间和内存占用 Linux 在当前终端使用 ulimit(-s)栈空间 kbytes,(-t)时间,单位为秒(-v)内存 kbytes, 例如 ulimit -s 262144 -t 1 -v 262144 为1s,256mb Windows 添加编译选项-Wl,--stack=<nu 阅读全文
posted @ 2023-07-25 15:36 muzqingt 阅读(16) 评论(0) 推荐(0) 编辑
摘要:扩展域并查集 可以维护类似于 P1892[BOI2003]团伙 的题目。 题目中有两种关系:朋友和敌人,并规定 一个人的朋友的朋友是朋友 一个人的敌人的敌人是朋友 引入反集的概念,例如有三个人 a,b,c,他们的反集为 a,b,c。 如果 a,b 为敌人,连接 \(a, 阅读全文
posted @ 2023-10-30 17:27 muzqingt 阅读(23) 评论(0) 推荐(0) 编辑
摘要:状压枚举子集 状压枚举子集就是从右往左删除 1 的过程,删除一个 1 并把 1 右边的 0 变成 1; 可以发现这就是状压后的数减 1,与原集合进行按位与来去掉多余的 1。 例如 \((10110)_2​\to(10100)_2​\to(100 阅读全文
posted @ 2023-10-31 16:40 muzqingt 阅读(34) 评论(0) 推荐(0) 编辑
摘要:虚树 虚树可以应用于树形 DP 的加速。当题目规定查询点集的大小和 105 时可以用虚树解决。 虚树的原理是在原树上重新建一棵树,使得树上只包含要询问的点和它们的 lca。 普通树形 DP 的时间复杂度为 O(n2)。最坏形成一棵二叉树,点集大小为 阅读全文
posted @ 2023-11-06 21:27 muzqingt 阅读(76) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示