*HDU3398 数学
String
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2552 Accepted Submission(s): 755
lxhgww received a task : to generate strings contain '0's and '1's
only, in which '0' appears exactly m times, '1' appears exactly n times.
Also, any prefix string of it must satisfy the situation that the
number of 1's can not be smaller than the number of 0's . But he can't
calculate the number of satisfied strings. Can you help him?
Each case contains two numbers n and m( 1 <= m <= n <= 1000000 ).
//C(n+m,n)-C(n+m,n+1)=(n+m)!*(n+1-m)/m!*(n+1)!;
//卡特兰数,数据太大。n个1,m个0,从(0,0)出发可以将1看作是向上走,0看作是向右走,这样合法的路径必定在直线y=x-1上方且不与他相交
//做(0,0)关于y=x-1的对称点(1,-1),从(1,-1)出发到终点(m,n)的路径必定与直线相交,将这条路径关于y=x-1对称过去就是从(0,0)
//到终点(n,m)不合法的情况。用总的减去就行
//求n,n!质因数模板
#include<bits\stdc++.h>
using namespace std;
typedef long long ll;
#define mod 20100501
#define maxm 2000006
#define maxn 1000006
int p[maxn];
int prime[maxn],res,num;
bool is_prime[maxm];
void get_prime() //得到素数表
{
prime[]=;
res=;
for(int i=;i<maxm;i+=)
if(!is_prime[i])
{
for(int j=i;j<maxm;j+=i)
is_prime[j]=;
prime[res++]=i;
}
}
void divide1(int x) //分解x的质因数
{
int cnt=;
while(x>)
{
while(x%prime[cnt]==)
{
p[cnt]++;
x/=prime[cnt];
}
cnt++;
}
num=max(num,cnt);
}
void divide2(int x,bool flag) //分解x!的质因数,flag判断是分子还是分母
{
int cnt=;
while(prime[cnt]<=x)
{
int tem=x;
while(tem)
{
if(flag)
p[cnt]+=tem/prime[cnt];
else p[cnt]-=tem/prime[cnt];
tem/=prime[cnt];
}
cnt++;
}
num=max(num,cnt);
}
ll make(ll x,ll y) //x,y不知为何用int就不行,得到x^y。
{
ll ans=;
x%=mod;
while(y) //很巧妙
{
if(y&)
ans=(ans*x)%mod;
x=(x*x)%mod;
y/=;
}
return ans;
}
ll get_ans()
{
ll ans=;
for(int i=;i<=num;i++)
{
if(p[i])
ans=make(prime[i],p[i])*ans%mod;
}
return ans;
}
int main()
{
int t,n,m;
scanf("%d",&t);
get_prime();
while(t--)
{
num=;
memset(p,,sizeof(p));
scanf("%d%d",&n,&m);
divide1(n+-m);
divide2(n+m,);
divide2(m,);
divide2(n+,);
ll ans=get_ans();
printf("%lld\n",ans);
}
return ;
}
*HDU3398 数学的更多相关文章
- 数学思想:为何我们把 x²读作x平方
要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的 ...
- 速算1/Sqrt(x)背后的数学原理
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...
- MarkDown+LaTex 数学内容编辑样例收集
$\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...
- 深度学习笔记——PCA原理与数学推倒详解
PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...
- Sql Server函数全解<二>数学函数
阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...
- *HDU 2451 数学
Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 如何解决Maple的应用在数学中
对任意数学和技术学科的研究员.教师和学生而言,Maple是一个必备的工具.通过Maple,教师将复杂数学问题注入生命,学生的精力集中在概念理解上而不是如何使用工具上,研究员可以开发更复杂的算法或模型. ...
- 如何让Maple中的数学引擎进入你的桌面应用程序和网站
MapleNET数学服务套件将Maple 2015强大的数学引擎引入您的应用程序和网站.使用MapleNET,您可以添加数学计算和可视化功能到网页和桌面程序中,通过互联网/局域网分享“活”的Maple ...
- 【原创】开源Math.NET基础数学类库使用(07)常用的数学物理常数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 1.前 ...
随机推荐
- Ruby字符串
在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示.简单的字符串文本括在单引号中,如 'This is a simple Ruby string liter ...
- CSS样式表基础
CSS的样式表其实就是美观页面的,加一些样式. 一.样式表的三种分类: ①内联样式:写在某一个标签里面的样式. 优点:控制精确. 缺点:代码重用性差.(太多了不好写)页面代码乱.(太乱,后期不方便看) ...
- 使用静态函数impl模式做接口
使用静态函数impl模式做接口 impl即桥接模式,主要是为了隐藏数据和减少不必要的编译. 普通的impl模式做接口一般是: A类是接口,B类继承A类,是A类的实现,C类,包含A类和B类的头文件,把B ...
- 剑指Offer-【面试题05:从头到尾打印链表】
package com.cxz.question5; import java.util.Stack; /* * 输入个链表的头结点,从尾到头反过来打印出每个结点的值. * */ public clas ...
- laravel5笔记
数据库表创建E:\PHP\learnlaravel5>php artisan migrate 创建modelE:\PHP\learnlaravel5>php artisan make:mo ...
- 关于Charles抓取手机访问的Https请求
准备工作 本次测试的Charles版本为3.9.1 · 首先在Charles中开启HTTP请求的远程监听. · 然后分别在手机和Mac上安装Charles的证书. 注意:证书一定要一致,否则抓取不到. ...
- CozyRSS开发记录17-Html2Xaml
CozyRSS开发记录17-Html2Xaml 1.RssContentView还需要优化 上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有h ...
- RDD/Dataset/DataFrame互转
1.RDD -> Dataset val ds = rdd.toDS() 2.RDD -> DataFrame val df = spark.read.json(rdd) 3.Datase ...
- 毕业论文—使用js将canvas保存为图片文件,并且自定义文件名
该文章引用http://blog.csdn.net/qq547276542/article/details/51906741 1.从canvas中直接提取图片元数据 // 图片导出为 png 格式 v ...
- CSS中使用text-transform实现首字母大写
CSS中首字母大写怎么实现?日常生活中需求方对英文的要求比较多,有的时候需要让英文单词或拼音首个字母大写;有的时候需要让全文中英文单词全大写或小写.这时候我们就需要text-transform属性了. ...