随笔分类 - OJ -- BZOJ
摘要:【BZOJ3997】[TJOI2015]组合数学(动态规划) 题面 "BZOJ" "洛谷" 题解 相当妙的一道题目。~~不看题解我只会暴力网络流~~ 先考虑要求的是一个什么东西,我们把每个点按照$a[i][j]$拆成若干个点,每个具有二维偏序关系的点之间连一条边,于是我们就有了一个$DAG$,要求的
阅读全文
摘要:【BZOJ3996】[TJOI2015]线性代数(最小割) 题面 "BZOJ" "洛谷" 题解 首先把式子拆开,发现我们的答案式就是这个: $$\sum_{i=1}^n\sum_{j=1}^n B_{i,j}A_iA_j \sum_{i=1}^n A_iC_i$$ 发现$A$是$01$矩阵,再结合数
阅读全文
摘要:【BZOJ2721】樱花(数论) 题面 "BZOJ" 题解 先化简一下式子,得到:$\displaystyle n!(x+y)=xy$,不难从这个式子中得到$x,y\gt n!$。 然后通过$x$来表示$y$,得到$\displaystyle y=\frac{n!x}{x n!}$。令$x=n!+p
阅读全文
摘要:【BZOJ5507】[GXOI/GZOI2019]旧词(树链剖分,线段树) 题面 "BZOJ" "洛谷" 题解 如果$k=1$就是链并裸题了。。。 其实$k 1$发现还是可以用类似链并的思想,这个东西本质上就是对于当前的一个$x$,考虑对于其他所有点的贡献,而他们的$LCA$一定是$x$到根节点链上
阅读全文
摘要:【BZOJ5506】[GXOI/GZOI2019]旅行者(最短路) 题面 "BZOJ" "洛谷" 题解 正着做一遍$dij$求出最短路径以及从谁转移过来的,反过来做一遍,如果两个点不由同一个点转移过来就更新答案。 cpp include include include include using n
阅读全文
摘要:【BZOJ5505】[GXOI/GZOI2019]逼死强迫症(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 如果没有那两个$1 1$的东西,答案就是斐波那契数,可以简单的用$dp$得到。 大概是设$f[i]$表示当前除了到第$i$列的方案数,转移是考虑用$2 1$竖着覆盖一列还是$2$个$1 2
阅读全文
摘要:【BZOJ5503】[GXOI/GZOI2019]宝牌一大堆(动态规划) 题面 "BZOJ" "洛谷" 题解 首先特殊牌型直接特判。 然后剩下的部分可以直接$dp$,直接把所有可以存的全部带进去大力$dp$就行了。 发现每多一张牌胡的本质就是把一个刻字换成杠子,所以这两个东西记录在一起就行了。 那么
阅读全文
摘要:【BZOJ5502】[GXOI/GZOI2019]与或和(单调栈) 题面 "BZOJ" "洛谷" 题解 看到位运算就直接拆位,于是问题变成了求有多少个全$0$子矩阵和有多少个全$1$子矩阵。 这两个操作本质就是一样的,不妨考虑有多少个全$1$子矩阵。 预处理出每个元素向上能够找的最多的$1$的个数,
阅读全文
摘要:【BZOJ5499】[2019省队联测]春节十二响(贪心) 题面 "BZOJ" "洛谷" 题解 如果是一条折链,显然维护两侧的值,每次两个堆分别弹出一个$max$然后合并一下,最后再放回去就可以了。 那么现在回到一棵树上,可以认为就是本身有一条链,现在每次要合并一条链进来,那么拿一个堆维护这个合并过
阅读全文
摘要:【BZOJ5498】[十二省联考2019]皮配(动态规划) 题面 "BZOJ" "洛谷" 题解 先考虑暴力$dp$,设$f[i][j][k]$表示前$i$所学校,有$j$人在某个阵营,有$k$人在某个派系的方案数。 发现如果$k=0$,那么可以先决策每个城市选择哪一个阵营,再对于每个学校选择哪一个派
阅读全文
摘要:【BZOJ5496】[十二省联考2019]字符串问题(后缀树) 题面 "BZOJ" "洛谷" 题解 首先显然可以把具有支配关系的串从$A$到$B$连一条有向边,如果$B_i$是$A_j$的前缀,就从$B$连一条边到$A$。这样子问题就转化成了要求解这个二分图的最长路经,有环答案就是$ 1$。 然后显
阅读全文
摘要:【BZOJ5495】[十二省联考2019]异或粽子(主席树,贪心) 题面 "BZOJ" "洛谷" 题解 ~~这不是送分题吗。。。~~ 转异或前缀和,构建可持久化$Trie$。 然后拿一个堆维护每次的最大值,每次如果取了一个数,就把它再在$Trie$树上查一次新建一个元素丢回堆里就行了。 cpp in
阅读全文
摘要:【BZOJ1152】歌唱王国(生成函数,KMP) 题面 "BZOJ" "洛谷" 题解 根据$YMD$论文来的QwQ。 首先大家都知道普通型生成函数是$\displaystyle \sum_{i=0}^{\infty}a_ix^i$,类似的定义概率生成函数$\displaystyle F(x)=\su
阅读全文
摘要:【BZOJ5417】[NOI2018]你的名字(线段树,后缀自动机) 题面 "BZOJ" "洛谷" 题解 首先考虑$l=1,r=|S|$的做法,对于每次询问的$T$串,暴力在$S$串的$SAM$上跑,对于每个点记录其被匹配的最大长度,然后把每个被匹配到的点以及它到$parent$树根节点的所有节点全
阅读全文
摘要:【BZOJ4891】[TJOI2017]龙舟(Pollard_rho) 题面 "BZOJ" "洛谷" 题解 看了半天题....就是让你求$\frac{b}{a}$在模$M$意义下的值。。。 首先把$M$分解,把$a,b$中的这些质因子全部分解出来,剩下的部分和$M$互质,直接求逆就行了,分解出来的部
阅读全文
摘要:【BZOJ4890】[TJOI2017]城市(动态规划) 题面 "BZOJ" "洛谷" 题解 数据范围都这样了,显然可以暴力枚举断开哪条边。 然后求出两侧直径,暴力在直径上面找到一个点,使得其距离直径两端点的最大距离最小。 然后我用线段树求的直径,就跑得很快了。 cpp include includ
阅读全文
摘要:【BZOJ4887】[TJOI2017]可乐(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 模板题??? cpp include include include using namespace std; define MAX 35 define MOD 2017 inline int read(
阅读全文
摘要:【BZOJ4873】[六省联考2017]寿司餐厅(网络流) 题面 "BZOJ" "洛谷" 题解 很有意思的题目 首先看到答案的计算方法,就很明显的感觉到是一个最大权闭合子图。 然后只需要考虑怎么构图就行了。 首先把那个奇奇怪怪的什么$mx^2+cx$,首先$cx$可以拆到每个地方计算,然后$mx^2
阅读全文
摘要:【BZOJ4868】[六省联考2017]期末考试(贪心) 题面 "BZOJ" "洛谷" 题解 显然最终的答案之和最后一个公布成绩的课程相关。 枚举最后一天的日期,那么维护一下前面有多少天可以向后移,后面总共需要往前移多少天,扫一遍贪心就好了。
阅读全文
摘要:【BZOJ5332】[SDOI2018]旧试题(数论,三元环计数) 题面 "BZOJ" "洛谷" 题解 如果只有一个$\sum$,那么我们可以枚举每个答案的出现次数。 首先约数个数这个东西很不爽,就搞一搞,变成$\displaystyle \sum_{d|i}1$ 那么原式就可以写成:$\displ
阅读全文

浙公网安备 33010602011771号