zoukankan      html  css  js  c++  java
  • HDOJ 1121 Complete the Sequence

    【题目大意】
    有一个数列P,它的第i项是当x=i时,一个关于x的整式的值。
    给出数列的前S项,你需要输出它的第S+1项到第S+C项,并且使整式的次数最低。
    多测。

    【数据范围】
    数据组数≤5000,S+C≤100

    思路:使用差分的方法进行解题,然后再逆向回去

    实例:
      原数列1,2,4,7,11,16,22,29……
      第一次相减:1,2,3,4,5,6,7……
      第二次相减:1,1,1,1,1,1……
      所有元素都相同了
      所以下一项就是1+7+29=37,再下一项是1+8+37=46

     1 #include<stdio.h>
     2 #define NN 102
     3 int main()
     4 {
     5     int T, i, j, S, C;
     6     int f[NN][NN];
     7     scanf("%d", &T);
     8     while (T--){
     9         scanf("%d%d", &S, &C);
    10         for (i = 0; i < S; i++)
    11             scanf("%d", &f[0][i]);
    12         for (i = 1; i < S; i++)
    13             for (j = 0; i + j < S; j++)
    14                 f[i][j] = f[i - 1][j + 1] - f[i - 1][j];
    15         for (i = 1; i <= C; i++)
    16             f[S - 1][i] = f[S - 1][0];
    17         for (i = S - 2; i >= 0; i--)
    18             for (j = S - i; j < C + S; j++)
    19                 f[i][j] = f[i][j - 1] + f[i + 1][j - 1];
    20         for (i = S; i < S + C - 1; i++)
    21             printf("%d ", f[0][i]);
    22         printf("%d
    ", f[0][i]);
    23     }
    24     return 0;
    25 }
  • 相关阅读:
    Linux中的阻塞机制
    Shellz中awk的简单用法
    实际项目开发过程中常用C语言函数的9大用法
    堆栈溢出一般是什么原因?
    哈夫曼算法原理
    7款易上手C语言编程软件推荐
    嵌入式系统分类介绍
    什么是字符串数组
    C语言中数组定义方式
    第三章课后习题P56解析
  • 原文地址:https://www.cnblogs.com/kb342/p/3760842.html
Copyright © 2011-2022 走看看