博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: 题目大意 给定一个序列,求区间中大于mex的数有多少 \(n \leq 3 \times 10^5\) 思路一 主席树 考虑区间mex,本题中不考虑0,区间mex的取值范围为$[a_i,a_i + 1]$。 首先考虑区间mex求法,记$end_i$表示合并后第$i$个数的最后出现位置,对于一个区间$ 阅读全文
posted @ 2022-02-16 19:53 Allorkiya 阅读(97) 评论(1) 推荐(1) 编辑
摘要: 题目大意 给定一个序列,求区间出现次数为2次的数字有多少? \(n \leq 10^6\) 思路一 首先处理出第$i$个数上次出现的位置$pre_0$,上上次出现的次数$pre_1$,维护一个权值数组表示到第$i$个位置时的数字分布情况。 和HH的项链一样,离线查询维护即可。 由于答案具有前缀和性质 阅读全文
posted @ 2022-02-16 19:40 Allorkiya 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个序列,求区间出现次数为1次的数字有多少? \(n \leq 10^6\) 思路一 首先处理出第$i$个数上次出现的位置pre,维护一个权值数组表示到第$i$个位置时的数字分布情况。 处理一个区间时就是对于右端点为r时,$l \leq a[i] \leq r,pre[a[i]] < 阅读全文
posted @ 2022-02-16 18:31 Allorkiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个$n \times m$的棋盘,每个格子有两个权值$a,b$,A想最大化分差B最小化,A先出手。某格子可以下棋当且仅当其上方全部被下满并且左边全部被下满,请问下满整个棋盘的分数是多少? \(n,m \leq 10\) 思路 模拟下的过程,发现它图形永远都是要给上三角形。用二进制来维 阅读全文
posted @ 2022-02-13 23:51 Allorkiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个$n \times m$的棋盘,每天随机往里面一个空位置放一个棋子,问期望多少天之后棋盘每一行都有至少一个棋子,每一列至少一个棋子。 \(n,m \leq 50\) 思路 设$f_{i,j,k}$表示用$k$个棋子覆盖$i$行$j$列的概率是多少。 每次转移只有四种方式: 选已经覆 阅读全文
posted @ 2022-02-13 23:08 Allorkiya 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目大意 袋子里有 w 只白鼠和 b 只黑鼠,公主和龙轮流从袋子里抓老鼠。谁先抓到白色老鼠谁就赢,如果袋子里没有老鼠了并且没有谁抓到白色老鼠,那么算龙赢。公主每次抓一只老鼠,龙每次抓完一只老鼠之后会有一只老鼠跑出来。每次抓的老鼠和跑出来的老鼠都是随机的。公主先抓。问公主赢的概率。 \(w,b \le 阅读全文
posted @ 2022-02-13 22:18 Allorkiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个序列,支持区间每个元素变为它们的约数个数、区间求和 \(n \leq 10^5,a_i \leq 10^9\) 思路 由于$a_i \leq 10^9$,因此每一个元素最多会被修改有限次就会变为1或2,复杂度$O(nlogn)$ 代码 #include <bits/stdc++.h 阅读全文
posted @ 2022-02-13 21:48 Allorkiya 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个序列,支持区间开方、区间求和 \(n \leq 10^5,a_i \leq 10^9\) 思路 由于$a_i \leq 10^9$,因此每一个元素至多开方五次就会变为1,因此每个点至多会被修改5次,复杂度$O(nlogn)$ 代码 #include <bits/stdc++.h> 阅读全文
posted @ 2022-02-13 20:41 Allorkiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个序列,支持查询区间中等于gcd的数字有多少个,输出$len - num$。 \(n \leq 10^5\) 思路 一个区间等于gcd的数字个数取决于两个子区间的数字个数。判断即可 代码 #include <bits/stdc++.h> using namespace std; co 阅读全文
posted @ 2022-02-13 19:41 Allorkiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个序列,支持两种操作: 单点修改 区间查询:是否存在一种方案,使得修改区间种0/1个元素后使得区间$gcd = x$。 \(n \leq 5 \times 10^5\) 思路 查询时,记query函数返回值为当前区间至少修改多少个元素使得区间gcd是x的倍数。 查询时,对于每个区间只 阅读全文
posted @ 2022-02-13 19:38 Allorkiya 阅读(16) 评论(0) 推荐(0) 编辑