2018年第九届蓝桥杯【C++省赛B组】【第六题:递增三元组】——二分解法
题目描述
给定三个整数数组
A = [A1, A2, … AN],
B = [B1, B2, … BN],
C = [C1, C2, … CN],
请你统计有多少个三元组(i, j, k) 满足:
- 1 <= i, j, k <= N
- 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
样例输出
题解:用二分的方法,可以先对三个数组排序,然后遍历数组b,查找a数组中有多少个小于b[i]的,c数组中有多少个大于b[i]的。
27
#include<stdio.h>
#include<iostream>
#include<algorithm>
#define maxn 1000000
using namespace std;
int a[maxn+5],b[maxn+5],c[maxn+5];
int main()
{long long int n,sum=0;scanf("%lld",&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);printf("%d\n",lower_bound(a,a+n,35)-a);for(int i=0;i<n;i++){int x=(lower_bound(a,a+n,b[i])-a);int y=(n-(upper_bound(c,c+n,b[i])-c));sum+=x*y;}printf("%lld\n",sum);return 0;
}
2018年第九届蓝桥杯【C++省赛B组】【第六题:递增三元组】——二分解法相关推荐
- 2018第九届蓝桥杯大赛软件类B组C/C++省赛题解
2018第九届蓝桥杯大赛软件类B组C/C++省赛目录 试题 A:第几天(结果填空) 试题 B:明码(结果填空) 试题 C:乘积尾0(结果填空) 试题 D:测试次数(结果填空) 试题 E:快速排序(结果 ...
- 7.python解答2018年第九届蓝桥杯省赛C++A组 分数
7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...
- 第九届蓝桥杯(省赛)C++C组真题题解
文章目录 题目链接 C组真题(剩余题目同B组真题相同,已给出B组真题题目链接) 题目结构 第一题 哪天返回 第二题 猴子分香蕉 第五题 书号验证 第六题 稍小分数 第七题 次数差 第八题 等腰三角形 ...
- 【蓝桥杯】第九届蓝桥杯单片机国赛 代码程序
第九届蓝桥杯单片机国赛 程序 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这里 ...
- 关于2018年第九届蓝桥杯省赛(江苏赛区)
为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...
- 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案
前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...
- 第九届蓝桥杯(省赛)美斯坦福共建专业学子捷报频传
2018年4月1日起,第九届蓝桥杯全国软件和信息技术专业人才大赛(省赛)在各省市点燃战火,武汉美斯坦福信息技术有限公司合作院校共建专业的学子们捷报频传,46人斩获一等奖,获得重大历史性突破,再次刷新美 ...
- 蓝桥杯java 大纲,2019 第十届蓝桥杯Java省赛B组个人总结
前言 19年的这场蓝桥杯,对我自己的打击挺大的,以至于时隔多个月之后第十一届蓝桥杯要开始报名的时候,我才敢面对他.报名第十届蓝桥杯的时候我大二,自我感觉学的不错,但事实并非如此,当入了那句话,学术不精 ...
- 2018年第九届蓝桥杯省赛C/C++ A组(蒻鸡自己写的,看不上勿喷,自己的一点想法)
第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...
- 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
航班时间 [问题背景] 小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小h对超音速飞行 ...
最新文章
- python学习一(python与pip工具下载与安装)
- Oracle Database Appliance ODA开箱视频
- Travis CI mysql_DevOps工具介绍连载(34)——Travis CI
- 开源矿工和轻松矿工接入ssl
- ironpython2.7.8相当于python3.7吗_IronPython与numpy的Python速度之比较
- centos 定时任务
- linux系统课程ubuntu视频教程
- 微信小程序账号注册初始化环境搭建
- 20210505 秀米导入已发布微信推送的所有内容
- 装满了自我提升的33个学习平台
- 利用python对b站某GPT-4解说视频的近万条弹幕进行爬取、数据挖掘、数据分析、弹幕数量预测及情绪分类
- head, tail, catI(linux) in powershell
- Thunderboard EFR32BG22出厂历程分析
- 自己动手玩vps主机
- java去除图片水印的解决办法
- 1的平方加2的平方一直加到n的平方
- 马云雕像事件谁在背后操刀?
- uniapp 登入功能 vuex使用 通俗易懂
- ETCD 简介 + 使用
- 信管网 系统集成经验分享