摘要:
本来想打打计蒜客的比赛涨涨信心的,结果$T2$少考虑了一点东西给我整自闭了。 \(A\) 按位与的性质是,\(a \& b <= a\),所以某个点的距离就是所有直接与它相连的边的边权。 #include <iostream> #include <cstring> #include <cstdio> 阅读全文
摘要:
Description 传送门 Solution 首先容易想到要把询问离线掉,按照套路枚举右端点$r$,$ans_i$表示$[i, r]$的答案。 这样我们只需要考虑每次加进来一个点$a_r$对所有答案的贡献。 以$a_r$将点分为两种:权值大于它的和小于它的。 因为两种是对称的所以只讨论权值大于它 阅读全文
摘要:
并查集应用$10$ 给定一棵树,每次有两种操作: • 加边 • 询问两个点是否存在⾄少两条不相交的路径 两个点之间是否存在至少两条不相交的路径就等价于是否在同一个边双里面。 考虑在树上$u, v$之间连边,会形成一个经过$u, v, lca_{u, v}$的环,我们需要在加边之后把这个新形成的环上的 阅读全文
摘要:
主席遗留下来的遗产~ \(Day5\) 杜爷删代码的时候找到了一个去年他不会的题,所以拿来看看觉得还挺有意思,就是$C$。 然后切完$C$就顺便把$A$和$B$也补了。 吐槽下奇怪的难度顺序:\(B > A > C\) \(A\) 如题每个连通子图最后只会剩下$n - 1$条边,所以答案就随便算了。 阅读全文
摘要:
Description 传送门 Solution 首先每个连通块之间是独立的,也就是说算出每个连通块的$sg$值异或起来就行。 那么每个连通块单独考虑,进行一次题目中的操作后,会产生一些新的连通块,假设当前节点为$x$,它能到达的所有点的$sg$值都已经算出来了,那么如果选择的是$x$,下一个状态的 阅读全文
摘要:
难题做不动就去翻去年的洛谷csp题做,实在是水啊~ 第一次 \(A\) $dp_{i, j}$表示使用$i$个色子得到点数为$j$的概率,这样求出$dp_x$和$dp_y$两个$dp$数组后就可以枚举$x$个色子得到的点数,$y$个色子得到的点数是一个前缀,枚举即可。 #include <iostr 阅读全文
摘要:
\(A\) 传送门 用哈希表去下重即可。 #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define ll long long const int MOD = 1000037; const 阅读全文
摘要:
\(Day3\) \(U\) 传送门 矩阵的范围比较小只有$5000$,但是操作次数比较多有$3e5$,最后只需要查询一次。 操作次数多查询少,我们首先就会想到差分。 那么由于操作的图形不是传统的正方形而是三角形,所以需要在原本的二维差分上进行膜改。 考虑二维差分的意义,因为最后每个点的值是他左上方 阅读全文
摘要:
\(Day2\) \(A\) 概率期望经典入门题,根据期望的线性性,答案就是每个点被选到的期望之和,每个点的贡献为一,所以只需要求每个点被选到的概率即可,每个点必须在它的子树中的点被选之前选,所以概率是$\frac{1}$。 #include <iostream> #include <cstdio> 阅读全文
摘要:
\(Day2\) \(A\) 注意到排序后每次是选一个前缀,所以可以在线段树上二分,每次全局加上可以拿的物品,选了的清零即可。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using na 阅读全文