题意:给定一棵树,带边权。然后Q次询问,每次给出(u,v),求这个路径上最小的未出现的边权。 思路:树上莫队,求mex可以用分块或者bitset,前者可能会快一点。 莫队过程:求出欧拉序,即记录dfs的in和out时间戳。 然后摊平成数组,在数组上进行莫队。 一般的莫队需要单独考虑LCA,因为LCA ...
分类:
其他好文 时间:
2019-08-24 18:55:44
阅读次数:
72
思路:处理每一位右边第一组互质的数的右边数的位置,O(1)处理查询; 我们先处理对于一个数右边第一个与它互质的数 从n->1开始 对于每一个数 对其进行素因数分解,记录每一个素数被那些数所包含 同时二进制标记处理其本身与那些数不互质 最后对i-n取反 找第一个1出现的位置,就是右边与它互质的第一个数 ...
分类:
其他好文 时间:
2019-08-21 11:20:08
阅读次数:
59
```cpp include using namespace std; typedef long long ll; const int MAXK = 28; const int K = 4; const int BASE = 1 k) & (BASEMO)]++; for(int i = 1; i ...
分类:
编程语言 时间:
2019-08-20 00:40:37
阅读次数:
93
本质上就是暴力 用分块优化而已 时间复杂度$O(kn\sqrt n)$ 在高维时候可以把K D Tree吊起来打 cdq分治连影子都没了 cpp / @Date : 2019 08 13 19:48:10 @Author : Adscn (adscn@qq.com) @Link : https:// ...
分类:
其他好文 时间:
2019-08-14 14:50:33
阅读次数:
93
快速排序 快速排序是一个经典算法: vector容器 vector容器。随着元素的数量而改变大小。它其实就是数组,却比数组强得多。 下面看看它的几种操作: 它同样可以使用下标访问。(从0开始) bitset bitset用来压位,使复杂度在原来的基础上除以32 map map的用法还是很多的。 注意 ...
分类:
其他好文 时间:
2019-08-11 13:14:28
阅读次数:
87
A.1:41:18 solved by hl 大致就是一个图上染色判断是否有矛盾。 按照样例来看,似乎存在孤立点就要输出NO #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #inclu ...
分类:
其他好文 时间:
2019-08-09 19:15:24
阅读次数:
96
package cn.kgc.springtest2.demo1.dao; import java.util.BitSet; /** * @author * @create 2019-08-02 17:46 **/ public class sss { public static void main... ...
分类:
编程语言 时间:
2019-08-02 18:26:54
阅读次数:
455
"可达性统计" 给出一个n个点m条边的有向无环图,求每个点能到达的点的数目,$n,m\leq 30000$。 解 设$f[i]$表示点i能到达的点的状态(其中1表示能够到达,0表示不能到达),显然有30000个点,所以我们无法用long long存下,于是用bitset,问题在于这个方程没有明显的阶 ...
分类:
其他好文 时间:
2019-07-31 14:44:00
阅读次数:
97
#pragma GCC optimize(3) #include #define N 105 using namespace std; struct Node{ long long x; int Max; bitset avl,vis; friend bool operator r.x; } }; ... ...
分类:
编程语言 时间:
2019-07-22 13:01:12
阅读次数:
142
三维偏序(陌上花开) 题目背景 这是一道模板题 可以使用bitset,CDQ分治,K-DTree等方式解决。 题目描述 有 n 个元素,第 i 个元素有 ai?、bi?、ci? 三个属性,设 f(i) 表示满足 aj?≤ai? 且 bj?≤bi? 且 cj?≤ci? 的 j 的数量。 对于 d∈[0 ...
分类:
其他好文 时间:
2019-07-19 10:35:44
阅读次数:
109