题意:

  T次询问,每次给出n,m。求sigma(k:0->m)C(n, k)。

题解:

  用离线莫队来做。

  令S(n,m) = sigma(k:0->m)C(n, k)。

  S(n+1, m) = 2S(n, m) - C(n, m)   S(n-1, m) = (S(n, m) + C(n-1, m)) / 2

  S(n, m+1) = S(n, m) + C(n, m+1)   S(n, m-1) = S(n, m) - C(n, m)

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+;
const int N = 1e5+;
int t;
int blk;
int blg[N];
int fac[N], inv[N], tmp[N];
int l, r, now;
int ans[N];
struct ask {
int l, r, id;
bool operator < (const ask &a) {
return blg[l] == blg[a.l] ? r < a.r : l < a.l;
}
}q[N];
int C(int n, int m) {
int res = 1ll*fac[n]*inv[m]%mod;
res = 1ll*res*inv[n-m]%mod;
return res;
}
void update(int k, int t) {
if(t == ) {
if(~k) now = (2ll*now-C(l, r)+mod)%mod;
else now = 1ll*(now+C(l-, r))*tmp[]%mod;
}
else {
if(~k) now = (now+C(l, r))%mod;
else now = (now-C(l, r)+mod)%mod;
}
}
int main() {
fac[] = fac[] = tmp[] = inv[] = inv[] = ;
for(int i = ; i < N; i++) {
fac[i] = 1ll*fac[i-]*i%mod;
tmp[i] = 1ll*(mod-mod/i)*tmp[mod%i]%mod;
inv[i] = 1ll*inv[i-]*tmp[i]%mod;
}
scanf("%d", &t);
int up = ;
for(int i = ; i <= t; i++) {
scanf("%d%d", &q[i].l, &q[i].r);
up = max(up, q[i].r);
q[i].id = i;
}
blk = sqrt(t);
for(int i = ; i <= up; i++) blg[i] = (i-)/blk;
sort(q+, q+t+);
now = ;
l = , r = ;
for(int i = ; i <= t; i++) {
while(r > q[i].r) update(-, ), r--;
while(l < q[i].l) update(, ), l++;
while(l > q[i].l) update(-, ), l--;
while(r < q[i].r) r++, update(, );
ans[q[i].id] = now;
}
for(int i = ; i <= t; i++) printf("%d\n", ans[i]);
}

  

HDU - 6333 Harvest of Apples的更多相关文章

  1. HDU 6333 Harvest of Apples (分块、数论)

    题目连接:Harvest of Apples 题意:给出一个n和m,求C(0,n)+C(1,n)+.....+C(m,n).(样例组数为1e5) 题解:首先先把阶乘和逆元预处理出来,这样就可O(1)将 ...

  2. HDU 6333.Problem B. Harvest of Apples-组合数C(n,0)到C(n,m)求和-组合数学(逆元)+莫队 ((2018 Multi-University Training Contest 4 1002))

    2018 Multi-University Training Contest 4 6333.Problem B. Harvest of Apples 题意很好懂,就是组合数求和. 官方题解: 我来叨叨 ...

  3. hdu多校第4场 B Harvest of Apples(莫队)

    Problem B. Harvest of Apples Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Su ...

  4. 2018 Multi-University Training Contest 4 Problem B. Harvest of Apples 【莫队+排列组合+逆元预处理技巧】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6333 Problem B. Harvest of Apples Time Limit: 4000/200 ...

  5. Harvest of Apples

    问题 B: Harvest of Apples 时间限制: 1 Sec  内存限制: 128 MB提交: 18  解决: 11[提交] [状态] [讨论版] [命题人:admin] 题目描述 Ther ...

  6. HDU 6333 莫队+组合数

    Problem B. Harvest of Apples Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K ...

  7. hdu6333 Harvest of Apples 离线+分块+组合数学(求组合数模板)

    Problem B. Harvest of Apples Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K ...

  8. hdu6333 Problem B. Harvest of Apples(组合数+莫队)

    hdu6333 Problem B. Harvest of Apples 题目传送门 题意: 求(0,n)~(m,n)组合数之和 题解: C(n,m)=C(n-1,m-1)+C(n-1,m)    设 ...

  9. Problem B. Harvest of Apples HDU - 6333(莫队)

    Problem Description There are n apples on a tree, numbered from 1 to n.Count the number of ways to p ...

随机推荐

  1. 14、Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

    Java并发编程:CountDownLatch.CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch ...

  2. 深入解析UUID及其应用(转载)

    UUID 编辑 UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Founda ...

  3. git 创建新项目,下载工程,合并和更新工程简单应用记录

    以前使用SVN很顺手,现在公司使用git来管理代码,因此学习git的基本使用. 一.首先介绍下SVN和git的简单比较: SVN是使用得最多的版本控制管理工具. 1.是一个集中式的版本管理工具.所有的 ...

  4. hdu1058Humble Numbers(动态规划)

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  5. jmeter基础之录制篇

    一.前言 jmeter如今被越来越多人喜爱的一款测试工具,相比于loadrunner它体积特轻便.jmeter不仅用来做单接口测试,压测还能做性能,主要是一款开源的,可以写一个你需要的插件功能再添加里 ...

  6. jmeter 函数助手

    1.选项,函数助手对话框,打开函数助手 2.使用方法 输入参数,点击生成,可以直接使用(Name of variable in which to store the result (optional) ...

  7. 【WXS数据类型】Date

    生成 date 对象需要使用 getDate函数, 返回一个当前时间的对象. var date = getDate(); //返回当前时间对象 属性: 名称 值类型 说明 [Date].constru ...

  8. Memcache的客户端连接系列(一) Java

    声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南. 关键词: Memcached  客户端 Java Java连接池 Java客户端示例 用户的弹性云服务器已安装 ...

  9. java学习过程小问题

    一:基本的需要注意点(基础语句); package my; public class hello { public static void main(String[] args) { // TODO ...

  10. kaldi - Online Audio Server(服务器客户端建立方法-旧版在线解码)

    目录 一.服务器客户端识别系统建立方法 1. Command line to start the server(服务器端启动方式): 2. Command line to start the clie ...