线段树优化建图板子题。。。。。。 暴力建边 \(\mathcal O(n^2)\) 肯定会 TLE 但仔细分析可以发现,题面中有一个我们非常熟悉的字眼“区间”,这启示我们,可不可以以此作为解题的突破口呢? 答案是肯定的。想到区间我们可以联想到各种我们很熟悉的 trick,如前缀和、差分、线段树等。 ...
分类:
其他好文 时间:
2020-08-11 10:42:25
阅读次数:
71
题目链接https://loj.ac/problem/6277 1 #include<bits/stdc++.h> 2 3 using namespace std; 4 typedef long long ll; 5 const int maxn = 1e5 + 10; 6 const int in ...
分类:
其他好文 时间:
2020-08-08 21:23:31
阅读次数:
77
给定 $n,m,k$ 和 $n$ 个数的序列 $a_i$,$m$ 次求区间 $[l,r]$ 中异或值为 $k$ 的子序列个数。
数据范围:$1\le n,m\le 10^5$,$0\le k,a_i\le 10^6$。
(分块做法) ...
分类:
其他好文 时间:
2020-08-08 17:29:32
阅读次数:
59
这道题判断如何选择区间进行01变换让数列中的1个数最多,可以用暴力做法来做,每选择一个区间求出一个值,最后找到一个最大值。 Iahub got bored, so he invented a game to be played on paper. He writes n integers a 1,? ...
分类:
其他好文 时间:
2020-08-08 09:24:07
阅读次数:
84
点分冶是一种在树上处理区间问题的一种方式,对于一个树上两点之间的的路径,如果我们设置一个指定节点p(为树的重心)为根节点,那么会存在两种情况: 路径经过了根节点p 路径包含于p的某一棵子树中 对于第二类我们可以递归进行处理,对于第一类,我们将路径分为"x~p"和"p~y"两段,从p开始进行dfs,求 ...
第一章:基础算法 排序 快速排序 分治算法 确定分界点x(有三种方法,a、直接取左边界q[l],b、取中间值q[\((l +r)/ 2\)], c、随机) 调整区间,将区间划分为两段,左边所有的数都是小于等于x,右边所有的数大于等于x 递归处理左右两段 public void quickSort(i ...
分类:
编程语言 时间:
2020-08-07 00:26:11
阅读次数:
78
POJ3468 题目链接 POJ3468 题目概述 给出一个包含有$N$个元素的数组$a$,然后是$m$次操作,操作有以下两种类型: Q x y($x \leq y)\(计算\)\sum_^y a[i]$ C x y d$(x \leq y)\(将区间\)[x,y]$内部的每一个$a[i]$加上$d ...
分类:
其他好文 时间:
2020-08-05 19:43:49
阅读次数:
75
给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: [[1,4],[4,5]]输出 ...
分类:
其他好文 时间:
2020-08-05 10:41:07
阅读次数:
66
https://codeforces.ml/contest/1389/problem/F 法一:dp,所有区间按右端点排序,依次考虑“如果最后一个区间为该区间”的最优情况,它(叫做A)可以从一个“右端点比A的左端点小”的异类区间B转移过来,但是同时可以顺便把“B的右端点以右”的同类区间算上。算上同类 ...
分类:
其他好文 时间:
2020-08-04 09:49:31
阅读次数:
70
一般线段树与权值线段树 1.算法分析 一般还要开4N的数组 一般做单点修改、区间查询,加上懒标记后,可以做区间修改、区间查询 1.1 一般线段树 可以处理:区间加、区间乘、区间max/min、区间覆盖等问题 1.2 权值线段树 维护全局的值域信息,每个节点记录的是该值域的值出现的总次数。 使用二分的 ...
分类:
其他好文 时间:
2020-08-03 23:09:16
阅读次数:
69