zoukankan      html  css  js  c++  java
  • 第九届蓝桥杯省赛第六题---递增三元组


    标题:递增三元组
    给定三个整数数组
    A = [A1, A2, ... AN],
    B = [B1, B2, ... BN],
    C = [C1, C2, ... CN],
    请你统计有多少个三元组(i, j, k) 满足:
    1. 1 <= i, j, k <= N 
    2. Ai < Bj < Ck  3
    【输入格式】
    第一行包含一个整数N。
    第二行包含N个整数A1, A2, ... AN。
    第三行包含N个整数B1, B2, ... BN。
    第四行包含N个整数C1, C2, ... CN。
    对于30%的数据,1 <= N <= 100 
    对于60%的数据,1 <= N <= 1000
    对于100%的数据,1 <= N <= 100000 0 <= Ai, Bi, Ci <= 100000
    【输出格式】
    一个整数表示答案
    【样例输入】
    3
    1 1 1
    2 2 2
    3 3 3
    【样例输出】
    27

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗  < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
    注意:
    main函数需要返回0;
    只使用ANSI C/ANSI C++ 标准;
    不要调用依赖于编译环境或操作系统的特殊函数。
    所有依赖的函数必须明确地在源文件中 #include <xxx>
    不能通过工程设置而省略常用头文件。
    提交程序时,注意选择所期望的语言类型和编译器类型。
     
    思路:巧妙利用lower_bound和upper_bound函数,根据b[i]找出a[i]中比b[i]小的个数,找出c[i]中比b[i]大的个数.
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstring>
     5 #include<cstdlib>
     6 using namespace std;
     7 typedef long long ll;
     8 const int maxn=1e5+10;
     9 int a[maxn],b[maxn],c[maxn];
    10 
    11 int main(){
    12     int n;
    13     cin>>n;
    14     for(int i=0; i<n; i++ ){
    15         cin>>a[i];
    16     }
    17     for(int i=0; i<n; i++ ){
    18         cin>>b[i];
    19     }
    20     for(int i=0; i<n; i++ ){
    21         cin>>c[i];
    22     }
    23     sort(a,a+n);
    24     sort(b,b+n);
    25     sort(c,c+n);
    26 
    27     ll cnt=0;
    28     for(int i=0; i<n; i++ ){
    29         ll pos1=lower_bound(a,a+n,b[i])-a;
    30         ll pos2=upper_bound(c,c+n,b[i])-c;
    31         cnt+=(ll)pos1*(n-pos2);
    32     }
    33     cout<<cnt<<endl;
    34     return 0;
    35 }
    有些目标看似很遥远,但只要付出足够多的努力,这一切总有可能实现!
  • 相关阅读:
    手机通讯录实现
    leetcode
    android 上手维修设备和推断启动服务
    MVC Code First (代码优先)
    10000阶乘
    telnet发电子邮件
    nodejs显现events.js:72抛出错误
    指针
    脑洞门大开思维工具:六顶思考帽
    C#实现CAD数据转shape或mdb
  • 原文地址:https://www.cnblogs.com/Bravewtz/p/10326694.html
Copyright © 2011-2022 走看看