随笔分类 -  网站->BZOJ

摘要:"原题链接" 题面 (为啥这题没有题面…… 给出$N$个人,和年龄$age_{i},skill_{i}$ 然后给出$M$个询问,就是年龄在$a$以下选不超过$k$个人 要求选择的人水平排序后不相邻 题解 这个就是如果动态加点,然后从大往小能选的就选 我们把人从大往小排序 设$g[0/1]$表示如果左 阅读全文
posted @ 2019-04-03 20:31 sigongzi 阅读(164) 评论(0) 推荐(0)
摘要:"原题链接" 题解 查询距离一个点距离在一定范围内的点,直接点分树,前缀和用树状数组维护 答案是当前重心距离不超过k (x到重心距离)的点的前缀和,减去在x所在子树中,距离重心不超过k (x到重心距离)的前缀和 代码 cpp include define fi first define se sec 阅读全文
posted @ 2019-04-02 11:49 sigongzi 阅读(296) 评论(0) 推荐(0)
摘要:题解 ……………………………………………… 我莫不是一个智障吧 我把testdata的编号 当成数据组数读进来 我简直有毒 以为哪里写错了自闭了好久 实际上这题很简单,只要愉悦地开个启发式合并,然后每次暴力修改一个点的根缀主席树和倍增lca数组就行 复杂度$n \log^2 n$ 代码 阅读全文
posted @ 2019-01-13 21:57 sigongzi 阅读(225) 评论(0) 推荐(0)
摘要:题解 可以想一下保留一个长度为k的不降序列方案数是$f[k] (n k)!$ $f[k]$是有多少个长度为k的不降序列 我们去掉不合法的,一定是前一次操作的时候有一个长度为$k + 1$的不降序列,于是长度恰好为$k$的方案数就是 $f "k" ! f "k + 1" !(k + 1)$ $f[k] 阅读全文
posted @ 2018-12-12 17:46 sigongzi 阅读(239) 评论(0) 推荐(0)
摘要:题解 区间dp,先离散化所有价值 $f[i][j][k]$表示$[i,j]$区间里最小值为$k$的价值最大是多少 只考虑$i =k] + cost(k) + f[h + 1][j][ =k])$ 构造答案的时候通过记录每个点前一个转移点来递归即可 代码 cpp include define fi f 阅读全文
posted @ 2018-12-12 14:21 sigongzi 阅读(282) 评论(0) 推荐(0)
摘要:题解 $f(n)$的取值范围最多$9^2 18$ 直接枚举判断就好 代码 cpp include define fi first define se second define pii pair define pdi pair define mp make_pair define pb push_b 阅读全文
posted @ 2018-12-12 11:11 sigongzi 阅读(222) 评论(0) 推荐(0)
摘要:题解 lct维护一个结束时间作为边权的最大生成树,每次出现奇环就找其中权值最小的那条边,删掉的同时还要把它标记上,直到这条边消失 如果有标记则输出No 边权通过建立虚点来维护 代码 cpp include define fi first define se second define pii pai 阅读全文
posted @ 2018-12-12 09:31 sigongzi 阅读(347) 评论(0) 推荐(0)
摘要:题解 练习一下带修改莫队 先按照左端点的块排序,再按照右端点的块排序,然后按照时间排序 每个修改操作存一下修改前这个位置的值就可以逆序操作了 代码 cpp include define fi first define se second define pii pair define pdi pair 阅读全文
posted @ 2018-12-10 20:00 sigongzi 阅读(180) 评论(0) 推荐(0)
摘要:题解 二分一个横坐标,过这个横坐标做一条和y轴平行的直线,相当于在这条直线上做区间覆盖,如果区间有交的话,那么答案是True 否则的话取两个不相交的区间,如果这两个圆相离或相切则不合法 否则看看相交的部分在二分的横坐标的左边还是右边,进行更新 代码 cpp include define fi fir 阅读全文
posted @ 2018-12-10 13:06 sigongzi 阅读(285) 评论(0) 推荐(0)
摘要:题解 Ca Fe Zn Se 显然我们既然初始矩阵就能通过线性变换变成单位矩阵,则该矩阵一定有逆 没有逆输出NIE 而且因为这些向量两两正交,则表示一个向量的时候表示方法唯一 那么我们求一个逆可以求出这个矩阵消成单位矩阵的线性表示,再拿第二个矩阵和逆矩阵相乘可以得到第二个矩阵每个行向量用第一个矩阵的 阅读全文
posted @ 2018-12-10 09:05 sigongzi 阅读(472) 评论(0) 推荐(1)
摘要:题解 我们考虑列出期望方程组,$dp[i][j]$表示在第$i$个点血量为$j$的时候到达$N$点的概率,所有的$dp[N][j]$都是1,所有$j define fi first define se second define pii pair define pdi pair define mp 阅读全文
posted @ 2018-12-09 13:12 sigongzi 阅读(276) 评论(0) 推荐(0)
摘要:题解 学习一下矩阵求逆 就是我们考虑这个矩阵 $AA^{ 1} = I$ 我们相当于让$A$乘上一个矩阵,变成$I$ 我们可以利用初等行变换(只能应用初等行变换,或只应用初等列变换) 分三种 1.矩阵的两行互换 2.矩阵的一行加上k倍的另一行 3.矩阵的一行都乘上某个数 其实行变换的本质也可以写成一 阅读全文
posted @ 2018-12-09 09:57 sigongzi 阅读(352) 评论(0) 推荐(0)
摘要:题解 我们只考虑给每个点买一个,之后每个点就可以用最低价格买了 根据最小树形图的算法,就是不断给每个点入度的边找一条最小的 如果构成了树形图就退出,否则把形成了环的点缩成一个点,加上环的权值,然后把指向环中点的弧变成弧长减去环中指向该点的弧的长度 重标号让代码显得好难看啊QAQ 代码 cpp inc 阅读全文
posted @ 2018-12-05 21:02 sigongzi 阅读(282) 评论(0) 推荐(0)
摘要:题解 从每个质因子小到大指数非严格递减,直接搜就行 代码 阅读全文
posted @ 2018-10-31 07:58 sigongzi 阅读(216) 评论(0) 推荐(0)
摘要:题解 随机跳题真好玩 这个就是考虑我们怎么判断点在多边形内,就是点做一条射线,穿过了奇数条边 我们只需要记录一个二进制状态表示每个点的射线穿过路径的次数的奇偶性 枚举起点,然后用BFS的方式更新dp状态 代码 cpp include define fi first define se second 阅读全文
posted @ 2018-10-30 18:16 sigongzi 阅读(265) 评论(0) 推荐(0)
摘要:题解 这道题维护方法比较简单,也有点奇妙 我们可以很容易求出经过所有点的路径条数,和初始时分子的大小 然后单点修改的时候,相当于给当前点$v$加上$delta (siz[v] 1)$ $v$到根的路径上每个祖先都要加上设$t$为$k$在路径上的儿子,$delta (siz[k] siz[t])$ 如 阅读全文
posted @ 2018-10-30 16:44 sigongzi 阅读(284) 评论(0) 推荐(0)
摘要:题解 在我写过分治NTT,多项式求逆之后 我又一次写了多项式求ln 我们定义一个数列的指数型生成函数为 $\sum_{i = 0}^{n} \frac{A_{i}}{i!} x^{i}$ 然后这个有个很好的性质,是什么呢,就是我们考虑两个排列$A$和$B$,不改变原来的顺序,把它们合并成一个排列,方 阅读全文
posted @ 2018-10-09 15:20 sigongzi 阅读(563) 评论(0) 推荐(0)
摘要:题解 考虑kruskal 我们都是从边权最小的边开始取,然后连在一起 那我们选出边权最小的一堆边,然后这个图就分成了很多联通块,把每个联通块内部用矩阵树定理算一下生成树个数,再把联通块缩成一个大点,重复取下一个边权的边进行操作 好想然而不是很好写= =写起来感觉有点麻烦 模数非质数,用long do 阅读全文
posted @ 2018-06-22 08:55 sigongzi 阅读(224) 评论(0) 推荐(0)
摘要:题解 我们先把所有点random_shuffle一下 然后对前i 1个点计算一个最小圆覆盖,然后第i个点如果不在这个圆里,那么我们把这个点当成一个新的点,作为圆心,半径为0 从头枚举1 i 1,看看每个点在不在这个圆里,如果不在,那么就把新的点j,做一个圆经过i和j(就是i,j中点的作为圆心) 再枚 阅读全文
posted @ 2018-06-20 08:43 sigongzi 阅读(127) 评论(0) 推荐(0)
摘要:题解 感觉全世界都写过只有我没写过 毕竟是板子还是挺简单的,只要用可持久化线段树维护一下数组的形态就好了,每个数组里面维护这个数组的father,和这个点所在树的最长链的深度(如果这个点是根按秩合并要用) 为了避免返回两个值可以直接返回所在线段树节点的编号 代码 cpp include includ 阅读全文
posted @ 2018-06-19 15:53 sigongzi 阅读(166) 评论(0) 推荐(0)