![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
-----二进制
litmxs
博客内容如有错误,还望指正
展开
-
集合的整数表示
挑战程序设计竞赛 P156 集合运算 二进制表示 空集 0 只含有第i个元素的集合 1<<i 含有全部n个元素的集合 (1<<i)-1 判断第i个元素是否属于集合S if((S>>i) & 1 向集合S中加入第i个元素 S|=(1<<i) 从集合S中去除第i个元素 S&=(~(1<<i)) 集合S和T的并集 S|T 集合S和T的交转载 2017-03-17 21:43:40 · 360 阅读 · 0 评论 -
ST表模板
ST表效率比线段树高, 可以查询区间最值, 但不能实时更新mi[i][j]代表从i开始, 往后2^j个元素的最小值, 也就是区间[i, i+2^j-1]的最小值 预处理时利用mi[i][j-1] 和 mi[i+(1<<(j-1))][j-1]更新mi[i][j] 查询是也是通过两段相互重合的比要查询区间小一点的区间得到最小值 复杂度预处理O(nlogn)O(nlog^n), 查询O(logn)原创 2017-10-15 17:18:48 · 289 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) 877 E. Danil and a Part-time Job DFS序 线段树
题目链接: E. Danil and a Part-time Job题目大意一棵有根树, 每个节点可以是1或者0, 两种操作: 1. pow v: 将v节点的子树中所有节点的值反置(1变0, 0变1, 相当于异或1) 2. get v: 输出v节点的字数中1的个数 节点个数: 1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5, 操作次数: 1≤q≤2⋅1051 \leq原创 2017-10-26 00:10:18 · 235 阅读 · 0 评论 -
Codeforces Round #378 (Div. 2) F. Drivers Dissatisfaction图论 树链剖分 最小生成树+最近公共祖先+倍增法或树链剖分 模板
题目链接:F. Drivers Dissatisfaction题目大意无向图有n个节点,m条边,每条边有wiwiw_i(边的权值),cicic_i(让wiwiw_i减少1需要花费ci)ci)c_i)两个属性 现在有预算S,可以用这些钱让一些边的权值减小(边的权值可以减少到0甚至负数) 设计一个方案,减小某些边的权值,使得这张图的最小生成树的权重和最小 输出最小生成树的权值和,以及最小...原创 2018-07-12 13:03:39 · 250 阅读 · 0 评论