精华内容
下载资源
问答
  • // 给定一个数列问有多少元素是递增三元组的中心 #include <stdio.h> int main() { int n,a[10],j,p=0,b[10],i,k,num; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } ...

    // 给定一个数列问有多少元素是递增三元组的中心 
    #include <stdio.h>
    int main() 

        int n,a[10],j,p=0,b[10],i,k,num;
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        } 
        
        for(i=0;i<n-2;i++)
        {
         for(j=i+1;j<n-1;j++)
         {
             if(a[i]<a[j])//(1)
             {
                 for(k=j+1;k<n;k++)
                 {
                     if(a[j]<a[k])//(2)进行两次判断如果成立的话则满足中间的a[j]为三元组中心 
                     {
                      b[p]=j;//将满足条件的所有元素存入数组, 
                      p++;
                     
                     }
                 } 
             }
         }
        }
            num=p;//将元素数赋值给num,接下来将重复的元素去掉 
        for(i=0;i<n-1;i++)
        {
         if(b[i]!=0)
         {
           for(j=i+1;j<n;j++)
           {
             if(b[i]==b[j])
             {
               b[j]=0;
               num--;//如果发现相同的将原来总的数减去一个重复的
             }
           }
         }
        }
        printf("%d",num);
        return 0;
    }

    展开全文
  • 问题描述 ...则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。  给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。 输入格式 输入的第一行包含一个整数 n。  ...

    问题描述
      在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],
    则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。
      给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
    输入格式
      输入的第一行包含一个整数 n。
      第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。
    输出格式
      输出一行包含一个整数,表示答案。
    样例输入
    5
    1 2 5 3 5
    样例输出
    2
    样例说明
    a[2] 和 a[4] 可能是三元组的中心。
    代码实现

    import java.util.HashSet;
    import java.util.Scanner;
    public class four {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            //定义一个用来存放n个整数的数组
            int[] arr = new int[n];
            for (int i = 0; i < n; i++) {
                arr[i] = sc.nextInt();
            }
            System.out.println(fun(n,arr));
        }
    
        //实现求三元组的中心的个数,参数为数组的个数,存放输入整数的数组
        public static int fun(int n, int[] arr){
            //定义一个HashSet集合,用来存放满足条件的元素下标,
            // 一个三元组中心数可能是多个三元组的中心,所以遍历的时候HashSet集合不会重复存储
            HashSet<Integer> set = new HashSet<>();
            //嵌套循环遍历数组,要满足满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],数组习惯从0开始,所以左移一位
            for (int i = 0; i < n; i++) {
                for (int j = i + 1; j < n; j++) {
                    for (int k = j + 1; k < n; k++) {
                        if(arr[i] < arr[j] && arr[j] < arr[k]){
                            //存储满足条件的下标
                            set.add(j);
                        }
                    }
                }
            }
            //集合的长度就是递增三元组中心数的个数
            return set.size();
        }
    }
    

    代码运行

    10
    2 9 34 23 4 8 12 22 1 5
    4
    

    检验是否正确:
    2 9 34 23 4 8 12 22 1 5
    答案正好是4个

    展开全文
  • 【问题描述】 在数列 a[1], a[2], …, a[n] 中,如果...则称 a[i], a[j], a[k] 为一组递增三元组,a[j] 为递增三元组的中心。 给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。 【输入格式】 第一行...

    问题描述
    在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0 < i < j < k < n + 1 且 a[i]< a[j] < a[k],

    则称 a[i], a[j], a[k] 为一组递增三元组,a[j] 为递增三元组的中心。

    给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。

    输入格式
    第一行包含一个整数 n。
    第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。

    输出格式
    一个整数,表示答案。

    样例输入
    5
    1 2 5 3 5

    样例输出
    2

    样例说明
    a[2] 和 a[4] 可能是三元组的中心。

    数据范围
    2 ≤ n ≤ 1000,0 ≤ a[i] ≤ 10000。


    题解一
    二重循环:

    解题步骤

    1. 直接枚举中心点 i
    2. 判断 [1, i - 1] 中是否存在小于 a[i] 的数,若存在,则 flag1 = true
    3. 判断 [i + 1, n] 中是否存在大于 a[i] 的数,若存在,则 flag2 = true
    4. flag1flag2 同时为 true,说明 i 为中心点,那么就让答案 +1
    #include <iostream>
    using namespace std;
    
    const int N = 10010;
    
    int n;
    int a[N];
    
    int main()
    {
    	cin >> n;
    	
    	for (int i = 1; i <= n; i ++) cin >> a[i];
    	
    	int ans = 0;
    	for (int i = 2; i < n; i ++)
    	{
    		bool flag1 = false, flag2 = false;
    		for (int j = 1; j < i; j ++)
    			if(a[i] > a[j])
    			{
    				flag1 = true;
    				break;
    			}
    			
    		for (int k = i + 1; k <= n; k ++)
    			if(a[i] < a[k])
    			{
    				flag2 = true;
    				break;
    			}	
    		
    		if(flag1 && flag2) ans ++;	
    	}
    	
    	cout << ans << endl;
    	return 0;
    }
    

    题解二
    一重循环:

    解题思路

    1. minv 维护 i 前面出现过的最小值;
    2. maxv 维护 i 后面出现过的最大值;
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    const int N = 10010;
    
    int n;
    int a[N], minv[N], maxv[N];
    
    int main()
    {
    	cin >> n;
    	
    	for (int i = 1; i <= n; i ++) cin >> a[i];
    	
    	memset(maxv, 0, sizeof maxv);
    	memset(minv, 0x3f, sizeof minv);
    	
    	for (int i = 1; i <= n; i ++) minv[i] = min(minv[i - 1], a[i]);
    	for (int i = n; i >= 1; i --) maxv[i] = max(maxv[i + 1], a[i]);
    	
    	int ans = 0;
    	for (int i = 1; i <= n; i ++)
    		if(a[i] > minv[i - 1] && a[i] < maxv[i + 1])
    			ans ++;
    			
    	cout << ans << endl;
    	return 0;
    }
    
    展开全文
  • 第六题 递增三元组 题目 【问题描述】 在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组...

    第六题 递增三元组
    题目

    【问题描述】
    在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。
    给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
    【输入格式】
    输入的第一行包含一个整数 n。
    第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。
    【输出格式】
    输出一行包含一个整数,表示答案。
    【样例输入】
    5
    1 2 5 3 5
    【样例输出】
    2
    【样例说明】
    a[2] 和 a[4] 可能是三元组的中心。
    【评测用例规模与约定】
    对于 50% 的评测用例,2 <= n <= 100,0 <= 数列中的数 <= 1000。
    对于所有评测用例,2 <= n <= 1000,0 <= 数列中的数 <= 10000。

    #include <iostream>
    using namespace std;
    int main(){
    	int ans=0;
    	int n;
    	cin>>n;
    	int *data=new int[n];//动态创建数组
    	for(int i=0;i<n;++i){
    		cin>>data[i];
    	} 
    	for(int j=1;j<n-1;++j){//可能为中心的数的下标范围
    	bool flag1=false;
    	bool flag2=false;
    	for(int m=0;m<j;++m){
    	if(data[m]<data[j]){//遍历左边看知否符合 
    		flag1=true;
    	}	
    	}
    	for(int k=j+1;k<n;++k){//遍历右边看是否符合 
    		if(data[j]<data[k]){
    			flag2=true;
    		}
    	}
    	if(flag1&&flag2){//两边都符合 
    		ans++;
    	}
    		}
    	cout<<ans<<endl;
    	return 0;
    }
    
    
    展开全文
  • 递增三元组 问题描述 在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k], 则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。  给定...
  • 蓝桥杯模拟赛】第六题 递增三元组(java实现) 题目: 【问题描述】 在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一...
  • 第六题 递增三元组 题目 【问题描述】 在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组...
  • 递增三元组7.音节判断8. 长草9.序列计数 1. 单位变换 标题: 熊怪吃核桃 【问题描述】 在计算机存储中,15.125GB是多少MB? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数...
  • a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。 给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。 【输入格式】 输入的第一行包含一个整数 n。 第二行包...
  • 2020年蓝桥杯模拟赛解题报告(CPP版本)

    万次阅读 多人点赞 2020-03-25 18:55:08
    目录第一题 单位变换题目思路答案第二题 约数个数题目思路答案第三题 叶结点数题目思路答案第四题 数字9题目思路参考代码:答案第五题 数位递增的数题目思路 O(kN)参考代码第六题 递增三元组题目思路 O(N^2)参考代码...
  • 文章目录第四题 数字9第五题 数位递增的数第六题 递增三元组第七题 音节判断第九题 序列计数 第四题 数字9 【问题描述】 在1至2019中,有多少个数的数位中包含数字9? 注意,有的数中的数位中包含多个9,这个数只算...
  • 3、递增三元组的中心 4、种草问题 5、奇怪的数列 6、晚会节目 1、单位换算 【问题描述】 在计算机存储中,15.125GB是多少MB? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个...
  • 第六题 ...a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。  给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。 输入格式  输入的第一行包含一个整数 n...
  • 三元组的中心问题 第一次写这种题。。。 写完之后感觉不是太难,但我也不能做到思路清晰的一下写对。先从分析题目开始: ...a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。 ...
  • 2020年蓝桥杯第十一届校内真题解析--算法设计--递增三元组的中心比赛记录问题描述输入格式输出格式样例输入样例输出样例说明评测用例规模与约定解析 比赛记录 本人于2020年3月14日14:00~18:00,参加了本校组织的...
  • 蓝桥杯校内模拟赛

    2020-03-18 18:00:42
    蓝桥杯校内模拟赛模拟赛1200000的约数GB转MB多少个92019个结点的二叉树递增三元组的中心数位递增元音辅音单词小明的空地特殊的正整数序列晚会节目 模拟赛 我的18号上午的比赛,题目顺序和一些细节可能和现在网上的不...
  • 6.递增三元组 /** 问题描述 在数列 a[1], a[2], ..., a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

蓝桥杯模拟赛递增三元组