摘要:
提供一种最劣解第一且巨大难写的做法( Bob 显然真正的楼量可以达到 \(314!\),是没办法直接做的,再加上唯一方案的样例,可以猜测有简单的结论。 考虑当楼高度为 \(k(k<h)\) 时,每种高度对答案的贡献为 \(2^{k-1}\times 2^{-k}\),即 \(\frac{1}{2}\ 阅读全文
摘要:
值域分段求和 假如我们要对这样的式子进行求和: \(\sum\limits_{i=1}^{n} f(i)\) 如果 \(f(i)\) 的取值有限,只有 \(m\) 个,且对于所有的 \(f(i)=x\) 在序列中都是连续的一段,那么就可以进行值域分段求和。 找出每个取值 \(x\) 在原序列中的第一 阅读全文
摘要:
莫比乌斯反演学习笔记 前置知识 \(x|y:\) \(x\) 是 \(y\) 的因数。 \([S]:\) 若 \(S\) 为真,\([S]=1\),若 \(S\) 为假,则 \([S]=0\)(如 \([gcd(11,45)=14]=0\))。 \(\sum:\) 求和符号。 \(\prod:\) 阅读全文
摘要:
优雅的暴力。 设三个点为 \((i,j,k)\),则有 \(6\) 个未知数即 \(x_i,x_j,x_k,y_i,y_j,y_k\)。又因为有 \(2\) 条关于这 \(6\) 个未知数的方程 \(ij=jk,ij=ik\),所以一定能通过枚举其中的 \(4\) 个量来求解,时间复杂度 \(O(n 阅读全文
摘要:
看到有大小关系限制,考虑拓扑排序,并在拓扑的同时从大到小进行填数。 问题转换为,对于拓扑队列中的所有元素(即 \(B'\) 的位置),应该把最大的数填在哪个位置上。 然后快快乐乐分类讨论就行了。 约定: 蓝色块为已填,灰色块为可填(在拓扑队列中),白色块为不能填(不在拓扑队列中),优先级越小越先填。 阅读全文
摘要:
link 考虑简洁的 \(\text{cdq}\) 做法。 约定:第 \(i\) 个矩形左下角为 \((xl_i,yl_i)\),右上角为 \((xr_i,yr_i)\),所有坐标都已离散化。 如果 第 \(i\) 个矩形可以覆盖第 \(j\) 个矩形,那么必须满足: \(i>j\) \(xl_i\ 阅读全文
摘要:
Trie树+KMP做法 前置知识:Trie树 和 KMP。 \(\large{n=m:}\) 对于 \(n=m\) 的情况,我们只需要将每个字符串(包括 \(S,T\))先旋转 \(n\) 次,找到其字典序最小的形态,然后将前 \(\text{TotalS}\) 个字符串放入字典树中,用后 \(\t 阅读全文
摘要:
提供一种和不太一样的树剖解法(一下考场就会做了qwq),尽量详细讲解。 思路 设重边为黑色,轻边为白色。 首先,先将边的染色转化为点的染色(即将 \(u\) 节点连向父节点的边的颜色转化为 \(u\) 节点的颜色)。 对于操作一,如果要把涉及到的点全部染色,显然是不现实的。设染成颜色 \(1\) 的 阅读全文
摘要:
思路 首先可以发现,任何一个吃豆人路线都一定会经过四条边。因此,我们可以通过枚举第一行上的点来确定吃豆人路线(不重不漏)。两个吃豆人,时间复杂度 \(O(n^2)\)。 接下来就是如何 \(O(1)\) 求值的问题了。 我们可以维护一个扭曲的前缀和,设 \(p[i]\) 表示经过 \((1,i)\) 阅读全文
摘要:
题意转化 题目的要求看起来很复杂,但是,如果我们尝试打一个表,输出前面矩阵放置奶牛的情况,我们不难发现,题目的矩阵就是如下矩阵: 1 0 1 0 1 0 1 0 1 对于这个基本矩阵,按照如上的摆放方式生成更大的矩阵,依次类推。 于是题目就转化为,对于这个递归式的矩阵,求出 \((x,y)\) 到 阅读全文