蓝桥-递增三元组-蓝桥
蓝桥-递增三元组-蓝桥
手动求解一下会发现,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