循环多少次?

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 2839    Accepted Submission(s): 1028

Problem Description

  我们知道,在编程中,我们时常须要考虑到时间复杂度。特别是对于循环的部分。

比如,

假设代码中出现

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层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1)。终止值都是一个输入的n,问最后OP有总共多少计算量。

Input

  有T组case,T<=10000。

每一个case有两个整数m和n。0<m<=2000,0<n<=2000.

Output

  对于每一个case,输出一个值,表示总的计算量,或许这个数字非常大,那么你仅仅须要输出除1007留下的余数就可以。

 

Sample Input

2

1 3

2 3

Sample Output

3

3

#include<stdio.h>
#include<string.h>
#define N 2000
int a[N+10][N+10];
void fun(){ //还是打表
int i,j;
memset(a,0,sizeof(a));
for(i=2;i<=N;i++){
a[i][1]=0;
}
for(j=1;j<=N;j++){
a[1][j]=j%1007;
}
for(i=2;i<=N;i++){
for(j=2;j<=N;j++)
a[i][j]=(a[i][j-1]+a[i-1][j-1])%1007;
}
}
int main(){
fun();
int i,T,m,n;
while(~scanf("%d",&T)){
while(T--){
scanf("%d %d",&m,&n);
printf("%d\n",a[m][n]);
}
} return 0;
}

想我所想:

解题思路:求类似这样的问题。第一次怎么样。第二次怎么样,必定存在一定的规律,或是函数关系,或是递归。耐心写下几组。甚至几十组測试数据 ,你就会发现当中的联系。

难点具体解释:找出此二维数组数据之间的规律,用两个for循环表示第一行和第一列。再用两个双重for循环打出剩余的数。然后注意这句话“或许这个数字非常大,那么你仅仅须要输出除1007留下的余数就可以”。首先。我一直对这个“除”字非常迷惑,除和除以同样吗?在小学的范围内二者是不同的,并且我还因此做错过题,受到父亲的严厉斥责,所以至今记忆犹新。

到如今我还不知道1007为何作为除数,仅仅是认为从逻辑或者说经验上来理解。应该是对1007求余。

另外。我一直纠结于if这个数字非常大,多大才算大,超出int范围吗?后来经分析调试才发现仅仅需将结果和1007求余就可以,就是这么简单。

关键词:打表     赋值

解题人:杨圣洁

解题时间:2014.8.1

解题体会:理解题意非常重要,不同学科之间有联系,也有区别。

循环多少次? 【杭电--HDOJ-1799】 附题+具体解释的更多相关文章

  1. 最小公倍数 【杭电-HDOJ-1108】 附题+具体解释

    /* 最小公倍数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  2. 大菲波数 【杭电-HDOJ-1715】 附题+具体解释

    /* 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  3. 2^x mod n = 1 【杭电-HDOJ-1395】 附题

    /* 2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. 最低位 【杭电-HDOJ-1196】 附题

    /* Lowest Bit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  5. 放大的X 【杭电-2655】 附题

    /* 放大的X Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  6. 不可摸数 【杭电-HDOJ-1999】 附题

    /* hdu 1999 不可摸数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. 杭电hdoj题目分类

    HDOJ 题目分类 //分类不是绝对的 //"*" 表示好题,需要多次回味 //"?"表示结论是正确的,但还停留在模块阶 段,需要理解,证明. //简单题看到就 ...

  8. 【HDU】4908 (杭电 BC #3 1002题)BestCoder Sequence ——哈希

    BestCoder Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. HDU 6610 Game — 2019第三场杭电多校 1008题

    目录 题意 思路 AC_Code @(hdu 6610) 题意 大概说一下我理解的题意... 链接:here 你有\(n\)堆石子,每堆石子有\(a_i\)个石子.游戏规则:\(Alice\)先选择一 ...

随机推荐

  1. 基于visual Studio2013解决面试题之0407数组差

     题目

  2. C++建立动态二维数组

    C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组                           int * ...

  3. android解析xml一直报错org.xmlpull.v1.XmlPullParserException

     错误: org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT @1:2 injava.io.String ...

  4. spring mvc 接受多对象的处置

    spring mvc 接受多对象的处理 spring mvc感觉非常好用,尤其是对接收对象參数的自己主动绑定非常简便,但对于同一时候传多个对象时有些困扰. 同一时候项目并没有直接使用spring的fo ...

  5. 同事的Excel中的图片突然不能选择

    今天上午,同事突然说自己用的Excel不能编辑了,发来一看原来是其中做的图片不能编辑,鼠标放上去后显示个圆圈选不中. 在“视图”中调出“控件工具箱”工具栏,上面有一个三角板与直尺样子的按钮叫“设计模式 ...

  6. POJ 2184 Cow Exhibition 01背包

    题意就是给出n对数 每对xi, yi 的值范围是-1000到1000 然后让你从中取若干对 使得sum(x[k]+y[k]) 最大并且非负   且 sum(x[k]) >= 0 sum(y[k] ...

  7. matlab画棋盘格程序

    转载请注明出处:zhouyelihua**http://blog.csdn.net/zhouyelihua/article/details/46674191** 意义 在摄像机标定过程中经常须要打印棋 ...

  8. Java的一些基础小知识之JVM与GC (转)

    一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...

  9. 名字修饰约定extern "C"与extern "C++"浅析

    所谓名字修饰约定,就是指变量名.函数名等经过编译后重新输出名称的规则. 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z.?Func@ ...

  10. 你真的了解JAVA中与Webservice相关的规范和实现吗?

    非常多人在项目中使用Webservice,仅仅是知道怎样公布Webservice,怎样调用Webservice,但真要论其来龙去脉,还真不一定清楚. 一切一切还要从我们伟大的sun公司规范说起. JA ...