• 壮壮的数组


    壮壮的数组

    Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
    Total Submission(s) : 31   Accepted Submission(s) : 13

    Font: Times New Roman | Verdana | Georgia

    Font Size: ← →

    Problem Description

    A,B,C为三个元素个数为n的数组,A={a1,a2,a3...an},B={b1,b2,b3...bn},C={c1,c2,c3...cn};
    已知A、B数组,而且有ci等于ai或bi(1<=i<=n),毫无疑问,C数组有很多种组合。
    但是zz不希望C数组全由A数组或者B数组组成,每一种组合都有一个K值,K=c1*c2*c3*...*cn。
    现在需要你求出每一种组合对应的K值,并将它们加起来的结果。这个结果可能会很大,请将答案对1e9+7取模。
    例如A={1,2,3} B={2,2,4}。
    C数组可能为{a1,b2,b3} {b1,a2,b3} {b1,b2,a3} {a1,a2,b3} {a1,b2,a3} {b1,a2,a3}
    K值分别为8,16,12,8,6,12,所以你应该输出62。

    大量输入,建议使用scanf

    Input

    输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(1<=n<=100000),表示A,B,C数组元素个数,第二行有n个数据表示a1 a2 a3...an,第三行有n个数据表示b1 b2 b3...bn,(1<=ai,bi<=1e9)。处理到文件的结束。

    Output

    对于每个测试实例,输出一行数据表示问题的答案,请将答案对1e9+7取模。

    Sample Input

    3
    1 2 3
    2 2 4
    1
    3
    4
    

    Sample Output

    62
    0
    
    这题就找规律。
    但是挺难找的,耐心啊;
    结果就是求(a1+b1)*(a2+b2)*....*(an+bn)-a1*a2...*an-b1*b2*...*bn

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #define mem(a) memset(a,0,sizeof(a))
     5 #define ll long long int
     6 #define M 100005
     7 #define Mod 1000000007
     8 #define mem(a) memset(a,0,sizeof(a))
     9 using namespace std;
    10 ll a[M],b[M],c[M];
    11 int main(){
    12     int n;
    13     while(scanf("%d",&n)!=EOF){
    14         ll sum,cnt,ans;
    15         sum=cnt=1;
    16         ans=1;
    17         for(int i=0;i<n;i++){
    18             scanf("%lld",&a[i]);
    19             sum=(sum*a[i])%Mod;
    20             c[i]=a[i];
    21         }
    22         for(int i=0;i<n;i++){
    23             scanf("%lld",&b[i]);
    24             cnt=(cnt*b[i])%Mod;
    25             c[i]+=b[i];
    26         }
    27         for(int i=0;i<n;i++){
    28             ans=(c[i]*ans)%Mod;
    29         }
    30         printf("%lld
    ",(ans-cnt-sum+Mod+Mod)%Mod);
    31         mem(a);
    32         mem(b);
    33         mem(c);
    34     }
    35     return 0;
    36 }


  • 相关阅读:
    js_类数组转化为数组
    js_立即执行函数
    react-router详解
    闭包_详解
    react_生命周期执行顺序
    Git-Gitlab-Genkins持续集成
    java 通用查询
    java-JDBC事务
    java中的session和cookie实现购物车的结算和清空
    servlet服务器
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7260307.html
Copyright © 2020-2023  润新知