08 2021 档案
摘要:题意:给你一个数$x$,每次有两种操作可以选择,一是从$x$跳到$[1,x-1]\(的任意一个数,二是跳到\)\lfloor \frac{x}{z} \rfloor\ \ (z \in[2,x])$.问你从$x$到一有多少种方案. 题解:首先很容易写出dp公式,\(dp[t]=\sum_{i=1}^
阅读全文
摘要:题意:有一组数,问你有多少子区间的和$<t$. 题解:先用前缀和优化,可以表示成$sum[r]-sum[l-1]<t$.移项得到:\(sum[l-1]>sum[r]-t\).那么就可以用一棵权值线段树来解决此问题,每次插入$sum[r]$的时候查询有多少满足条件的$sum[l-1]$,这里不懂的可以
阅读全文
摘要:题意:有一颗基环树,求它的最小点覆盖。 题解:先考虑环,对于环上的任意一条边$u->v$,一定只有2中情况,$u$覆盖的情况或$v$覆盖的情况。然后不难发现,假如我们将某个点覆盖,那么它的儿子一定不能覆盖,这其实就是树形dp。所以只有对覆盖$u$和$v$的情况分别跑一边树形dp然后取最小即可。 代码
阅读全文
摘要:题意:初始你在$(0,0,0)$,有$n$个宝藏,每个宝藏的坐标是$(x_i,y_i,z_i)$,每秒你都可以瞬间抓到一个宝藏,但是所有宝藏每秒都会下沉$v_i$个单位,那么在$t$秒时某个宝藏的坐标为$(x_i,y_i,z_i+t*v_i)$.抓宝藏的贡献为原点到距离的平方. 题解:因为每秒都会对
阅读全文
摘要:A - Bitwise Exclusive Or 水题 代码: #include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define me memse
阅读全文
摘要:题意:有一个$n$x$m$的矩阵,有$k$个炸弹分布在矩阵上,你最开始在$(1,1)$的位置,每次可以向下或者向右走到空的单位,问你最多能到达多少单位(假设你可以从起点开始走无限次). 题解:这题的数据范围很大,不好处理.假如某个位置$(x,y)\(有炸弹,并且\)(x-1,y+1)\(到\)(x-
阅读全文
摘要:题意:有一长度为$n$的数组,问有多少子数组的最大值和最小值之差大于$k$. 题意:看数据范围,这题比较稳的写法应该是$O(n)$,考虑一个区间,如果当前区间的最大值最小值之差已经大于$k$了,那么我们再去移动右区间也一定是合法的,也就是没有意义的,那么此时固定左区间,右贡献为$n-r+1$,之后我
阅读全文