随笔分类 -  OJ --- BZOJ

摘要:"题面" 题解 要求的是 $$ \sum_{i=1}^n\sum_{j=1}^na_ia_jb_{i,j} \sum_{i=1}^na_ic_i $$ 可以看出这是一个最大权闭合子图问题 代码 cpp include include include include define RG registe 阅读全文
posted @ 2019-01-14 22:10 xgzc 阅读(207) 评论(0) 推荐(0)
摘要:"题面" 题解 一眼$0/1$分数规划 二分答案$mid$,我们要$\sum\limits_i a^{'}_i mid\sum\limits_i b_i^{'}$最大 那么我们将$a_{i,j} mid\times b_{i,j}$作为$(i,j)$的边权 跑一遍二分图最大权匹配即可。 代码 阅读全文
posted @ 2019-01-14 22:04 xgzc 阅读(178) 评论(0) 推荐(0)
摘要:"题面" 题解 如果没有分段函数的限制的话就很好做了 但是我们发现分段函数的段很少,我们就可以将每一段拆开, 强制限制一定流量就可以了 代码 cpp include include include include include include define RG register define f 阅读全文
posted @ 2019-01-11 16:27 xgzc 阅读(128) 评论(0) 推荐(0)
摘要:题面 题解 有经验的选手可以根据权值不重复计算的特性看出这是一个最大权闭合子图问题; 我看了题解就知道这是一个最大权闭合子图问题。。。 建边: 对于所有的区间$[i,j]$的收益,将它们都看成点 如果权值为正,从源点连来,容量为权值 否则连向汇点,容量为权值的绝对值 将区间$[i,j]$,向区间内$ 阅读全文
posted @ 2019-01-11 13:38 xgzc 阅读(203) 评论(1) 推荐(0)
摘要:题面 题解 有难度的计数$dp$ 我们先求出所有不降子序列的个数 这个可以用树状数组维护 删除的总方案数为$(n-i)!$种 但是可能我们删到非降之后,我们可能还会删 那么设通过删除操作让子序列变成长度为$i$的方案数为$g[i]$,其中合法的有$f[i]$种 容斥:$f[i] = g[i] - g 阅读全文
posted @ 2019-01-11 08:50 xgzc 阅读(142) 评论(0) 推荐(0)
摘要:题面 题解 很像最长不下降子序列对吧(废话) 设$up[i]$和$down[i]$分别表示$i$最大最小能取多少 注意到: $$ f[i] = max_j\left\{f[j]\right\} + 1 \\ a[j] \leq down[i],\; up[j] \leq a[i],\; j \leq 阅读全文
posted @ 2019-01-09 21:54 xgzc 阅读(199) 评论(0) 推荐(0)
摘要:题面 题解 众所周知,最长公共子序列的$dp$是$\text{O}(n^2)$, 但是每一个数字只重复$5$遍,那么我们暴力匹配$25n$个点对 那么我们就可以将其变成求最长上升子序列 用二分栈或者树状数组求解即可。 代码 阅读全文
posted @ 2019-01-09 21:19 xgzc 阅读(250) 评论(0) 推荐(0)
摘要:题面 题解 任意两个障碍不在同一列 要求你放$N$个棋子也满足每行只有一枚棋子,每列只有一枚棋子的限制。 这™不就是个错排吗??? $$ h_i=(n-1)(h_{i-1}+h_{i-2}),h_1=0,h_2=1 $$ 写个高精度就好了。。。 代码 阅读全文
posted @ 2019-01-09 21:09 xgzc 阅读(191) 评论(0) 推荐(0)
摘要:题面 题解 对字符串一脸懵的我肯定只能用$FFT$这种暴力方法水过啊。。。 将后面那个字符串翻转一下,对$\text{AGCT}$分别统计,用$FFT$就可以啦 代码 阅读全文
posted @ 2019-01-08 17:28 xgzc 阅读(215) 评论(0) 推荐(0)
摘要:题面 $\text{BZOJ}$权限题 洛谷 题解 好久以前写的了,懒得写题解了 直接把yyb的蒯下来 首先根据题目给的条件,发现$a,b$都要是$c$的父亲。 所以这三个点是树上的一条深度单增的链。 因为$a,b$之间距离不超过$k$,并且$a$被钦定了,所以只有两种情况: 一种是$a$是$b$的 阅读全文
posted @ 2019-01-06 19:19 xgzc 阅读(256) 评论(0) 推荐(0)
摘要:题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$\text{LCA}$距这个点为$d$, 那么这三个点就距离两两相等。 设$f[i][j]$表示以$ 阅读全文
posted @ 2019-01-06 18:35 xgzc 阅读(316) 评论(0) 推荐(2)
摘要:题面 题解 数位dp都是套路题 设$f[i][0/1][k][l]$表示$dp$到第$i$位,是否卡上界,现在$1$的个数为$k$,所求的$1$的个数为$l$的方案数 转移看一下代码吧,很好懂的。 $\because10^7+7$不是质数,$\therefore\;f$要开$\text{long l 阅读全文
posted @ 2019-01-05 11:46 xgzc 阅读(173) 评论(1) 推荐(0)
摘要:题面 题解 将无序化为有序,最后答案除以$m!$。 设$f[i]$表示选出了$i$个子集,并且满足所有的限制的方案数。 因为转移困难,所以考虑容斥 限制了每个数的出现次数为偶数,所以如果前$i - 1$个子集是确定的,第$i$个的选择唯一, 一定是前面选了奇数次的元素的集合。 所以如果没有其他限制的 阅读全文
posted @ 2019-01-04 17:06 xgzc 阅读(170) 评论(1) 推荐(0)
摘要:题面 题解 概率$dp$ 设$f[i][j]$表示还剩$i$个人时,第$j$个人获胜的概率。 边界$f[1][1] = 1$ 转移: 枚举庄家抽到的卡牌$k$,得到这一轮被淘汰的位置$c$。 可以知道,当$c < j$时,第$j$个人是新的环中的从新庄家数起的第$j-c$个人 当$c > j$时,第 阅读全文
posted @ 2019-01-04 16:43 xgzc 阅读(137) 评论(0) 推荐(0)
摘要:题面 题解 缩点之后一个裸的树型背包 代码 阅读全文
posted @ 2019-01-04 16:24 xgzc 阅读(122) 评论(0) 推荐(0)
摘要:题面 题解 最优肯定是尽可能用大面值硬币 设$f[i]$表示最小面值为$i$时的最小答案 则:(令$p$是$i$的最小质因子) $$ f[\frac ip]=min(f[\frac ip], f[i] + \sum_{j=1}^n(a[j] \% i) / (i / p)) $$ 用线性筛预处理每个 阅读全文
posted @ 2019-01-04 16:19 xgzc 阅读(192) 评论(0) 推荐(0)
摘要:题面 BZOJ权限题 HDU vjudge 题解 $dp$套$dp$。。。 根据$lcs$的转移: $$ lcs[i][j]=max \begin{cases} lcs[i-1][j-1]+1 & (t[i] = s[j]) \\ max(lcs[i-1][j],lcs[i][j-1]) & (t[ 阅读全文
posted @ 2019-01-04 16:07 xgzc 阅读(145) 评论(0) 推荐(0)
摘要:题面 题解 设$f[i]$表示将$[1,i]$修改为递增的最小代价, $g[i]$表示将$[i,n]$修改为递减的最小代价。 $L[i]$表示将$[1,i]$修改为倒$\text V$的代价 $$ \therefore L[i]=min_{2<j<i}\left\{max(g[i]-g[j],f[j 阅读全文
posted @ 2019-01-04 14:36 xgzc 阅读(168) 评论(0) 推荐(0)