摘要:
题目大意 有$n$堆石子,两个人可以轮流取石子。每次可以选择一堆石子,做出下列的其中一点操作: 1.移去整堆石子 2.设石子堆中有$x$个石子,取出$y$堆石子,其中$1\leq y include include include include include include include us 阅读全文
摘要:
题目大意 给你一个网格,每个格子有概率是$1$或是$0$。告诉你每个点是$0$的概率,求$1$的连通块个数$\bmod d=0$的概率。 最开始所有格子的概率相等。有$q$次修改,每次修改一个格子的概率。要求输出初始时和每次修改后的概率。 $n\leq 200000,m\leq 3,d\leq 10 阅读全文
摘要:
题目大意 有$n$种颜色的球,第$i$种有$a_i$个。设$m=\sum a_i$。你要把这$m$个小球排成一排。有$q$个询问,每次给你一个$x$,问你有多少种方案使得相邻的小球同色的对数为$x$。 $n\leq 10000,m\leq 200000$ 题解 我们考虑把这些小球分段,每段内所有小球 阅读全文
摘要:
题目大意 有一棵树,最开始只有一个点。每次会往这棵树中加一个点,总共$n$次。输出每次加点后树的最大独立集大小。 强制在线。 $n\leq 300000$ 题解 显然是LCT。 那么要维护什么呢? 先看看DP方程:设$f_{i,0}$为以$i$为根的子树中$i$这个点不选的答案,$f_{i,1}$为 阅读全文
摘要:
题目大意 有一个人要去直线上$lm$远处的地方,他会依次给他的机器发出$n$个指令。第$i$个指令为$d_i$。他的机器收到一个指令$x$后,如果向目的地方向前进$xm$后比当前离目的地更近,就会向前移动$xm$,否则什么都不会做。 现在,给你$q$个询问,第$i$个询问为$a_i$,问你能不能改变 阅读全文
摘要:
题目大意 有$n$堆糖果,第$i$堆有$a_i$个。 两个人轮流决策,决策分为两种: 1.选择糖果数最多的一堆糖果,并把这堆糖全吃了。 2.在每堆非空的糖果堆里拿一颗糖吃掉。 吃掉最后一颗糖的人输。问你先手必胜还是先手必败。 $n\leq 100000$ 题解 又是一个打表结论题。 先把$a_i$从 阅读全文
摘要:
维护 启动容器 暂停容器 重启容器 进入容器的终端 保存容器的镜像 查看所有容器 查看所有镜像 删除容器 删除镜像 创建新容器 导出容器 导入容器 重启apache服务 重启mysql服务 特殊情况 有时候会发现创建一个容器后用浏览器无法访问。 可能是apache挂了 这时候要重启apache服务 阅读全文
摘要:
题目大意 给你一张$n$个点$m$条边的无向图,有$q$次操作,每次删掉一个点以及和这个点相邻的边,求最开始和每次删完点后的连通块个数。 $q\leq n\leq 400000,m\leq 200000$ 题解 我们可以用并查集维护连通块个数,可惜并查集不支持删除操作。 但是这道题没有强制在线,所以 阅读全文
摘要:
题目描述 有$n$只兔子站在数轴上。为了方便,将这些兔子标号为$1\ldots n$。第$i$只兔子的初始位置为$a_i$。 现在这些兔子会按照下面的规则做若干套体操。每一套体操由$m$次跳跃组成;在第$j$次跳跃的时候,第$c_j(2≤c_j≤n−1)$只兔子会等概率随机选择第$c_j−1$或$c 阅读全文
摘要:
题目描述 有一棵$n$个点的树,最开始所有边都是蓝边。每次你可以选择一条全是蓝边的路径,删掉其中一条,再把这两个端点之间连一条红边。再给你一棵树,这棵树的所有边都是红边,问你最终能不能把原来的树变成这棵新树。 $n\leq 100000$ 题解 考虑最后一条加的边,那么当前也有一条相同的蓝边。也就是 阅读全文
摘要:
题目大意 给你一棵树,有$n$个点。还给你了一个整数$k$。 设$S$为树上某些点的集合,定义$f(S)$为最小的包含$S$的联通子图的大小。 $n$个点选$k$个点一共有$\binom$中方案,请你求出所有方案的$f(S)\(的和\)\mod 924844033$。 出题人觉得这样就太简单了,他决 阅读全文
摘要:
题目大意 给你三个数$a,b,c$,每次你可以选择一个数$s_1$,再选择一个数$s_2$,把$s_1$变成$2s_2 s_1$,但要求$s_3$不在$s_1$到$2s_2 s_1$之间。 再给你三个数$x,y,z$,问你是否能把$a,b,c$变成$x,y,z$。 $|a|,|b|,|c|,|x|, 阅读全文
摘要:
题目大意 给你一棵树,每个点有一个函数$f(x)$ 正弦函数 $\sin(ax+b) (a\in[0,1],b\in[0,\pi],a+b\in[0,\pi])$ 指数函数 $e^{ax+b} (a\in[−1,1],b\in[−2,0],a+b\in[−2,0])$ 一次函数 $ax+b (a\i 阅读全文
摘要:
题目描述 给你一个长度为$n$的数列,还有$m$个询问,对于每个询问$(l,r,a,b)$,输出区间$[l,r]$有多少范围在$[a,b]$的权值。 $n\leq 100000,m\leq 1000000$ 题外话 Q:这道题和 "BZOJ3809" 有什么区别呢? A:卡空间。 题解 考虑莫队。 阅读全文
摘要:
题目描述 给你一个长度为$n$的数列,还有$m$个询问,对于每个询问$(l,r,a,b)$,输出1.区间$[l,r]$有多少范围在$[a,b]$的数;2.区间$[l,r]$有多少范围在$[a,b]$的权值。 $n\leq 100000,m\leq 1000000$ 题解 这道题莫队可以水过。 这里讲 阅读全文
摘要:
题目大意 问你有多少个由$n$个数组成的,逆序对个数为$k$的排列。 $n,k\leq 1000$ 题解 我们考虑从小到大插入这$n$个数。 设当前插入了$i$个数,插入下一个数可以形成$0,1,\ldots,i 1$个逆序对。 $$ f_{i,j}=\sum_{k=j i+1}^jf_{i 1,k 阅读全文
摘要:
题目描述 对于一个$1$到$n$的排列$a_1,a_2,a_3,\ldots,a_n$,我们定义这个排列的$P$值和$Q$值: 对于每个$a_i$,如果存在一个最小的$j$使得$i include include include include include include include usi 阅读全文
摘要:
题目大意 本题的满二叉树定义为:不存在只有一个儿子的节点的二叉树。 定义一棵满二叉树$A$包含满二叉树$B$当且经当$A$可以通过下列三种操作变成$B$: 把一个节点的两个儿子同时删掉 把一棵子树替换成根的的左子树或右子树。 定义$k$连树为一棵只有恰好$k$个叶子的满二叉树,如果某个节点有一个右孩 阅读全文
摘要:
题目大意 告诉你$n$只股票在这$m$天内的价格,给你$s$元的初始资金,问你$m$天后你最多拥有多少钱。 $n\leq 50,m\leq 10,s\leq 200000,$答案$\leq 500000$ 题解 首先我们可以认为第$i$天买的所有股票都会在第$i+1$天卖出(如果不卖出就可以看成卖出 阅读全文
摘要:
题目大意 有$n$个节点,标号从1到$n$,这$n$个节点一开始相互不连通。第$i$个节点的初始权值为$a_i$,接下来有如下一些操作: $U~x~y$:加一条边,连接第$x$个节点和第$y$个节点。 $A1~x~v$:将第$x$个节点的权值增加$v$。 $A2~x~v$:将第$x$个节点所在的连通 阅读全文
摘要:
题目描述 一个平面上有很多个点在运动。给你每个点的初始坐标和每个点的速度,求出最多有多少个点到$0$号店的距离同时不超过$r$。 $n\leq 50000$ 题解 我们先把$0$号点平移到原点,并令它静止不动。这样每个其他的点的运动轨迹就可以看成一条直线,要求出最多有多少个点同时在圆内。然后就是求直 阅读全文
摘要:
题目描述 数轴上有$n$个点,你要从位置$0$去位置$B$,你每秒钟可以移动$1$单位。还有$m$个限制,每个限制$(x,y)$表示你要在第$t$秒之后(可以是第$t$秒)经过位置$y$。问你最少需要几秒。 $n\leq 1000$。 题解 可以发现如果$B\leq x_i\leq x_j$且$y_ 阅读全文
摘要:
题目描述 定义一个图的连通度为图中可达顶点对的数目。给你一个$n$个点的有向图,问你这个图的连通度。 $n\leq 2000,m\leq n^2$ 题解 一个很简单的做法就是传递闭包:像floyd算法一样处理两个点之间是否可达。 $$ f_{i,j}|=f_{i,k}\&f_{k,j} $$ 但是这 阅读全文
摘要:
题目描述 给你一棵$n$个点的树,你要把其中$k$个点染成黑色,剩下$n k$个点染成白色。要求黑点两两之间的距离加上白点两两之间距离的和最大。问你最大的和是多少。 $n\leq 2000$ 题解 我们考虑树形DP。 设$f_{i,j}$为以$i$为根的子树,染了$j$个黑点的最大收益。 若一条边的 阅读全文
摘要:
题目描述 给出一个$n$行$m$列的矩阵$A$, 保证满足以下性质: 1.$m n$。 2.矩阵中每个数都是$[0,n]$中的自然数。 3.每行中,$[1,n]$中每个自然数都恰好出现一次。这意味着每行中$0$恰好出现$m−n$次。 4. 每列中,$[1,n]$中每个自然数至多出现一次。 现在我们要 阅读全文
摘要:
题目描述 给你一个$n$个点$m$条边图,$q$个询问,每次问你边权在$[l,r]$之间的边组成的最小生成树(森林)的边权和。强制在线。 $n,m,q\leq 100000$ 题解 考虑离线做法。从大到小加边,用LCT维护当前的最小生成树。维护一棵线段树,第$i$个位置表示当前的最小生成树中边权为$ 阅读全文
摘要:
题目描述 给你一个长度为$n$数列$a$,有$m$次操作: $1~x$:把所有数异或$x$ $2~x$:把所有数与$x$ $3~x$:把所有数或$x$ $4~l~r~k$:求$a_l\ldots a_r$的第$k$小值。 $n,m\leq 50000,0\leq x,a_i include incl 阅读全文
摘要:
题目描述 问有多少个满足以下要求的$k$进制数: 1.每个数字出现的次数不超过$n$ 2.$0$没有出现过 3.若$g_{i,j}=0$,则$i$不能出现恰好$j$次。 两次询问之间会修改$g$中一个位置的值($0$变$1$或$1$变$0$)。 输出所有询问的答案的和。 $3\leq k\leq 1 阅读全文
摘要:
题目描述 就是给你一副牌,问你最少几次能出完。 详细规则见 "规则" $n\leq 23$ 题解 NOIP的数据非常水,错误一大堆的程序都能AC。 因为顺子对答案的影响最大,所以先枚举顺子进行搜索。 接下来网上很多的程序都直接计算答案了。实际上还要进行一次搜索,枚举拆牌的方案,有以下几种: 1.一组 阅读全文
摘要:
题目描述 $\forall 0\leq i include include include include include include using namespace std; typedef long long ll; typedef unsigned long long ull; typed 阅读全文
摘要:
题目描述 有$n$个城市,第$i$个城市的海拔为$h_i$且这$n$个城市的海拔互不相同。编号比较大的城市在东边。两个城市$i,j$之间的距离为$|h_i h_j|$ 小A和小B要开车去旅行。小A先开,他们会轮流开车。小A会把车开到第二近的城市,小B会把车开到最近的城市。如果当前城市到两个城市的距离 阅读全文
摘要:
题目描述 给你一个$n$个点$m$条边的图,每条边有两个边权$a,b$。请你找出从$1$到$n$一条路径,使得这条路径上边权$a$的最大值$+$边权$b$的最大值最小。 $n\leq 50000,m\leq 100000$ 题解 我们可以考虑求出当边权$a\leq$某个数时边权$b$的最大值。 先把 阅读全文
摘要:
题目描述 给你一个$n$个点$m$条边的有向图,有$k$个关键点。求一条最短的从一个关键点到另一个关键点的路径。 $n,m,k\leq 100000$ 题解 跑$k^2$次最短路显然会TLE 考虑两个不同的数有什么可以利用的性质。 其中会有至少一个二进制为不同! 所以可以枚举所有二进制位,从$0$的 阅读全文
摘要:
题目描述 有$n$点,每个点有度数限制,$\forall i(1\leq i\leq n)$,让你选出$i$个点,再构造一棵生成树,要求每个点的度数不超过度数限制。问你有多少种方案。 $n\leq 100$ 题解 考虑prufer序列。 每个prufer序列唯一对应一棵无根树。 设$f_{i,j,k 阅读全文
摘要:
介绍 其实是$pr\ddot{u}fer$序列 什么是prufer序列? 我们认为度数为$1$的点是叶子节点 有一颗无根树,每次选出编号最小的叶子节点,加到当前prufer序列的后面,然后删掉这个节点。直到剩下两个点为止。 这样会得到一个长度为$n 2$,每个数都是$1\text{~}n$的序列。 阅读全文
摘要:
题目描述 给你$n$和$n$个点的度数,问你有多少个满足度数要求的生成树。 无解输出$0$。保证答案不超过${10}^{17}$。 $n\leq 150$ 题解 考虑prufer序列。 答案为 $$ \frac{(n 2)!}{\prod(d_i 1)!} $$ 直接乘会爆long long,要转成 阅读全文
摘要:
"长链剖分" "treap快速合并" "LCT维护子树信息&LCT维护边权信息" "二次剩余Cipolla算法" "扩展kmp" "插头DP" 阅读全文