nefu 628 Garden visiting
//yy:想到昨天一个神题整了几个小时,最后按题解把p拆了用孙子定理、、今天这个简单,把C暴力拆了。。
1 <= n, m, p <= 10^5
题意:给出n*m的矩形,求从左上角到右下角的路径数(对p取模)。
题解:答案就是C(m+n-2, m-1),但是不能杨辉三角,而且考虑到p可能为合数、、再看看这个数据范围,可以暴力进行素因子分解哇。。。
#include<cstdio>
using namespace std;
const int N = 2e5+;
typedef long long ll;
ll n, m, P, a, b, c, sum, ans;
ll pow(ll a,ll b,ll p){for(sum=,a%=p;b;a=a*a%p,b>>=)if(b&)sum=sum*a%p;return sum;}
ll Cnt(ll n, ll p){ll num=;while(n)num+=n/p,n/=p;return num;}
bool prime[N];
int p[N], tot, t, i, j;
void init(){for(i=;i<N;i++)prime[i]=true;for(i=;i<N;i++){if(prime[i])p[tot++]=i;
for(j=;j<tot&&i*p[j]<N;j++){prime[i*p[j]]=false;if(i%p[j]==)break;}}}
int main(){
init();
scanf("%d", &t);
while(t--) {
scanf("%lld%lld%lld", &n, &m, &P);
n += (m - ); m--;
for(ans = , i = ; i < tot && p[i] <= n; ++i) {
a = Cnt(n, p[i]); b = Cnt(m, p[i]); c = Cnt(n-m, p[i]);
a -= (b + c);
ans = ans * pow(p[i], a, P) % P;
}
printf("%lld\n", ans);
}
return ;
}
view code
nefu 628 Garden visiting的更多相关文章
- NEFU 628 Garden visiting (数论)
Garden visiting Problem:628 Time Limit:1000ms Memory Limit:65536K Description There is a very big ...
- acm数学(转)
这个东西先放在这吧.做过的以后会用#号标示出来 1.burnside定理,polya计数法 这个大家可以看brudildi的<组合数学>,那本书的这一章写的很详细也很容易理解.最好能 ...
- 机器人走方格 V3
1120 . 机器人走方格 V3 基准时间限制:1 秒 空间限制:65536 KB 分值: 160 N * N的方格,从左上到右下画一条线.一个机器人从左上走到右下,只能向右或向下走.并要求只能在 ...
- [转] POJ数学问题
转自:http://blog.sina.com.cn/s/blog_6635898a0100magq.html 1.burnside定理,polya计数法 这个大家可以看brudildi的<组合 ...
- ACM数学
1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,< ...
- HDU5977 Garden of Eden(树的点分治)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5977 Description When God made the first man, he ...
- hdu-5977 Garden of Eden(树分治)
题目链接: Garden of Eden Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/ ...
- nginx+iis、NLB、Web Farm、Web Garden、ARR
nginx+iis实现负载均衡 在win2008R2上使用(NLB)网络负载均衡 NLB网路负载均衡管理器详解 [译文]Web Farm和Web Garden的区别? IIS负载均衡-Applicat ...
- VPN常见错误码(633,628,691)的意思及修复方法
因为工作原因经常上国外网站需要用到VPN,在这里总结一下使用中可能遇到的一些常见问题.(目前用Nydus觉得还不错) 1.633错误 :由于Windows系统本身的问题,在PPTP协议连接多次并断开之 ...
随机推荐
- PHP读取文件的多种方法
1.传统的方法 fopen, fclose feof:file.end of file 例子: $file_handle = fopen("c:\\myfile.txt", &qu ...
- centos7 mariadb 设置root密码
centos7 mariadb 设置root密码 修改root密码1.以root身份在终端登陆,必须2.输入 mysqladmin -u root -p password root后面的 root ...
- imx6. android6.0经常修改或者用到的目录(未完)
系统应用apk存放的文件: out/target/product/sabresd_6dq/system/app 系统配置存放目录:(我自己的,也许不对) out/target/product/sabr ...
- Java - 避免不必要的对象
通常,我们更喜欢重用一个对象而不是重新创建一个.如果对象是不可变的,它就始终可以被重用. 下面是一个反面例子: String s = new String("stringette" ...
- .net面试题升级版
1.列举ASP.NET页面之间传值的几种方式. 答:使用QueryString,如.../id=1;response.Redirect() 使用Session 使用Server.Transfer 使用 ...
- [android] 与PHP的session进行交互demo
从MainActivity跳转到MailIndexActivity,第一个请求接口设置session,第二个activity请求接口获取session java代码中获取header头里面的Set-C ...
- unity3d之技能栏冷却
绑定在按钮上的脚本 using UnityEngine; using System.Collections; using UnityEngine.UI; public class CdCover : ...
- sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計)
---sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計) ---2014-08-26 塗聚文(Geovin Du) CREATE PROCEDURE proc_Select_BookKi ...
- 007API网关服务Zuul
001.POM配置 和普通Spring Boot工程相比,增加了Eureka Client.Zuul依赖和Spring Cloud依赖管理 <dependencies> <depen ...
- Spark企业级应用开发和调优
1.Spark企业级应用开发和调优 Spark项目编程优化历程记录,主要介绍了Spark企业级别的开发过程中面临的问题和调优方法.包含合理分配分片,避免计算中间结果(大数据量)的collect,合理使 ...