问题 B: 集合论subset 时间限制: 1 Sec 内存限制: 512 MB 题面 题面谢绝公开。 题解 貌似可以直接用数组模拟。 不过我当时觉得bitset的&操作可以完美解决交集问题,完全忽略了bitset位数对时间复杂度的影响。 base:对于插入的每一个元素,先加上一个base(有负值) ...
分类:
其他好文 时间:
2019-10-21 09:50:32
阅读次数:
90
1:Bitset介绍 BitSet 是用于存储二进制位和对二进制进行操作的 Java 数据结构, 此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或 ...
分类:
其他好文 时间:
2019-10-19 17:41:45
阅读次数:
106
快速幂带个log,可以预处理,有的题会卡 bitset不能开太大,会ce,bool至少不会ce,不需要清空的情况下还是开bool吧 bitset越界会wa0,数组开到哪用到哪,测试点分治要分开,不要因为一部分分卡掉另一部分分 单调栈,堆的使用 abs在c++11里是在iostream库里的,不是cm ...
分类:
其他好文 时间:
2019-10-12 09:15:51
阅读次数:
80
题目描述 我们称一个有向图$G$是传递的,当且仅当对于图$G$的三个不同顶点$a,b,c$,若图$G$中有一条边从$a$到$b$且有一条边从$b$到$c$,那么图中也有一条边从$a$到$c$。我们称一个图$G$是竞赛图,当且仅当它是一个有向图且它的基图是完全图。也就是,将无向完全图的每条边重新定向就 ...
分类:
其他好文 时间:
2019-10-10 22:07:18
阅读次数:
92
妙妙题…… 这道题这要求%2的个数,肯定有什么性质 ~~于是我们想到了用$bitset$来处理~~ 由于三操作有$gcd$,~~于是我们又想到用反演来解决~~ 我们回忆一下反演的柿子 设$f(x)$为x出现了多少次,$F(x)$为x的倍数出现了多少次 $$F(d) = \sum_{d|x}f(x)$ ...
分类:
其他好文 时间:
2019-10-09 21:06:00
阅读次数:
94
1. 考虑没有限制的情况,一定是把操作离线下来,按照边权从小到达做。可以发现,如果没有限制,完全图是多余的,直接拿树边进行合并就可以了。我们要做这么一件事情,把每个点属于的图上联通块看做颜色,每次合并链上相邻两块颜色不一样的,那么我们再额外使用一个并查集,把树上相邻的颜色相同的点合并在一个集合里,每... ...
分类:
其他好文 时间:
2019-10-08 21:45:59
阅读次数:
112
对于一个叫做a的bitset: a.size() 返回大小(位数) a.count() 返回1的个数 a.any() 返回是否有1 a.none() 返回是否没有1 a.set() 全都变成1 a.set(p) 将第p+1位变成1 a.set(p, x) 将第p+1位变成x a.reset() 全都... ...
分类:
其他好文 时间:
2019-10-03 12:25:16
阅读次数:
99
大意: 给定串$s,t$, 给定整数$x$, 求判断$t$是否能划分为至多$x$段, 使这些段在$s$中按顺序,不交叉的出现. 设$dp_{i,j}$表示$s$匹配到$i$位, 划分了$j$段, 匹配到$t$中的最大位置 每次取一个极长的lcp转移即可, lcp可以二分哈希或者用后缀数组+RMQ求 ...
分类:
编程语言 时间:
2019-10-01 11:49:06
阅读次数:
69
给定一个长度为n的0/1序列,选取一段区间,将区间内的0改为1,1改为0,问这么一次操作后序列中1的个数最多为多少? ...
分类:
其他好文 时间:
2019-10-01 09:41:02
阅读次数:
67
BitSet 的简单介绍 BitSet,即位图,是位操作的对象,值只有 0 或 1(即 false 或 true)。 Java 的 BitSet 内部维护着一个 long 数组,默认初始化时数组的长度为 1,随着数据的增加,BitSet 会自动扩容。 构造方法 常用方法 BitSet 的简单使用 j ...
分类:
其他好文 时间:
2019-09-23 00:00:37
阅读次数:
124