你有一个无向连通图,边的总数为偶数。
设图中有k个奇点(度数为奇数的点),你需要把它们配成k/2个点对(显然k被2整除)。对于每个点对(u,v),你需要用一条长度为偶数(假设每条边长度为1)的路径将u和v连接。每条路径允许经过重复的点,但不允许经过重复的边。这k/2条路径之间也不能有重复的边。 ...
分类:
其他好文 时间:
2020-01-25 00:59:46
阅读次数:
115
https://www.lydsy.com/JudgeOnline/problem.php?id=1845 将所有三角形的端点、交点按x坐标排序,从左往右扫描线 每相邻两根扫描线a和b之间的形状是若干个不相交的梯形或三角形 用公式:中位线长度*高 计算面积 高就是两条扫描线之间的距离 中位线,计算x ...
分类:
其他好文 时间:
2020-01-21 16:07:09
阅读次数:
92
很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n。可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺。
你想对这两个串重新进行匹配,其中A为模板串,那么现在问题来了,请回答,对于B的每一个位置i,从这个位置开始连续... ...
分类:
其他好文 时间:
2020-01-20 21:05:40
阅读次数:
73
bitset大概就是让你轻松建立一个很长的二进制数来存东西,并提供了快捷的操作和优美的常数。 #include <bitset> bitset <32> b;32为长度 需要引用头文件,定义一个bitset。 stl的东西,所以从0开始。 支持左右移。 支持下标访问修改。 b.any() b中是否存 ...
分类:
其他好文 时间:
2020-01-20 10:03:08
阅读次数:
107
直接树链剖分就可以啦。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <algorithm> 5 using namespace std; 6 const int MAXN = 110000; 7 typ ...
分类:
其他好文 时间:
2020-01-20 09:54:09
阅读次数:
72
首先线性基是什么呢。我们考虑我们有n个数。子集数量为2^n个。我们将每个子集内的数全部异或起来。得到一个值。但是我们考虑这些值内会可能存在重复的,太多了。不便于运算。所以我们考虑,能不能除去重复的。 我们假定n个数都是<10^9。我们考虑使用一个30*30的矩阵。其中其中第一行,存一个最高位1 ...
分类:
其他好文 时间:
2020-01-20 09:43:23
阅读次数:
72
数据不是很大,我们可以通过莫队算法来很轻易的解决这个问题。注意不要搞混n,m变量。 按照一定顺序来进行操作询问,使得重复操作尽可能的少。我们考虑从一个已经得出的[l,r]的答案,转移到[a,b]的答案就是两个点的曼哈顿距离。可以使用最小曼哈顿距离生成树来解决。但是代码量过大。我们有更简单的解决策略。 ...
分类:
其他好文 时间:
2020-01-20 09:17:12
阅读次数:
71
【题解】Query on a tree III [SP1487] [Bzoj1803] 传送门: "$\text{Query on a tree III [SP1487]}$" "$\text{[Bzoj1803]}$" 【题目描述】 给出一棵 $n$ $(n \leqslant 10^5)$ 个节 ...
分类:
其他好文 时间:
2020-01-18 21:10:09
阅读次数:
116
"bzoj" "Luogu" 你要用ATGC四个字母用两种操作拼出给定的串: 1.将其中一个字符放在已有串开头或者结尾。 2.将已有串复制,然后reverse,再接在已有串的头部或者尾部。 一开始已有串为空。求最少操作次数。 len using namespace std; namespace RK ...
分类:
其他好文 时间:
2019-12-22 12:33:12
阅读次数:
81
"bzoj" "Luogu" 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。 现在给出一个长度为N的01字符串,求它有多少个子串是反对称的。 题解时间 这玩意咋看都像是回文串不是嘛 ...
分类:
其他好文 时间:
2019-12-22 12:24:28
阅读次数:
89