递增三元组蓝桥杯c语言,蓝桥-递增三元组-蓝桥

蓝桥-递增三元组-蓝桥

蓝桥-递增三元组-蓝桥

e3e7e44c09a78e1ddae202a1803f09ad.png

手动求解一下会发现,B数组是关键

若固定b = B[i]

a中的可能的取值是:a0 ----- at小于等于b的元素下标(小于b的个数)

c中的可能取值是:大于c的元素下标ct ---- cn

固定b后可以很容易的判断出a,c中的元素个数

这是一个分步策略,最后可能的路径就是 at * (cn - ct)

#include

#include

#include

using namespace std;

int N;

void f(int a[])

{

for (int i = 0; i < N; i++)

{

scanf("%d", &a[i]);

}

sort(a, a + N);

}

long long solve(int a[], int b[], int c[])

{

long long ans = 0;

// 遍历b

for (int i = 0; i < N; i++)

{

long long c_end;

long long a_end;

// a中小于等于b[i]的最后一个下标

a_end = lower_bound(a, a + N, b[i]) - a;

// c中大于b[i]的最后一个下标

c_end = upper_bound(c, c + N, b[i]) - c;

ans += a_end * (N - c_end);

}

return ans;

}

int main()

{

cin >> N;

int a[N + 1];

int b[N + 1];

int c[N + 1];

f(a);

f(b);

f(c);

cout << solve(a, b, c);

return 0;

}

蓝桥-递增三元组-蓝桥相关教程

蓝桥杯第十一届真题:解密

蓝桥杯第十一届真题:解密 点击查看:蓝桥杯历年真题 题解目录 解密 答案: 自行对应表格查阅得:YeRjkGSmnlRzgDlvRwYkXkrGWWHXaA YeRjkGSmnlRzgDlvRwYkXkrGWWHXaA

蓝桥杯第十一届真题:纪念日

蓝桥杯第十一届真题:纪念日 点击查看:蓝桥杯历年真题 题解目录 纪念日 public class Main002_纪念日 { public static boolean isYear(int year){ return year%400==0 || (year%4==0 year%100!=0); } public static void main(String[] args) { int counts =

蓝桥杯嵌入式-第九届省赛-电子定时器

蓝桥杯嵌入式-第九届省赛-电子定时器 /* 程序说明: 蓝桥杯大赛第九届省赛-电子定时器 软件环境: Keil uVision 4.11 硬件环境: CT117E嵌入式竞赛板(代码兼容ILI932X系列、uc8230液晶控制器) 日 期: 2020年10月13日 作 者: lishan*/#include stm32f10x.h#inclu

蓝桥杯 算法训练 单词翻转

蓝桥杯 算法训练 单词翻转 这个题我想了一个很麻烦的方法 #include bits/stdc++.husing namespace std;int main(){char s[1000];int i=0,k=0;int temp[100];//记录每个单词的长度 int sum=0;for(;s[i]!='\n';i++){cins[i];if(s[i]!=' '){sum++;}else{temp[k]=

[蓝桥杯2017初赛]分巧克力 (二分)

[蓝桥杯2017初赛]分巧克力 (二分) #includestdio.h#includestring.h#includeiostream#includealgorithm#includemap#includestring#includesetusing namespace std;#define ll long long const int maxn=100005; int h[maxn];int w[maxn];int main(){int n,k

[2019]蓝桥杯迷宫——bfs+局部贪心

[2019]蓝桥杯迷宫——bfs+局部贪心 观察数据量,明显不能用dfs,绝对跑不完。所以采用bfs,根据字典序DLRU,所以优先走DLRU,局部最优,导致的全局最优,最后优先到达终点的,一定是我们之前选择的最优解。 #includeiostream#includequeueusing namespace std;i

[蓝桥杯][2020年第十一届真题第一场]整除序列

[蓝桥杯][2020年第十一届真题第一场]整除序列 解题思路:签到题,直接暴力解,主要是开longlong #includebits/stdc++.h#define x first#define y second#define mem(h) memset(h,-1,sizeof h)#define mcp(a,b) memcpy(a,b,sizeof b)using namespace std;typed

[蓝桥杯][2020年第十一届真题第一场]解码

[蓝桥杯][2020年第十一届真题第一场]解码 解题思路:模拟,遍历每个位置如果他的下一个位置是数字就输出几个字符,如果不是字符就只输出一个 #includebits/stdc++.h#define x first#define y second#define mem(h) memset(h,-1,sizeof h)#define mcp(a,b) mem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值