【HDOJ】【3037】Saving Beans

排列组合

  啊……这题是要求c(n-1,0)+c(n,1)+c(n+1,2)+......+c(n+m-1,m)

  这个玩意……其实就等于c(n+m,m)

  好吧然后就是模P……Lucas大法好= =

  我SB地去预处理<P的所有fac和inv了……果断TLE

  事实上Lucas时对于<P的部分直接暴力算就好了

 1 //HDOJ 3037
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include<iostream>
 6 #include<algorithm>
 7 #define rep(i,n) for(int i=0;i<n;++i)
 8 #define F(i,j,n) for(int i=j;i<=n;++i)
 9 #define D(i,j,n) for(int i=j;i>=n;--i)
10 using namespace std;
11 
12 int getint(){
13     int v=0,sign=1; char ch=getchar();
14     while(ch<'0'||ch>'9') {if (ch=='-') sign=-1; ch=getchar();}
15     while(ch>='0'&&ch<='9') {v=v*10+ch-'0'; ch=getchar();}
16     return v*=sign;
17 }
18 /*******************tamplate********************/
19 const int N=100086;
20 typedef long long LL;
21 LL n,m,P,fac[N],inv[N],ans;
22 LL pow(LL a,LL b){
23     LL r=1,base=a;
24     for(;b;b>>=1,base=base*base%P)
25         if (b&1) r=r*base%P;
26     return r;
27 }
28 inline LL c(LL n,LL m){
29     if (n<m) return 0;
30     if (n<P && m<P){
31         LL a=1,b=1;
32         for(;m;m--,n--){
33             a=a*n%P;
34             b=b*m%P;
35         }
36         return a*pow(b,P-2)%P;
37     }
38     return c(n%P,m%P)*c(n/P,m/P)%P;
39 }
40 int main(){
41 //    freopen("input.txt","r",stdin);
42     int T=getint();
43     while(T--){
44         n=getint(); m=getint(); P=getint();
45         printf("%lld\n",c(n+m,m));
46     }
47     return 0;
48 }
View Code

 

转载于:https://www.cnblogs.com/Tunix/p/4297177.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php远程下载文件

<?php /* 本源码来源于网络 http://user.qzone.qq.com/292672703 */ header("content-Type: text/html; charsetutf-8"); //定义编码 set_time_limit (0);//不限时 24 * 60 * 60 //语言包数组 $lang_cn array (0 > 文件地址,1 > 输入密码,2 > 下载耗…

linux 下安装部署mq,RocketMQ在linux下安装部署

本博客以当前RocketMQ最新版介绍&#xff1a;v4.4.0环境要求64位JDK 1.8;Maven 3.2.x; // 源码编译时需要用到二进制文件安装> unzip rocketmq-all-4.4.0-bin-release.zip && mv rocketmq-all-4.4.0-bin-release rocketmq启动server> cd /root/rocketmq> nohu…

一个典型的参数型跨站脚本漏洞

拿百度主页曾经的一个XSS做个演示&#xff0c;这个漏洞是由于百度主页tn和bar参数过滤不严导致的参数型XSS&#xff1a;http://www.baidu.com/index.php?tn"/**/stylexss:expression(alert(‘xss‘)); http://www.baidu.com/index.php?bar"/**/stylexss:expressio…

java 常用工具类的使用一

1. Java工具概述 很多人初学程序时&#xff0c;总是在想&#xff0c;那么多的算法该怎么写呀&#xff1f;那么多的数据结构都不熟悉&#xff0c;该怎么实现呀&#xff1f;总是担心英语不好程序学不精通&#xff0c;数学不好写程序无法达到巅峰。学的程序越多&#xff0c;不懂的…

android http最新框架,Android框架学习笔记02AndroidAsycHttp框架

上一篇中我们介绍了OkHttp3.0框架的基本使用方法&#xff0c;这一篇我们学习一下Android的另外一个网络请求框架——AsyncHttpClient框架。Asynchttpclient框架是一个开源的异步网络请求框架&#xff0c;所有的网络都在Android的非UI线程中&#xff0c;通过回调方法处理请求结果…

C# 读取app.config配置文件 节点键值,提示 配置系统未能初始化 错误的解决方案...

新建C#项目&#xff0c;在app.config中添加了appSettings项&#xff0c;运行时出现"配置系统未能初始化"的错误&#xff0c;MSDN里写到&#xff0c;如果配置文件中包含 configSections 元素&#xff0c;则 configSections 元素必须是 configuration 元素的第一个子元…

miui12 android系统耗电,miui12耗电严重怎么办,miui12续航优化方法

很多小米用户反馈升级到miui12稳定版后耗电大大增加&#xff01;再大的电池也经不住miui12的耗电&#xff01;那么miui12耗电严重怎么办&#xff1f;miui12续航优化的方法呢&#xff1f;一起和XDA小编看看吧&#xff01;近日&#xff0c;有网友对此提供了优化miui12耗电的方法&…

Linux下 执行程序

看到有人问Linux下的./表示什么意思&#xff0c;我就趁机在这里写一下个人愚见&#xff1a; ./的意思是执行当前目录下的某可执行文件. . /相当于 source 根目录下的一个脚本. 转载于:https://www.cnblogs.com/zuiyirenjian/p/4299322.html

r6400 usb android,网件R6400路由器USB接口速率测试与总结

网件R6400路由器USB接口速率测试测试中使用的是浦科特M6V 256GB固态硬盘搭配USB3.0硬盘盒进行测试&#xff0c;此外由于无线网络速率有一定的波动&#xff0c;对最终测试成绩测试成绩有较大的影响&#xff0c;因此我们使用网速相对稳定的千兆有线网络连接路由器进行测试。首先我…

只用2000行代码实现google protocol buffer c++版的功能

2019独角兽企业重金招聘Python工程师标准>>> google protocol buffer (下面简称gpb)功能强大&#xff0c;应用广泛&#xff0c;但在实际应用中&#xff0c;gpb需要写.proto脚本文件&#xff0c;需要依赖.lib库&#xff0c;还需要为每个消息体生成一大堆难以阅读的C代…

thinkphp 获取客户端ip地址方法

/*** 获取客户端IP地址* param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字* param boolean $adv 是否进行高级模式获取&#xff08;有可能被伪装&#xff09; * return mixed*/ function get_client_ip($type 0,$advfalse) {$type $type ? 1 : 0;stati…

android:layout 冒号,android-json解析及简单例子(补汉6个汉字字).pdf

android json 解析及简单例子JSON 的定义&#xff1a;一 种轻量级的数据交换格式&#xff0c;具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 &#xff0c;获得了当今大部分语言的 支持)&#xff0c;从而可以在不同平台间进行…

流控思路——多消费者定量生产(第100篇)

为什么80%的码农都做不了架构师&#xff1f;>>> 多线程消费队列到指定个数时触发一个生产线程往队列中补充元素&#xff0c;保证队列中有足够的数据供消费&#xff0c;不至于使消费线程等待&#xff0c;也不至于在队列中堆得过多。假设10人消费&#xff0c;先放2个…

Unicode(UTF-8, UTF-16)令人混淆的概念

Unicode(UTF-8, UTF-16)令人混淆的概念 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东…

android优化最强软件,七款安卓手机优化软件推荐 为手机提速

启动项管理器设置七款安卓手机优化软件推荐 超频工具OverClock Widget希望提高手机运行速度&#xff0c;只是更改开机启动项是不够的&#xff0c;其实我们还可以通过超频让手机的运行速度飞起来。超频降频工具OverClock Widget是一款能对CPU进行超频或降频的桌面小部件&#xf…

UVA 10570 Meeting with Aliens

题意&#xff1a; N个外星人围成一桌坐下&#xff0c;有序的排列指N在N-1与N1中间&#xff0c;现在给出一个序列&#xff0c;问至少交换几次可以得到有序的序列。 分析&#xff1a; 复制一遍输入序列&#xff0c;放在原序列之后。相当于环。通过枚举&#xff0c;可以把最小交换…

【转】Android 4.3源码的下载和编译环境的安装及编译

原文网址&#xff1a;http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 告诉windows用户一个不好的消息&#xff0c;windows环境下没法编译android源码。用cygwin&#xff1f;不行&#xff0c;因为cygwin模拟的环境太简单&#xff0c;编译android源码需要好多工…

android关机分区卸载,Android关机重启流程(二)

一、回顾先回顾下上部分得分析&#xff0c;从最开始的PM.reboot()&#xff0c;经过层层调用&#xff0c;最终调用SystemProperties.set(“sys.powerctl”, “reboot,” reason);二、重启流程aosp/system/core/init/property_service.cppaosp/system/core/init/reboot.cppaosp/…

每天一道算法题(39)——含有重复字符的全排列

思路 (1)对于含有重复字符的全排列必须使用isSwap函数 (2)整体思路 a,交换当前子字符串(i----n-1)字符与子字符串后面的每一个位置的字符&#xff08;满足交换条件下&#xff09; b,子字符串位置后移(i1-----n)。递归处理子字符串 c,将a中的交换复原。 代码 #in…

android 初始化语言,Android Init Language(安卓初始化语言)

android源码学习目录了解Android init进程的都知道&#xff0c;启动 init进程之前会解析init.rc文件&#xff0c;init.rc是Android的配置文件脚本&#xff0c;它由一种被称为"Android初始化语言"--Android init Language 编写。1. android init language(简称 AIL)组…