随笔分类 -  其他

上一页 1 2 3 4 5 6 7 ··· 33 下一页
摘要:比较神仙的推导. 求 $\sum_{n=0}^{ \infty }s(n)r^n$,其中 $s(x)$ 是一个 $m$ 次多项式,$0\leqslant r \leqslant 1$ 显然可以 $s(x)$ 每一个系数的贡献,那么就转化为: $\sum_{j=0}^{m} a_{j} \sum_{n 阅读全文
posted @ 2020-07-21 15:27 EM-LGH 阅读(211) 评论(0) 推荐(0)
摘要:令 $f(i,j)$ 表示 $j$ 的 $i$ 阶前缀和. 那么有 $f(i,j)=\sum_{j=1}^{i} f(i-1,j)$,这个可以直接多项式快速幂. 时间复杂度是 $O(n \log^2 n)$ 或 $O(n \log n)$ ,但是常数大而且第二种不好写. 考虑计算每一个位置 $j \ 阅读全文
posted @ 2020-07-21 11:28 EM-LGH 阅读(150) 评论(0) 推荐(0)
摘要:复习一下单位根反演: $[k|n]=\frac{1}{k} \sum_{i=0}^{k-1} w_{k}^{ni}$,即 $[n \% k=0]$ 最前面那个 $\frac{1}{k}$ 不要忘记,也不要写错!!! 当 $n$ 很大,$k$ 不大的时候可以预处理出来 $w_{k}^{i}$ 然后后面 阅读全文
posted @ 2020-07-21 08:36 EM-LGH 阅读(164) 评论(0) 推荐(0)
摘要:考场上忘了第二类斯特林数公式,过于智障,这里再重新推一遍. 首先,$S(i,j)$ 表示的意义是将 $i$ 个不同的球放入 $j$ 个相同的盒子中的方案数,且盒子不能为空. 那么有 $S(i,j)=S(i-1,j-1)+S(i-1,j) \times j$ 分别表示新开一个盒子/放入之前的盒子. 然 阅读全文
posted @ 2020-07-21 07:41 EM-LGH 阅读(170) 评论(0) 推荐(0)
摘要:怎么想都没想出来 $\log n$ 做法,那么这道题基本就是根号分治了. 题目描述中保证 $\sum k \leqslant 10^5$,然后 $k$ 在每次询问中又是相同的,那么就考虑对 $k$ 根号分治. 先对 $s$ 建立后缀自动机,然后把倍增数组求出来. 我们设块的大小为 $B$,那么当 $ 阅读全文
posted @ 2020-07-20 18:41 EM-LGH 阅读(184) 评论(0) 推荐(0)
摘要:这道题的题意不太明确. 应该是两个序列 $a,b$ 不同,当且仅当存在位置 $i$ 使得 $a[i]$ 不等于 $b[i]$. 朴素的 DP 非常好列:$f[i][j]$ 表示选了 $i$ 个数,且值域为 $[1,j]$ 的总价值和. 那么有 $f[i][j]=f[i-1][j-1] \times 阅读全文
posted @ 2020-07-19 20:20 EM-LGH 阅读(137) 评论(0) 推荐(0)
摘要:DAG 计数 1. 不要求联通 可以枚举 DAG 中入度为 0 的点的数量,但是会算重. 钦定入度为 0 的点的数量为 $i$ 时会将 $j$ 个入度为 0 的图算 $\binom{j}{i}$ 次. 由于我们算的是全集,容斥系数就是 $(-1)^{i-1}.$ 那么就有 : $f(n)=\sum_ 阅读全文
posted @ 2020-07-19 19:33 EM-LGH 阅读(116) 评论(0) 推荐(0)
摘要:先对完全图构建矩阵,然后将原树上的边 $(x,y)$ 在矩阵中的边权标记成 $x^1$,其余边权为 $1$. 矩阵树定理求的是所有生成树边权乘积之和,那么要是可以对含 $x$ 的矩阵求行列式的话可以直接得出答案. 但是复杂度太高,而且难写(写不了) 所以用 $n$ 个不同的整数来替换那个 $x^1$ 阅读全文
posted @ 2020-07-17 17:21 EM-LGH 阅读(191) 评论(0) 推荐(0)
摘要:这题看上去没有任何思路,不妨考虑暴力: 先求对于 $i \leqslant j$ 且 $a_{i} > a_{j}$ 的 $min(a_{i}-a_{j}).$. 对于 $a_{i} < a_{j}$ 的情况将序列中的数乘上-1再求一遍即可. 考虑将询问离线,枚举右端点,那么 $i$ 能贡献到 $a 阅读全文
posted @ 2020-07-17 14:01 EM-LGH 阅读(158) 评论(0) 推荐(0)
摘要:比较友好的一道交互题. 想出来还是蛮开心的. 对于第一个位置先猜 $A$ 和 $B$,然后有一个合法的话猜 $A$,否则去猜 $X$,$Y$ 其中的一个. 由于题目保证首次出现的数不会在中间再次出现,所以中间的数只有 3 种情况. 如果还是用猜首位的策略去猜中间的数的话可以在 $2n$ 次询问解决该 阅读全文
posted @ 2020-07-17 08:04 EM-LGH 阅读(145) 评论(0) 推荐(0)
摘要:手画一下发现最优策略是统一向左/向右移,那我们就让鞋子向左移. 因为一个鞋子向左移不会使右面的答案变差,而最左面没有被匹配的鞋子也迟早要和一个鞋子去匹配. 写了一个 $O(n^2)$ 的暴力,过掉了 50pts. 然后我们发现将鞋子从 $j$ 移到 $i$ 的代价是 $j-i-$ $[i,j]$ 中 阅读全文
posted @ 2020-07-16 23:00 EM-LGH 阅读(174) 评论(0) 推荐(0)
摘要:算法一: 贪心,如果删除点 $(x,y)$ 整个图仍然联通则删掉 $(x,y)$,否则保留. 想到这里了,但是不会维护两点连通性,看了题解后发现直接令 $c[i][j]$ 表示连通块 $(i,j)$ 之间删掉了多少条边. 如果 $c[i][j]+1=\frac { num[i] \times (nu 阅读全文
posted @ 2020-07-16 21:47 EM-LGH 阅读(136) 评论(0) 推荐(0)
摘要:这道题里需要用到指针. 这里讲一下指针的一些基本操作: 首先,我们要分配一些内存,然后分配一个指针来指向这个内存: int pp[N],*p=pp,*f[N]; 这里指针的空间都会被分配到 pp 里. 假如说我们想给 $f[x]$ 分配一些内存,我们就令 $f[x]=p$,$p \leftarrow 阅读全文
posted @ 2020-07-16 11:35 EM-LGH 阅读(150) 评论(0) 推荐(0)
摘要:如果只要求判断有没有解的话很好做:以条树边被两条非树边覆盖即可. 输出方案的话可以考虑碰到一条非树边就暴力覆盖. 如果覆盖的过程中发现一条边已经被覆盖了就输出结果. 由于一条边只能被一种非树边覆盖,所以复杂度均摊下来是 $O(n)$ 的. 然后我们就得到两条路径 $(a,b)$ 与 $(c,d)$, 阅读全文
posted @ 2020-07-16 07:52 EM-LGH 阅读(164) 评论(0) 推荐(0)
摘要:刚开始想的贪心是先删掉儿子数量多的. 但是如果一棵树有一条特别长的链的话这个贪心就假了. 换一种贪心思路:优先删掉子树深度大的. 这种贪心题的证明也不会了,感觉没啥反例就当正确了. 以后做贪心题的时候还是要多手造几组数据,验证正确性. 希望正式考试能少出这种贪心(出的话大样例一定要足够强) code 阅读全文
posted @ 2020-07-15 10:39 EM-LGH 阅读(251) 评论(0) 推荐(0)
摘要:这道题卡常啊 ! 出题人说 $O(n \log^2 n)$ 可过,但我写了个 $O(n \log^2 n)$ 的树剖卡了半天常数. 最暴力的做法:枚举区间,然后跑一个树形DP 来求最小匹配. 显然,因为要求匹配值最小,所以一定是能匹配就先匹配. 也就是说递归完 $x$ 的所有儿子后,$x$ 的每一个 阅读全文
posted @ 2020-07-15 08:59 EM-LGH 阅读(198) 评论(0) 推荐(0)
摘要:二分最大值,然后考虑如何处理. 正着做很难,因为每次减掉 $p$ 后还要与 0 取 max,但是倒着做就会容易很多. 先将所有数的高度都置为 $mid$,那么就有两种操作: 1. -a[i] 2. +p 显然每次减掉 $a[i]$ 后不可以小于 0,因为如果减掉 $a[i]$ 后小于 0 的话意味着 阅读全文
posted @ 2020-07-14 14:23 EM-LGH 阅读(147) 评论(0) 推荐(0)
摘要:今年省选考了这个技巧,感觉之前没做过类似的题的话现场挺难想出来的. 我们发现对 1 个数 +1 可以看作从低到高位的第一个 0 修改成 1,该 0 后面的 1 修改成 0. 将一个节点的所有儿子对应的数放到该节点对应的 01 trie 中进行修改的话就是将 0,1 翻转. 翻转后走 0 那边,然后递 阅读全文
posted @ 2020-07-13 15:10 EM-LGH 阅读(183) 评论(0) 推荐(0)
摘要:求:对一个数列进行 $k$ 次冒泡排序后的结果. 先考虑数字互不相同的情况. 设 $i$ 位置前大于 $v[i]$ 的数字有 $ma[i]$ 个. 那么,如果 $k \leqslant ma[i]$,则 $i$ 位置的数就会移到 $i-k$. 否则,$i$ 位置的数就会向前移动 $ma[i]$ 次后 阅读全文
posted @ 2020-07-13 14:48 EM-LGH 阅读(163) 评论(0) 推荐(0)
摘要:数位 DP. 题意:给定 $n \leqslant 10^{700}$,求 $1$ 到 $n$ 中每个数在各数位排序后得到的数的和. 这道题从整体上看上去貌似不太可做,不妨从每一位开始考虑. 比如说我们可以考虑第 $i$ 位为 $k$ 的数目,然后乘上 $10^i$ 后就是这一位的贡献了. 这么做的 阅读全文
posted @ 2020-07-13 14:08 EM-LGH 阅读(141) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 33 下一页