Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

CF487E Tourists 前排膜拜T神 上面的话和这道题一点关系都没有 题意 给一个点带权的无向图,每次询问查询两点间所有简单路径上最小值的最小值,单点修改。 思路 一眼圆方树。 ——@gxy001 这种题只有在树上做才比较好处理这么多次询问。考虑广义圆方树,缩完点双连通分量后建立的方点和圆点。 因为我们找的是最小值,所以必须将代表整个点双的方点的权值设为与其...

CF710F String Set Queries 题意 动态支持加入删除字符串和字符串匹配 思路 动态 AC自动机 先不考虑动态情况。对于加入一个字符串,直接插入到自动机即可。 考虑删除。发现对于答案具有可减性,意思是对于同一个匹配串,答案可以表示为在自动机中匹配的答案减去删去的所有串匹配的答案。那我们考虑给所有删除的串也开一个 AC 自动机,每次询问在两个自动机中匹配将答案...

CF437D The Child and Zoo 题意 给定一个无向图,求所有点对间所有简单路径上最小点权的最大值的平均值。 思路 首先,我们可以将点权转移到边权上,边权为两端点点权的较小值。正确性显然。 然后,对于任意两个点之间的贡献,只有路径上含最大点权的简单路径有贡献,于是就可以把无向图转变为最大生成树。任意两个点间的贡献显然是在最大生成树上路径的最大边权。 考虑对于一...

CF833B-线段树优化DP 题意 将一个长为\(n\)的序列分成\(k\)段,每段贡献为其中不同数字的个数,求最大贡献和。\(n\leq 35000,k\leq 50\)。 思路 此处感谢@gxy001 聚铑的精彩讲解 先考虑暴力DP,可以想到一个时空复杂度\(O(n^2k)\)的方法,即记录前i个数字分成了j段。我们现在来思考几个问题来优化这个操作: 对于一个数字,它对那...

CF494D Birthday 题意 一个1为根的带边权有根树,每次询问给定两个点 \(u,v\) 求 \(\sum_{x\in S(v)} d(u,x)^2-\sum_{x\not\in S(v)}d(u,x)^2\) 其中 \(d(u,v)\) 表示 \(u,v\) 简单路径长度, \(S(u)\) 表示 \(u\) 的子树内点的集合。 思路 考虑 \(u\) 在 \(v\)...

CF896D Nephren Runs a Cinema 题意 售票员最开始没有纸币,每次来一个顾客可以给她一张、拿走她一张或不操作。求出不出现中途没钱给的情况 \(n\) 名顾客后剩余钱数在 \(l\sim r\) 的方案数。 思路 这是我们一道模拟赛题。 解法 1:套路组合计数。先不考虑不操作的顾客,那么就相当于是求二维平面不过一条直线到达一点的方案数。直接枚举操作顾客数,...

我之前一直记的迪杰斯特拉的翻译导致我把 dijkstra 写成了 dijstra 或者 dijskra…… 我以后叫她迪杰克斯歘! dijkstra 是用来在有向图或者无向图中寻找任意两个点的最小距离的算法。但是无法处理带负环的图和求最长路。 dijkstra 的核心思想是由已找到的最短路的点集每次扩展一个点的最短路。 dis 数组代表由起点到其他点的最短路,初始化其为 \(I...

非全面讲解,仅供记录笔记 Dirichlet卷积 \[(f\ast g)(n)=\sum_{d\mid n}f(d)g(\frac{n}{d})\] \[\varepsilon =\mu \ast 1 \iff \varepsilon(n) = \sum_{d\mid n} \mu(d)\] 其中\(\varepsilon\)卷任何函数等于其函数本身。 莫比乌斯函数\(\...

Guass消元 约旦·高斯消元法 求线性方程组 我们用一个\(n*(n+1)\)的矩阵存储线性方程组各项系数和零次项系数。 每一次找到一个未知数系数最大的方程,交换当前行方程和该方程,并将其他行该未知数的系数化为零。 重复n次即可。 最后第\(a[i][i]\)个数就是第i个未知数的系数,\(a[i][n+1]\)是等式右侧的数,用后者除以前者即可。 当化第i个方程时...

GCD SUM 求 \[ \sum_{i=1}^n\sum_{j=1}^n\gcd(i,j) \] 将原式变换得到 \[ \sum_{d=1}^nd\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}[\gcd(i,j)=1] \] 别着急莫比乌斯反演,我们知道 \[ \varph...