CDQ分治不但能解决三维偏序问题,还能将某些问题的动态版本变成静态。 比如这题是单点修改,区间查询,这样我们就可以将输入的顺序当作时间轴,之后进行CDQ分治 按x轴排序后,对y进行树状数组加减,这道题就变成了x比他小,并且y也比他小的个数查询 这题还用到了简单的容斥原理,也就是二维前缀和的思想来求取 ...
Description "link" 有 $n$ 个同学和 $m$ 种特产,要求分特产的时候不能有人没有特产 求方案数 $n,m\le10^3$ Solution 一道容斥的上手的题目吧 设我们不需要考虑没有特产的情况,直接上插板法统计答案 $$f(i)=\prod^{m} _ {i=1}\bino ...
分类:
Web程序 时间:
2020-04-21 09:59:39
阅读次数:
67
LINK: "Removing Robots" 没想到 自闭。 考虑了一个容斥 发现不合法方案难以计算。 就算可以计算也几乎是n^2的做法。 考虑dp 左边会对右边产生影响 所以考虑先dp右边的再考虑左边的。 至于dp 自然是f[i]表示这个i~n这么多点的方案数。 设 i向右第一个影响不到的点为w ...
分类:
其他好文 时间:
2020-04-12 20:47:37
阅读次数:
67
【$Description$】 网格中每步可以走$(0,\cdots M_x,0\cdots M_y)$中任意非零向量,有$K$种向量不能走,分别是$(r_1,r_1),(r_2,r_2),\cdots , (r_K,r_K)$。 $r_i$一定是$10$的倍数。求从$(0,0)$走到$(Tx,Ty ...
分类:
其他好文 时间:
2020-04-12 16:13:49
阅读次数:
64
题目链接 很明显的2SAT问题,和树上距离有关显然要考虑树分治。由于2-SAT不具有容斥性,点分治不方便处理,不过我们可以边分治。 边分治,分治过程中对每条边t左右两侧各建立一棵线段树,线段树上每个区间结点u(设代表的区间范围为[l,r])开两个条件结点p[u][0]和p[u][1],分别代表”边t ...
分类:
Web程序 时间:
2020-04-12 12:38:10
阅读次数:
108
题目描述: PinkRabbit 是一位人赢。 福州市可以抽象成一个n个点m条边的,不包含重边与自环的无向图,PinkRabbit 住在1号 点,而他的妹子住在2号点。 某一天,PinkKitten 施放了一个大魔法,让这个无向图上所有的边都变成了单向边。现在 PinkRabbit 关心的是他是否能 ...
这场好郁闷啊。 T1,T3太简单,T2太难。。 T1 $dy$讲的原题。 直接用容斥来做。 只需要求出三个二位偏序即可。 T2 比较帅的$LCT+PAM$。 我们考虑过程中出现的所有的回文串。 其实是两个最大的被原串包含着的回文串所代表节点路径上的$cnt len$的和。 这样我们用一个$LCT$来 ...
分类:
其他好文 时间:
2020-04-05 20:16:34
阅读次数:
59
像这种计数 问题什么的 是最讨厌的了... 考虑是环往环后面再续一段 暴力枚举前两个数字 树状数组统计第三个数的个数 n^2log. 考虑只枚举第个数 发现由于边界问题什么的很难处理。 再将枚举直接放到环上 发现边界问题没有了 不过存在 枚举第二个数之后 有 123 231 312 这三种形式。 第 ...
分类:
编程语言 时间:
2020-04-04 18:35:41
阅读次数:
71
T1 dy讲的原题。 建议去翻$DC$大神的$dp$视频课。 T2 结论题。 一种想法是抽象为一个$ans+1 n$的矩阵。 每次从上面一段连续区间向底层走。 维护每一个位置最高的高度是多少就可以得到答案了。 这里用一个队列实现。 每一个位置的队列长度可以用来更新答案。 T3 生成函数题。 考虑容斥 ...
分类:
其他好文 时间:
2020-04-03 19:48:29
阅读次数:
61
直接求不好求,我们考虑 $min max$ 容斥:$\displaystyle E(max(S))=\sum_{T \subseteq S}( 1)^{|T|+1}E(min(T))$ 其中 $S$ 为到达相应的花费时间的集合, $max(S)$ 为到过所有点的时间, $min(S)$ 为到过一个点 ...
分类:
其他好文 时间:
2020-04-02 19:46:54
阅读次数:
55