随笔分类 - 数据结构 -- 线段树
摘要:"传送门" 简单的线段树区间修改区间查询,但是因为数据范围过大,所以采用动态开点的方法(注意一下空间问题)。 也可以直接对询问区间的端点离散化然后建树,这种方法时间复杂度和空间复杂度都比较优秀。 给出动态开点的代码:
阅读全文
摘要:"传送门" 题意: 坐标轴上有$n$个机器人,每个机器人带有属性$x,r,q$,分别表示位置、可视半径以及智商。 现在定义智商相近为两个机器人的智商差的绝对值不超过$K。 现在问有多少对机器人,他们在互相的可视范围内并且智商相近。 思路: ~~一开始没注意到互相在对面的可视范围内,以为是主席树模板题
阅读全文
摘要:"传送门" 题意: 现在有$n$堆石子,每堆石子有$a_i$个。 之后会有$m$次,每次选择$[l,r]$的石子堆中的石子扔$k$个,若不足,则尽量扔。 现在输出$1$~$m$次,每次最多能取到多少石子(输出第$i$次的情况时,要考虑前$i 1$次)。 给出的区间不存在包含关系。 思路: 稍微暴力点
阅读全文
摘要:"传送门" A The Fool 整除分块即可。 B The World 模拟即可。 C Justice 题意: 给出$n$个数$k_i$,每个数的权值为$\frac{1}{2^{k_i}}$。 现在问能否将这些数划分为两个集合,使得每个集合里面数的权值和不小于$\frac{1}{2}$。 若合法,
阅读全文
摘要:"传送门" A Maximum Multiple 推一下式子暴力判断即可,范围不会太大。 Code cpp include define MP make_pair define fi first define se second define sz(x) (int)(x).size() // def
阅读全文
摘要:"传送门" A. 2048 Game 乱搞即可。 Code B. Knights 直接按奇偶分类其实就行,但我写了个$dfs$... Code C. Perfect Team 直接输出就行,但我写了个二分... Code D. Make The Fence Great Again 题意: 给出$n$
阅读全文
摘要:"传送门" A. Enju With math problem 题意: 给出$a_1,\cdots,a_{100}$,满足$a_i\leq 1.5 10^8$。 现在问是否存在一个$pos$,满足: $$ \forall x\in [1,100],a_x=\varphi(x+pos 1) $$ 思路
阅读全文
摘要:"传送门" A. Creating a Character 暴力枚举显然不行,推一下式子就出来了,注意一下边界条件。 Code cpp include define INF 0x3f3f3f3f using namespace std; typedef long long ll; const int
阅读全文
摘要:"传送门" A. The beautiful values of the palace 题意: 给出一个$n n$的矩阵,并满足$n$为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充。 之后会给出$m$个有效数字的坐标,坐标左下角为$(1,1)$,右上角为$(n,n)$,其余数字都为$0
阅读全文
摘要:"传送门" 题意: 给出$n$个数,然后求$\sum_{i=1}^n\sum_{j=i}^nmex(i,j)$。$mex(i,j)$表示区间$[i,j]$的$mex$。 思路: 考虑枚举左右端点的其中一个,然后快速统计答案。 观察发现对于一个$a_i$,如果区间左端点从包含它到了不包含的状态,那么其
阅读全文
摘要:"传送门" A.\^&^ 题意: 找到最小的正数$C$,满足$(A\ xor\ C)\&(B\ xor \ C)$最小。 思路: 输出$A\&B$即可,特判答案为0的情况。 Code cpp include typedef long long ll; typedef unsigned long lo
阅读全文
摘要:2019牛客暑期多校训练营(第八场) "传送门" A.All one Matrices 枚举每一行作为极大矩阵的底部,然后枚举列根据$up[i][j]$来确定矩阵高度,通过单调栈找到其左右最远扩展位置,之后通过预处理出行$1$个数的前缀和,判断一下下一行对应位置是否全为$1$即可。 Code cpp
阅读全文
摘要:2019牛客暑期多校训练营(第七场) "题目链接" A.String 暴力$dp$即可。 Code cpp include using namespace std; typedef long long ll; const int MAXN = 10 + 5, INF = 0x3f3f3f3f, MO
阅读全文
摘要:2019 Multi University Training Contest 6 B.Nonsense Time 首先有这样一个结论:随机生成序列的期望$LIS$长度为$O(\sqrt{n})$。 ~~然后就可以愉快的暴力了。~~ 考虑逆序时间,即每次删去一个数,并回答询问。 因为限制$LIS$的长
阅读全文
摘要:Educational Codeforces Round 67 D. Subarray Sorting "传送门" 题意; 给出两个数组$a,b$,现在可以对$a$数组进行任意次排序,问最后能否得到$b$数组。 $n\leq 3 10^5,a\leq n.$ 思路: 首先注意到任意次排序可以等价于任
阅读全文
摘要:Educational Codeforces Round 69 (Rated for Div. 2) E. Culture Code "题目链接" 题意: 给出$n$个俄罗斯套娃,每个套娃都有一个$in_i,out_i$,并满足$out_i in_i$。定义套娃$i$能套在套娃$j$里面,当且仅当$
阅读全文
摘要:2019 Multi University Training Contest 3 "题目链接" Blow up the city 首先考虑建立一个虚根,与所有反图中入度为$0$的点连边形成一颗树,然后考虑建出其支配树。对于$DAG$来说比较简单,反图中按着拓扑序来搞,这样就可以保证处理一个点时,其父
阅读全文
摘要:2019 Multi University Training Contest 2 "题目链接" Beauty Of Unimodal Sequence 这个题的最长长度好求,主要是考虑如何字典序最小以及字典序最大。 对于字典序最小,最直接的想法就是一个一个取,然后看剩下的能不能满足条件;而字典序最大
阅读全文
摘要:2019牛客多校第四场题解 "题目链接" A.meeting 设最远关键点距离为$d$,那么答案就是$\lceil\frac{d}{2}\rceil$。 直接换根胡乱dp也行。。 Code cpp include using namespace std; typedef long long ll;
阅读全文
摘要:2019牛客多校训练第二场题解 "题目链接" A.Eddy Walker 打表即可发现答案为$\frac{1}{n 1}$,注意特判。 证明的话$1$~$n 1$会均分概率,因为对于这些数来说走法都是一样的:假设当前为$i$,而目前走到了$i 1$或者$i+1$,之后就相当于一条链上的随机游走了。
阅读全文