[蓝桥杯 2018 省 B] 递增三元组

一、题目描述

P8667 [蓝桥杯 2018 省 B] 递增三元组

二、问题简析

题目要求:

1 ≤ i , j , k ≤ N A i < B j < C k \begin{split} &1 \leq i,j,k \leq N \\ &A_i < B_j < C_k \end{split} 1i,j,kNAi<Bj<Ck

改变一下,得到

{ A i < B j C k > B j \begin{cases} A_i < B_j \\ C_k > B_j \end{cases} {Ai<BjCk>Bj

对于一个确定的 B j B_j Bj,统计所有 < B j < B_j <Bj A i A_i Ai 的数量 cntA,统计所有 > B j > B_j >Bj C k C_k Ck 的数量 cntC,对于该 B j B_j Bj 解的数量为 cntA * cntC


AC代码

复杂度: O ( N l o g N ) O(NlogN) O(NlogN)$

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

int quickin(void)
{
	int ret = 0;
	bool flag = false;
	char ch = getchar();
	while (ch < '0' || ch > '9')
	{
		if (ch == '-')    flag = true;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9' && ch != EOF)
	{
		ret = ret * 10 + ch - '0';
		ch = getchar();
	}
	if (flag)    ret = -ret;
	return ret;
}

const int MAX = 1e5 + 3;
int A[MAX], B[MAX], C[MAX], n; 

int main()
{
	#ifdef LOCAL
	freopen("test.in", "r", stdin);
	#endif
	
	n = quickin();
	for (int i = 1; i <= n; i++)
		A[i] = quickin();
	for (int i = 1; i <= n; i++)
		B[i] = quickin();
	for (int i = 1; i <= n; i++)
		C[i] = quickin();
		
	sort(A + 1, A + 1 + n);
	sort(C + 1, C + 1 + n);
	
	ll ans = 0;
	for (int i = 1; i <= n; i++)
	{
		int cntA = lower_bound(A + 1, A + 1 + n, B[i]) - A - 1;
		int cntC = C + n - upper_bound(C + 1, C + 1 + n, B[i]) + 1;
		ans += (ll)cntA * cntC;
	}
	cout << ans << endl;
	
	return 0;
}

相关推荐

  1. [ 2018 B] 递增三元

    2024-03-11 13:52:01       49 阅读
  2. 递增三元

    2024-03-11 13:52:01       43 阅读
  3. [ 2019 B] 等差数列

    2024-03-11 13:52:01       45 阅读
  4. 【[ 2013 B] 带分数】

    2024-03-11 13:52:01       42 阅读
  5. [ 2013 B] 翻硬币

    2024-03-11 13:52:01       52 阅读
  6. P8597 [ 2013 B] 翻硬币

    2024-03-11 13:52:01       55 阅读
  7. [ 2015 B] 生命之树

    2024-03-11 13:52:01       44 阅读
  8. P8682 [ 2019 B] 等差数列 Python

    2024-03-11 13:52:01       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 13:52:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 13:52:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 13:52:01       87 阅读
  4. Python语言-面向对象

    2024-03-11 13:52:01       96 阅读

热门阅读

  1. # 关于virt-cat命令之-c|--connect参数问题

    2024-03-11 13:52:01       50 阅读
  2. openssl3.2 - 官方demo学习 - encode - rsa_encode.c

    2024-03-11 13:52:01       43 阅读
  3. 数据标准化方法

    2024-03-11 13:52:01       44 阅读
  4. linux系统Docker容器Dockerfile示例

    2024-03-11 13:52:01       47 阅读
  5. RabbitMQ实战:docker compose 搭建RabbitMQ

    2024-03-11 13:52:01       42 阅读
  6. Neovim基本介绍

    2024-03-11 13:52:01       46 阅读
  7. 单机Kubenetes集群——KinD安装

    2024-03-11 13:52:01       47 阅读
  8. 电商API接口与数据分析、数据挖掘的结合

    2024-03-11 13:52:01       44 阅读
  9. jvm八股

    jvm八股

    2024-03-11 13:52:01      40 阅读
  10. 微信小程序-自定义简易顶部导航

    2024-03-11 13:52:01       40 阅读