2019HDU多校第九场 Rikka with Quicksort —— 数学推导&&分段打表
题意
设
$$g_m(n)=\begin{cases}
& g_m(i) = 0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0 \leq i \leq m\\
& g_m(i) = i-1 + \frac{1}{i}\sum _{j=1}^i(g_m(j) + g_m(i-j)), \ \ i > m\\
\end{cases}$$
现给出 $n$ 和 $m$,求 $g_m(n)$ 模 $1000000007$.
分析
当 $n>m$ 时,易知 $a_n = n-1 + \frac{2}{n} S_{n-1}$,
即 $S_n - S_{n-1} = n-1 + \frac{2}{n} S_{n-1}$,
变形得 $\frac{S_n}{(n+1)(n+2)} = \frac{n-1}{(n+1)(n+2)} + \frac{S_{n-1}}{n(n+1)}$.
令 $b_n = \frac{S_n}{(n+1)(n+2)}$,得 $b_n = \frac{n-1}{(n+1)(n+2)} + b_{n-1}$,
变形 $b_n - b_{n-1} = \frac{3}{n+2} - \frac{2}{n+1} = 2(\frac{1}{n+2}-\frac{1}{n+1}) + \frac{1}{n+2}$,
根据裂项相消得 $b_n - b_m = 2(\frac{1}{n+2} - \frac{1}{m+2}) + \frac{1}{m+3} + \frac{1}{m+4}+...+\frac{1}{n+2}$,
即 $b_n = 2(\frac{1}{n+2} - \frac{1}{m+2}) + S(n+2)-S(m+2)$.
其中 $S(n)$ 表示前 $n$ 个倒数和,可以分段打表。
( $1e4$ 的表虽然不会超内存限制,但是会超代码长度限制www,最后改成2000
#include<bits/stdc++.h>
using namespace std; typedef long long ll;
const ll mod = ;
const int maxn = 1e9 + ;
const int siz = ; //
int f[maxn/siz+] = {{,,,,,,,...} //省略了
ll n, m; ll qpow(ll a, ll b, ll p)
{
ll ret = ;
while(b)
{
if(b&) ret = ret * a % p;
a = a * a % p;
b >>= ;
}
return ret;
} ll inv(ll n)
{
return qpow(n, mod-, mod);
} ll S(ll n)
{
int k = n / siz; //printf("%d\n", k);
ll tmp = f[k];
for(int i = k*siz+;i <= n;i++) tmp = (tmp + inv(i)) % mod;
return tmp;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
scanf("%lld%lld", &n, &m);
ll bn = (*(inv(n+) - inv(m+)) + S(n+) - S(m+)) % mod;
ll bn_1 = (*(inv(n+) - inv(m+)) + S(n+) - S(m+)) % mod;
ll sn = (n+) * (n+) % mod * bn % mod;
ll sn_1 = n * (n+) % mod * bn_1 % mod;
printf("%lld\n", (sn - sn_1 + *mod) % mod);
}
}
参考链接:https://blog.csdn.net/baiyifeifei/article/details/99892190
2019HDU多校第九场 Rikka with Quicksort —— 数学推导&&分段打表的更多相关文章
- 2018多校第九场1010 (HDU6424) 数学
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6424 解法:找规律.因为最多三项,a1^a2^a3可以拆成(a1+2)+(a2+1)*a3,然后建成数 ...
- 218多校第九场 HDU 6424 (数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6424 题意:定义f(A) = log log log log …. (A个log) n ,g[A,B, ...
- 2019HDU多校第一场1001 BLANK (DP)(HDU6578)
2019HDU多校第一场1001 BLANK (DP) 题意:构造一个长度为n(n<=10)的序列,其中的值域为{0,1,2,3}存在m个限制条件,表示为 l r x意义为[L,R]区间里最多能 ...
- 【杂题总汇】HDU2018多校赛第九场 Rikka with Nash Equilibrium
[HDU2018多校赛第九场]Rikka with Nash Equilibrium 又是靠这样一道题擦边恰好和第两百名分数一样~愉快
- 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)
咕咕咕了太久 多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...
- 2019年牛客多校第一场B题Integration 数学
2019年牛客多校第一场B题 Integration 题意 给出一个公式,求值 思路 明显的化简公式题,公式是分母连乘形式,这个时候要想到拆分,那如何拆分母呢,自然是裂项,此时有很多项裂项,我们不妨从 ...
- 杭电多校第九场 hdu6425 Rikka with Badminton 组合数学 思维
Rikka with Badminton Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/O ...
- Rikka with Game[技巧]----2019 杭电多校第九场:1005
Rikka with Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Othe ...
- 杭电多校第九场 hdu6424 Rikka with Time Complexity 数学
Rikka with Time Complexity Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K ( ...
随机推荐
- [转帖]一文尽懂 USB4
一文尽懂 USB4 https://www.ithome.com/0/451/062.htm 今年 3 月份,USB Promoter Group(领导小组)首次发布了 USB4 规范,即下一代 US ...
- mysql常用系统函数归类
数学函数 函数 作用 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) EXP(x) 返回值e(自然对数的底)的x次方 GREATEST(x1,x2, ...
- Python--拦截接口
- 关于#define 的宏替换的一些问题
#define PI 3.14; int main() { , s = ; s = r * r * PI; s = PI * r * r; // s = 3.14; * r * r; printf(& ...
- 暑期ACM集训
2019-07-17 08:42:11 这是总结昨天的做题情况 总体来说,好久的没做题了,实力下降了许多,这一个月假又学习吧!!!! A - Ropewalkers Polycarp decided ...
- Arm-Linux 移植 alsa
ref : https://www.cnblogs.com/yutingliuyl/p/6718875.html https://blog.csdn.net/yuanxinfei920/article ...
- webpack 3.1 升级webpack 4.0
webpack 3.1 升级webpack 4.0 为了提升打包速度以及跟上主流技术步伐,前段时间把项目的webpack 升级到4.0版本以上 webpack 官网:https://webpack.j ...
- hdu 3265 第一类斯特林数
先和第二类做一个对比 第一类Stirling数是有正负的,其绝对值是包含n个元素的集合分作k个环排列的方法数目.递推公式为, S(n,0) = 0, S(1,1) = 1. S(n+1,k) = S( ...
- WebHost.CreateDefaultBuilder
返回WebHostBuilder: 1.用Kestrel做为web服务器,并根据配置提供器内容对其配置. 2.当前目录作为content根目录. 3.从appsettings.json,环境变量,ar ...
- JTAG各类接口针脚定义、含义以及SWD接线方式
JTAG有10pin的.14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下. 一.引脚定义 Test Clock Input (TCK) --- ...