1、什么是逆序数? 2、用树状数组求逆序数的总数 2.1该背景下树状数组的含义 2.2如何使用树状数组求逆序数总数 2.3 C++实现代码 1、什么是逆序数? 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序数的总数就是这个排列的逆序数 ...
分类:
编程语言 时间:
2018-08-19 11:55:50
阅读次数:
140
1107 斜率小于0的连线数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 1107 斜率小于0的连线数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 二维平面上N个点之间共有C(n,2)条连线。求这C(n,2)条线中斜 ...
分类:
编程语言 时间:
2018-08-13 21:23:57
阅读次数:
141
考虑树上的每条边对答案的贡献 x y 若 x 左边有 a2 个点,y 的右边有 a3 个点那么改边对答案的贡献为 C(n, k) - C(a2, k) - C(a3, k)快速幂求逆元计算组合数 注意:计算C(n, m)时, 若 m > n 返回 0 ...
分类:
其他好文 时间:
2018-08-12 14:08:27
阅读次数:
111
求自然数幂和,就是一条公式,然后用代码实现; 公式描述如下: 可以看出只要我们预处理出每一项,就可以在线性时间内求得自然数的幂和。前面的倒数可以用递推法求逆元 预处理,组合数也可以预处理,也可以先预处理,现在关键是如何预处理伯努利数。 伯努利数满足条件,且有 那么继续得到 这就是伯努利数的递推式,逆 ...
分类:
其他好文 时间:
2018-08-09 01:19:15
阅读次数:
144
http://blog.miskcoo.com/2015/05/polynomial-inverse 好神啊! B(x)=B'(x)·(2-A(x)B'(x)) 注意ntt的时候防止项数溢出,即将多项式补零成n位后,相乘时次数最高的非零项不超过n次。 ...
分类:
其他好文 时间:
2018-08-07 14:02:34
阅读次数:
148
拓展欧几里得算法既可以求出最大公约数,还可以顺带求解出使得: a*x + b*y = gcd 的通解 x 和 y 它的突出作用就是求逆元: 形如: x%m 就是最小的逆元 拓欧模板: 入门题:poj1061青蛙的约会 链接:http://poj.org/problem?id=1061 代码: ...
分类:
编程语言 时间:
2018-08-07 01:40:03
阅读次数:
175
//方法一: 扩展欧几里得 (求逆元 调用mod_reverse函数) // 限定条件 a n 互质 log(n) // @a 数 // @n 模数 inline long long mod_reverse(long long a,long long n) { long long x,y,d=ext... ...
分类:
其他好文 时间:
2018-08-05 14:26:00
阅读次数:
486
[TOC] 1.概念 将一个数组排序,可以递归的将它们分成两半分别排序,然后将结果归并起来。体现了分治思想。算法时间复杂度:O(nlgn) 2.自顶向下的归并排序算法(递归实现) 上图所示为归并数组a[0...15]的调用轨迹图。 2.1初实现 应用:求逆序对 归并排序中的__merge()函数,是 ...
分类:
编程语言 时间:
2018-08-02 19:22:55
阅读次数:
188
组合数取模——————卢卡斯定理 //组合数取模——————卢卡斯定理 //扩展欧几里得求逆元 int exgcd(int a,int b,int &x,int &y)//扩展欧几里得 { if(b==0) { x=1;y=0;return a; } else { int gcd=exgcd(b,a ...
分类:
其他好文 时间:
2018-07-31 13:34:22
阅读次数:
118
题目来源 The 2018 ACM-ICPC China JiangSu Provincial Programming Contest 35.4% 1000ms 65536K Persona5 Persona5 Persona5 is a famous video game. In the game ...
分类:
其他好文 时间:
2018-07-28 20:35:54
阅读次数:
261