2018省赛第九届蓝桥杯真题C语言B组第六题题解 递增三元组
2018第九届蓝桥杯C++省赛B组[最新题解汇总]
标题:递增三元组
给定三个整数数组
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
【输入格式】
第一行包含一个整数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
思路:二分,对于b数组的每个数,我们去a数组里找第一个比b[i]小的数的位置,去c数组里找第一个比b[i]大的数的位置,这样
2*Nlog(N)就能找到所有情况.
代码:
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
using namespace std;
typedef long long ll;
const int maxn = 1e5+5;
const double esp = 1e-7;
const int ff = 0x3f3f3f3f;
map<int,int>::iterator it;int n;
int a[maxn],b[maxn],c[maxn];int main()
{cin>>n;for(int i = 0;i< n;i++)scanf("%d",&a[i]);for(int i = 0;i< n;i++)scanf("%d",&b[i]);for(int i = 0;i< n;i++)scanf("%d",&c[i]);sort(a,a+n);sort(b,b+n);sort(c,c+n);ll ans = 0;for(int i = 0;i< n;i++){int pos1 = lower_bound(a,a+n,b[i])-a;int pos2 = upper_bound(c,c+n,b[i])-c;ans+= (ll)pos1*(n-pos2);}cout<<ans<<endl;return 0;
}
2018省赛第九届蓝桥杯真题C语言B组第六题题解 递增三元组相关推荐
- 2018省赛第九届蓝桥杯真题C语言B组第十题题解 乘积最大
2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:乘积最大 给定N个整数A1, A2, ... AN.请你从中选出K个数,使其乘积最大. 请你求出最大的乘积,由于乘积可能超出整型范围,你只 ...
- 2018省赛第九届蓝桥杯真题C语言B组第五题题解 快速排序
2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:快速排序. 以下代码可以从数组a[]中找出第k小的元素. 它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的. 请仔细阅读分析源码, ...
- 2018省赛第九届蓝桥杯真题C语言B第四题题解 测试次数
2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机 ...
- 2018省赛第九届蓝桥杯真题C语言B组第九题题解 全球变暖
2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:全球变暖 你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: ....... ...
- 2018省赛第九届蓝桥杯真题C语言B组第八题题解 日志统计
2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在t ...
- 第九届蓝桥杯真题解析JavaC组
第九届蓝桥杯真题解析JavaC组 文章目录 ***第九届蓝桥杯真题解析JavaC组*** 前言 A.哪天回家 B.猴子分香蕉 C.字母阵列 D.第几个幸运数 E.书号验证 F.打印大X G.缩位求和 ...
- 2018年第九届蓝桥杯真题解析 | 日志统计【Python】
问题描述 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有 N 行.其中每一行的格式是: ts id 表示在 ts 时刻编号 id 的帖子收到一个"赞&q ...
- 2018年第九届蓝桥杯真题解析 | 星期一【Python】
问题描述 整个 2020 世纪(1901 年 1 月 1 日至 2000年 12 月 31 日之间),一共有多少个星期一? 个人思路 使用datetime模块 常见的datetime函数 1.S = ...
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛第二题
http://www.docin.com/p-506195687.html 这样算不算写了一道题.... 完美正方形 如果一些边长互不相同的正方形,可以恰好拼出一个更大的正方形,则称其为完美正方形. ...
最新文章
- 替换WCF默认序列化方式
- PubChem的Python接口PubChemPy
- 从CTO到创始人 孙元浩基础软件破局之路
- 数据挖掘导论读书笔记4--其他分类技术
- ThinkPad T61安装Ubuntu9.10全记录
- Python之pandas:pandas中常见的数据类型转换四大方法以及遇到的一些坑之详细攻略
- jersey rest webservice
- 什么是计算机的网络体系结构,什么是网络体系结构 网络体系结构介绍【详解】...
- 以人为本、用“简”驭“繁”……统统都是新华三物联网的关键词儿!
- android5.1 sdk version,java - Android SDK version 23.6 - Stack Overflow
- 深度学习根据文字生成图片教程(附python代码)
- X讯开始赤裸裸的流氓了
- linux重定向文件容加时间,linux – Shell重定向和文件I / O持续时间
- java实例化类方法_Java 实例化类的的几种方法
- android截长屏后保存
- 山东计算机软考题库,软考习题库
- 手机号归属地 mysql脚本_手机号码归属地能否取消? 这些热点问题,工信部回复了...
- 单商户商城系统功能拆解09—微页面
- mPEG-Phosphate,甲氧基聚乙二醇磷酸盐,mPEG-PHOS
- PADS9.5如何导出的光绘文件(Gerber),应该检查什么?