UVA11100- The Trip, 2007

UVA11100- The Trip, 2007

题目链接


题意:给定n个正整数。把它们划分成尽量少的严格递增序列(前一个数必须小于后一个数)。输出序列个数的最小值k和这k个序列。

思路:出现次数最多的个数就是序列的个数。输出比較麻烦。但我们仅仅要每k个数输出一个数字,那么最后就能够将全部序列都输出来了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int INF = 1000000;
const int MAXN = 10005;

int n;
int arr[MAXN], num[MAXN];

int main() {
    int t = 0;
    while (scanf("%d", &n) && n) {
        memset(num, 0, sizeof(num));
        for (int i = 0; i < n; i++) { 
            scanf("%d", &arr[i]); 
            num[arr[i]]++; 
        }
        arr[n] = INF;
        int Max = 0, cnt = 0, temp = 0;
        for (int i = 0; i < MAXN; i++) {
            if (num[i] > cnt) {
                cnt = num[i]; 
                temp = i;
            } 
        }
        Max = num[temp];
        if (t) 
            printf("\n");  
        t = 1; 
        printf("%d\n", Max);

        sort(arr, arr + n); 
        for (int i = 0; i < Max; i++) {
            printf("%d", arr[i]);
            for (int j = i + Max; j < n; j += Max) {
                    printf(" %d", arr[j]);  
            }
            printf("\n"); 
        }
    }
    return 0;
}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109379.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Java-Set转List】

    【Java-Set转List】这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年10月18日
    2
  • 使用knn算法对鸢尾花数据集进行分类(数据挖掘apriori算法)

    KNN算法实现鸢尾花数据集分类一、knn算法描述1.基本概述knn算法,又叫k-近邻算法。属于一个分类算法,主要思想如下:一个样本在特征空间中的k个最近邻的样本中的大多数都属于某一个类别,则该样本也属于这个类别。其中k表示最近邻居的个数。用二维的图例,说明knn算法,如下:二维空间下数据之间的距离计算:在n维空间两个数据之间:2.具体步骤:(1)计算待测试数据与各训练数据的距…

    2022年4月18日
    226
  • Oracle数据库学习的小结-1

    Oracle数据库学习的小结-1Oracle数据库监听配置 一、监听器(LISTENER)  监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。 二、本地服务名(Tnsname)  Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器

    2022年9月25日
    4
  • java常见的基本数据类型_Java中个数据类型范围

    java常见的基本数据类型_Java中个数据类型范围作为Java新手,笔者在跟随网络教程学习了标识符之后,开始了基本数据类型的学习。java的基本数据类型一共有八种,数值型(整数类型与浮点数类型),字符型和布尔型。其中,整数类型有byte(1字节),表数范围-128到127 short(2字节)int(4)字节 long(8字节)

    2022年5月3日
    58
  • 用python画爱心代码_python打印心形图案

    用python画爱心代码_python打印心形图案1、工具python3.0及以上版本;pycharm或其他开发环境2、思路首先,把你想说的话想好,我们用split()函数按空格切割成一个一个词其次,了解心形函数,百度一下哈,这个很多的,比如下面这个:再次,打印第一个词,两个for循环。一行一行打印,在函数内部的我们打印词,在函数外面的打印空格即可…

    2025年9月2日
    10
  • scrapy框架中ROBOTSTXT_OBEY = True的说明

    scrapy框架中ROBOTSTXT_OBEY = True的说明在scrapy中创建项目以后,在settings文件中有这样的一条默认开启的语句:#Obeyrobots.txtrulesROBOTSTXT_OBEY=True默认为True,就是要遵守robots.txt的规则,那么robots.txt是个啥?通俗来说,robots.txt是遵循Robot协议的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目…

    2022年4月28日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号