摘要:
一图流 参考代码: #include<bits/stdc++.h> #define ll long long #define db double #define filein(a) freopen(#a".in","r",stdin) #define fileot(a) freopen(#a".ou 阅读全文
摘要:
今天研究一下指针的一些东西,方便之后使用。 地址 我们用 \(\&\) 来获取变量的地址。当这个用于定义的时候表示引用。 int a=1; std::cout<<&a<<std::endl; int &b=a; printf("%d\n",b); b=2; printf("%d %d\n",a,b) 阅读全文
摘要:
我们发现有的时候我们莫队不方便维护加或减中的一个,只方便维护另一个,我们就要考虑另外一种更加针对化的莫队。 回滚莫队 先开一个例题 「JOISC 2014 Day1」历史研究 题目大意:一个序列,多个询问。每次询问一段区间 \([l,r]\) ,定义重要度为一个数出现次数与其权值的乘积,求区间中的重 阅读全文
摘要:
BZOJ4713 题目大意:有 \(n\) 个点 \(n-1\) 条边,每条边有一个字符。给你 \(m\) 个字符串 \(s_i\),问每个字符串是否可以通过树上的一条简单路径表示。 \(n,m\le 30000,\sum |s_i|\le 30000\) 题解 一眼可以看出是点分治,因为路径可以看 阅读全文
摘要:
AGC007E Shik and Travel 题目大意:\(n\) 个点的二叉树,每个点要么两个儿子,要么没有儿子,每条边有边权。 你从 \(1\) 号节点出发,走到一个叶子节点。然后每一天,你可以从当前点走到另一个叶子。最后回到 \(1\) 号节点,要求到过所有叶子并且每条边经过恰好两次。求一种 阅读全文
该文被密码保护。 阅读全文
摘要:
虚树(Virtual Tree) 题目引入 [SDOI2011]消耗战 题目大意:一颗树,上面有 $k$ 个资源点,拆一些边,使得 $1$ 号点不能到达任何资源点。现在要使得拆除的边的权值和最小。总共有 $m$ 次询问,每次给出资源点。 $n\le 2.5\times 10^5,m\le 5\tim 阅读全文
摘要:
前置知识 点双连通分量 圆方树 用于维护仙人掌或无向图的重构图。其实本质上就是缩了点,但又没完全缩点的点双连通分量。 直接告诉你构建方法,先求出点双连通分量,然后为每个点双连通分量创造一个方点,而原图上的点为圆点。我们在新图上把一个连通分量内的所有点与对应方点连接,得到一棵树(或者不连通图得到森林) 阅读全文
摘要:
前置知识 Tarjan入门 定义 对于无向图中的两点 \(u,v\),若无论删去哪条边都不能使得它们不连通,那么我们称 \(u,v\) 边双连通。 对于无向图中的两点 \(u,v\),若无论删去哪个点都不能使得它们不连通,那么我们称 \(u,v\) 点双连通。 其中边双连通具有传递性,点双连通不具有 阅读全文