码迷,mamicode.com
首页 > 其他好文 > 详细

一些抄来的冷知识...

时间:2019-05-24 22:26:53      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:另类   概率   子节点   www   取值   code   线段   ++   span   

持续更新...

  1. 点分治 向下递归的时候两种写法(是否判断当前子节点为上层点分树中的父节点)都不会锅

  2. 枚举子集方法有三,暴力不说,高维前缀和网上挺多,至于另一种玄学算法总感觉很像 FWT :

for(rint i=1;i<=m;++i)x=read(),++cnt[x];
for (int len = 2; len <= (1 << n); len <<= 1) {
    for (int i = 0; i <= lim; i += len)
    for (int j = i, k = i + len / 2; k < i + len; j++, k++)
        cnt[j] += cnt[k];
}
  1. 判断数列 \(\{a_n\}\) 中的每个数乘上一个非负系数后是否可以构成 T 时,我们可以把这些数中最小的 x 拿出来,让剩下的数和 T 满足: \(sum = T (mod x)\) ,也就是模 x 下同余,然后点 \(u\) 向模 x 意义下的 \(u+c_i\) 连一条边,长度为减去的 x 个数,然后跑最短路,康康最短距离乘上 x 是否小于等于 \(\lfloor T / x\rfloor\) 就好了

  2. 若三点在某一条经过原点的直线上的投影中心对称,设三点坐标分别为 \((xa,ya),(xb,yb),(xc,yc)\),则 \((ya+yc-2 * yb,-xa-xc+2 * xb)\) 为该直线上一点,其中 B 点的投影为对称中心

  3. 对于一棵树每次标记一条路径,路径上点对可相互到达,求多次标记后可相互到达的点对数,可以转化为 dfs 序,然后树剖完了线段树上扫描线二维数点求, ZJOI 考过,然而卡常(而且我这只菜鸡也没想出来)

  4. O(1) 求 1~n 的异或和:

inline int calc(R int n){int t=n&3;return t&1?(t/2^1):(t/2^n);}
  1. O(1) GCD:

zzq 大佬的 blog 里面有写,我还搬下来做过板子...

某些 数据下会比带 log 的算法高到不知道哪里去,然鹅随机情况嘛...咳咳,我只能说,人家 O(1) 是要预处理的...

  1. O(1) 前缀 k 次和:

类似这么个式子: \(\sum_{i=0}^n i^k\) (虽说左边界是 0 是 1 没什么关系,毕竟 k 也不会等于 0 )

对于 k=1 : 原式= \((n+1)n\over 2\)

对于01314413 k=2 : 原式= \(n(n+1)(2n+1)\over 6\) 或者 \(n(n+{1\over 2})(n+1)\over 3\) 也挺好记的

对于 k=3 : 原式= \((n+1)^2n^2\over 4\) ,其实就是 k=1 的情况平方了一下...

9.对于集合 S 所有子集的异或和取值中,每种取值出现次数相等,即 S 的任意子集得到的异或和值为 x 的概率是相等的 ( x 为 S 所有子集异或和取值) 证明

10.对于一棵 n 节点的带编号树,它的生成树数量为 \(n^{n-2}\) 个(可用 Prufer 序列证明)

11.斐波那契数列\(f(n)=(1,1,2...)\)的前缀和数列\(S(n)\)满足:

\[S(n)=f(n+2)-1\]

归纳法证明:

当 n=1 时,原式成立

假设 \(S(n-1)=f(n+1)-1\) 成立,那么有:
\[S(n)=S(n-1)+f(n)=f(n+1)+f(n)-1=f(n+2)-1\]

证毕

  1. 在模 p ( p 为质数)意义下,有:

\[\prod_{i=1}^{p} (x+i)= x(x^{p-1}-1)(mod~ p)\]

证明? 不会,背结论吧... (貌似要用唯一分解整环什么的,反正我不会...)

emmm...话说蒟蒻我好像想到了一个另类解法的开头,就是我们对于左边的式子展开,然后把除了最高项的每一项都提取出一个 \((p-1)!\) ,然后威尔逊定理搞一搞,发现这玩意儿模 p 意义下就是 p-1 ,(好像并没有什么软用,因为 p-1 并不等于 0 ),然后作者太懒不打算想,于是就咕掉了...
$$$$

不过还有另一种随意的解法,就是我们发现左边的式子必然是等于 0 的,然后右边的式子也等于 0 ...

(就是说左边的 x 加上 1~p-1 的所有数,总有一个是等于 0 的,而后面式子有 \(x^{p-1}-1\) ,当 x=1~p-1 时费马小定理可得原式等于 0 ,当 x=0 时前面又有个 x ...)

一些抄来的冷知识...

标签:另类   概率   子节点   www   取值   code   线段   ++   span   

原文地址:https://www.cnblogs.com/Judge/p/10920451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!