zoukankan      html  css  js  c++  java
  • A1009. Product of Polynomials

    This time, you are supposed to find A*B where A and B are two polynomials.

    Input Specification:

    Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N1 aN1 N2 aN2 ... NK aNK, where K is the number of nonzero terms in the polynomial, Ni and aNi (i=1, 2, ..., K) are the exponents and coefficients, respectively. It is given that 1 <= K <= 10, 0 <= NK < ... < N2 < N1 <=1000.

    Output Specification:

    For each test case you should output the product of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate up to 1 decimal place.

    Sample Input

    2 1 2.4 0 3.2
    2 2 1.5 1 0.5
    

    Sample Output

    3 3 3.6 2 6.0 1 1.6

     1 #include<cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 int main(){
     5     int K, n, count = 0;
     6     double a, poly1[1001] = {0}, re[2002] = {0};
     7     scanf("%d", &K);
     8     for(int i = 0; i < K; i++){
     9         scanf("%d%lf", &n, &a);
    10         poly1[n] = a;
    11     }
    12     scanf("%d", &K);
    13     for(int i = 0; i < K; i++){
    14         scanf("%d%lf", &n, &a);
    15         for(int j = 0; j < 1001; j++)
    16             re[n + j] = re[n + j] + poly1[j] * a;
    17     }
    18     for(int i = 2001; i >= 0; i--){
    19         if(re[i] != 0)
    20             count++;
    21     }
    22     printf("%d", count);
    23     for(int i = 2001; i >= 0; i--){
    24         if(re[i] != 0)
    25             printf(" %d %.1lf", i, re[i]);
    26     }
    27     cin >> K;
    28     return 0;
    29 }
    View Code

    总结:

    1、指数为1000的多项式乘法,结果最高为2000次幂。

    2、为减少时间复杂度,可以将第一个多项式存储,第二个不存。第二个多项式边读入边直接遍历poly1并做乘法。还可以将两个多项式的系数与指数分别开数组存下来以减小复杂度。

  • 相关阅读:
    清理CentOS 7系统 journal日志
    漏洞修复:CVE-2018-18311 Perl_my_setenv()中的整数溢出导致缓冲区溢出
    content-script 发送消息给background : runtime.lastError: The message port closed before a response was received.
    SEO:适应百度的页面配置
    我的 .npmrc 配置
    Cordova + Vue 环境搭建
    发布一个PHP包到Packagist, 然后使用Composer安装
    vue3 问题记录
    问题记录
    小程序
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/8431284.html
Copyright © 2011-2022 走看看