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协议连接多次并断开之 ...
随机推荐
- NPOI 设置导出的excel内容样式
导出excel时,有时要根据需要加上一些样式,以上几种样式是我在项目中用到的 一.给单元格加背景色只需两步:一是创建单元格背景景色对象:二是给单元格绑定样式 //创建单元格背景颜色对象 HSSFPal ...
- step7: 输出到json文件
调用scrapy自身的Exporter输出 编辑pipeline文件 import json from scrapy.exporters import JsonItemExporter #引入Expo ...
- C#操作Redis SortedSet 有序集合
/// <summary> /// Redis 有序集合 /// </summary> public static void Redis_SetSorted() { Redis ...
- linq中where与skipwhile区别
//字符串数组 string[] names = { "a1", "a2", "bcd","ab","bcde ...
- RUP 4+1视图
RUP开篇之作:http://www.ibm.com/developerworks/cn/rational/r-4p1-view/index.html 百科:http://baike.baidu.co ...
- ajax返回整个页面
- git flow强制重新初始化
Gitflow工作流定义了一个围绕项目发布的严格分支模型. git flow初始化命令: git flow init 关于各个分支的命名一路回车就可以了,如果不小心修改了默认的分支命名,后来又觉得不爽 ...
- JS之setTimeOut与clearTimeOut
小练习1:针对HTML,分别使用 setTimeout 和 setInterval 实现以下功能: 点击按钮时,开始改变 fade-obj 的透明度,开始一个淡出(逐渐消失)动画,直到透明度为0 在动 ...
- [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:unpack (unpack) on project sq-integral-web: Unable to find artifact.
1.问题描述 项目maven打包报上述错误, 但是小伙伴运行好使. 2.问题解决 是idea工程编码(gbk)和项目编码(utf-8)不一致 idea->file->Other Setti ...
- Bzoj1492: [NOI2007]货币兑换Cash(不单调的斜率优化)
题面 传送门 Sol 题目都说了 必然存在一种最优的买卖方案满足: 每次买进操作使用完所有的人民币: 每次卖出操作卖出所有的金券. 设\(f[i]\)表示第\(i\)天可以有的最大钱数 枚举\(j&l ...