hdu 1799 循环多少次?
题意:给出n,m,其中m表示有几层循环,求循环的次数
①如果代码中出现
for(i=1;i<=n;i++) OP ;
那么做了n次OP运算;
②如果代码中出现
fori=1;i<=n; i++)
for(j=i+1;j<=n; j++) OP;
那么做了n*(n-1)/2 次OP 操作
如果有m层循环,那OP操作:n*(n-1)*(n-2)*.....(n-m+1)/m*(m-1)*...*1 ,即: n!/m!(n-m)! 发现是一个组合数:
组合数通项公式:Cnm= n! / m!*(n-m)!;
组合数递推公式:Cnm=Cnm−1+Cn−1m−1
即用dp,递推关系为:C(n,m) = C(n-1,m-1) + C(n-1, m) ,其中 C(n,1)=n; C(n,n)=1; C(n,0)=1
#include <cstdio>
#include <iostream>
using namespace std;
#include <algorithm>
const int MOD = 1007;
int C[2010][2010];
void solve()
{
C[0][0]=1;
for(int i=1;i<=2000;i++){
C[i][0]=1;
for(int j=1;j<=2000;j++)
C[i][j]=(C[i-1][j-1] + C[i-1][j])%MOD;
}
}
int main()
{
int m,n;
int T;
solve();
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&m,&n);
printf("%d\n",C[n][m]);
}
return 0;
}
hdu 1799 循环多少次?的更多相关文章
- 暴力求解——hdu 1799 循环多少次?
Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如 ...
- HDOJ(HDU) 1799 循环多少次?(另类杨辉三角)
Problem Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次 ...
- HDU——1799循环多少次(杨辉三角/动态规划/C(m,n)组合数)
循环多少次? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- hdu 1799 循环多少次?(组合)
题目是这样的: 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如果代码中 ...
- hdu 1799 (循环多少次?)(排列组合公式)
循环多少次? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- hdoj 1799 循环多少次?
循环多少次? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- 关于java爬虫以及一些实例
首先是工具介绍 Jsoup jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法 ...
- HDU 5895 Mathematician QSC(矩阵乘法+循环节降幂+除法取模小技巧+快速幂)
传送门:HDU 5895 Mathematician QSC 这是一篇很好的题解,我想讲的他基本都讲了http://blog.csdn.net/queuelovestack/article/detai ...
- HDU 2802 F(N)(简单题,找循环解)
题目链接 F(N) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
随机推荐
- 给定一个十进制数,将其转化为N进制数-----17年滴滴笔试题
题目:给定一个十进制数M,将其转化为N进制数,其中2<=N<=16,其中N为32为整型数; 输入:M N,如7 2 输出转化结果:111 注意点:考虑负数的情况,记得添加负号(其实直接添加 ...
- godaddy nginx https 配置
一. 生成秘钥key,运行: $ openssl genrsa -des3 -out server.key 2048 1 会有两次要求输入密码,输入同一个即可 输入密码 然后你就获得了一个server ...
- 序列下载及处理之seqinr包
缺点:需要联网,经常出错,不是操作问题而是因为网络问题 安装 if("seqinr" %in% rownames(installed.packages()) == FALSE) { ...
- 通过jquery,从json中读取数据追加到html中
1.下载安装jquery 可通过下面的方法引入在线版本的js: <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jque ...
- SQLserver和oracle中对应的数据类型
- in文件注意事项及详细解释
lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file).lam ...
- C++调试帮助
assert预处理宏 assert是一种预处理宏,所谓预处理其实是一个预处理变量,其行为类似于内联函数,assert宏使用一个表达式作为其条件: assert(expr) 首先是对expr进行求值,如 ...
- FileUpload控件实现单按钮图片自动上传并带预览显示
FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调 ...
- 复利计算器4.0JUnit
#因为是用IDEA首次写unit test,所以也是麻烦多多,于是就只写了一个函数的测试.... ##需要测试的代码如下 public class Calculator { // 本金为100万,利率 ...
- geoserver的rest服务介绍,搭建java程序
在geoserver中使用 Restlet 来提供所有的rest服务,并且geoserver中所有的在/rest目录下的请求都被看作为一个restful server,下图就是rest服务的调用过程 ...