问题 A: 二路归并排序(mergesort)递归法 [2*+]

力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.4.5 企业版 旗舰版 JNPF作为作为一款深受用户喜爱的低代码产品,凭借雄厚的科研技术力量、丰富的软件开发项目经验、严谨的项目开发流程和高质量的售后服务,已成功帮助千家企业完成数字化项目,建立了覆盖不同行业客户和不同发展阶段的软件产品服务体系。 阅读详情

问题 A: 二路归并排序(mergesort)递归法 [2*+]

时间限制: 1 Sec  内存限制: 128 MB
提交: 174  解决: 0
[提交][状态][讨论版][命题人:外部导入]

题目描述

二路归并排序(mergesort)递归法
用递归法进行二路归并排序
输入:第一行一个数据n,表示有n个数要排序。接下来n行每行一个<=10^7的整数。
输出:n行,由小到大排序后的数据
数据规模:n<=10^5
思考:两个递归都会被执行吗?

简单归并排序。

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <iomanip>
using namespace std;
int a[100005];
//后台测试样例出错,答案正确显示运行错误20%
void Merge(int l1,int r1,int l2,int r2,int a[])
{
    int i=l1,j=l2;
    int t=0;
    int x[100005];
    while(i<=r1&&j<=r2)
    {
        if(a[i]<=a[j])
        {
            x[t++]=a[i++];
        }
        else
            x[t++]=a[j++];
    }
    while(i<=r1)
        x[t++]=a[i++];
    while(j<=r2)
        x[t++]=a[j++];
    for(int m=0;m<t;m++)
    {
        a[m+l1]=x[m];
    }
}
void mergesort(int left,int right,int a[])
{
    if(left<right)
    {
        int pos=(left+right)/2;
    mergesort(left,pos,a);
    mergesort(pos+1,right,a);
    Merge(left,pos,pos+1,right,a);
    }
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    mergesort(0,n-1,a);
    for(int i=0;i<=n-1;i++)
    {
        cout<<a[i]<<endl;
    }
    return 0;
}

 

高熵合金AlCoCrFeNi/金刚石摩擦案例代码 本文介绍金刚石与高熵合金AlCoCrFeNi摩擦的案例。 在之前的文章中,介绍过使用fix indent命令实现虚拟球的摩擦,本文介绍使用金刚石实体球实现高熵合金摩擦的方法。 主要的模拟过程如下: (1)基体建模 建使用原子替换法获得高熵合金初始模型,升温到3000K驰豫后,冷却至300K,获得平衡组织。 (2)摩擦球建模 在高熵合金平衡组织的模型中添加金刚石摩擦球,使用change_box命令扩大box尺寸,添加金刚石摩擦球,并设置混合力场。 (3)摩擦过程 摩擦球下压一定深度后,沿y方向进行摩擦,摩擦 阅读详情

相关推荐

bert-ini:一种基于bert的实体对齐交互模型

本次分享一项来自IJCAI-20的实体对齐工作,该工作提出了一种不同于以往的采用图结构信息进行实体对齐的技术方案,该方案取得了当时的最好效果;不仅如此,模型本身的对齐效率在该项工作中也被考虑,实际工作中非常具备借鉴意义。

qq_33331424的博客 3149

排序算法(七) 2路归并排序

一、什么是归并排序?        归并排序的特点体现在 “归并” 上,“归并” 就是“合并”!将两个或两个以上有序的序列合并为一个有序的序列。而2路归并就是将两个有序序列合并为一个有序序列。 二、一个2路归并排序的图例: 三、由上图得出归并排序思路:       、怎样合并两个有序序列(在后面程序中给出)       、实现归并算法:将r1[ ] 中的元素用归并法排序后放到 r3[

迷雾江湖 的博客 1822

论文阅读——Bayesian Knowledge Fusion(贝叶斯知识融合)

该篇论文解决了不确定环境中的信息融合问题。想象一下,有多位专家针对同一情况构建概率模型,我们希望汇总他们提供的信息。直接合并每个信息可能会遇到几个问题。例如,专家们可能不同意某个事件发生的概率,或者他们可能不同意两个事件之间因果关系的方向(例如,一个人认为 A 导致 B,而另一个人认为 B 导致 A)。他们甚至可能不同意概率网络中一组变量之间的整个依赖结构。

qq_64164071的博客 1496

排序算法——归并排序(二路归并)

二路归并的基本思想:将含有n个记录的原始序列看做n个长度1的子序列。从第一个子序列开始,将相邻的两个子序列合并,得到长度为2或1(最后只剩下1个子序列的情况)的子序列。如此重复成对归并,直到序列的长度等于原始序列的长度时为止。 基本过程:两个有序序列的合并。 排序过程如下图: C++代码: //一次二路归并过程 //对序列a[0]...a[length-1]进行一次二路归并排序,每个...

daimadog的博客 4595

02-Cesium-实现天地图标记

首先天地图申请token,然后Cesium-实现天地图标记详细说明

m0_62785037的博客 1171

5G NR 物理层 流程一:从帧结构到TB块,PDSCH/PUSCH 资源映射与TBS计算实战

本文详细解析了5G NR物理层流程,从帧结构到TB块的计算,重点介绍了PDSCH/PUSCH资源映射与TBS计算的实战方法。通过具体案例和公式推导,帮助工程师掌握5G NR资源分配、MCS选择及TBS量化过程,解决实际部署中的常见问题。

weixin_30897233的博客 94

归并排序(二路归并)

归并排序,采用分治法,将目标数组划分为有序数组,将划分后有序数组合并为有序数组的过程。 1)分:我们可以认为,数组长度为1的数组是有序数组。所以归并排序中分即为将目标数组划分为数组长度为1的最小单位有序数组 2)合:两两合并划分的数组,定义目标长度为两划分数组长度和的临时数组,比较两数组元素值,将较小者依次放入临时数组中 3)再以元素为2的n次方递增顺序重复步骤一、二,直至,划分的临时数组长度为目标数组的一半再合并即为目标数组,归并排序完成 例: 目标数组为:{8,6,13,1,12,0,7,0,

不吃熊的草莓 857

生信人的一天~HIFI数据+HIC数据组装基因组

HIFI+HIC数据组装基因组!

qq_43337286的博客 9530

leetcode-41 缺失的第一个正数

//给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 // // // // 示例 1: // // 输入: [1,2,0] //输出: 3 // // // 示例 2: // // 输入: [3,4,-1,1] //输出: 2 // // // 示例 3: // // 输入: [7,8,9,11,12] //输出: 1 // // 输入: [3,2,4,1] // [4,2,3,1] // [] // // 提示: // // 你的算法的时间复杂度应为O(n),并且只能使用常数级...

HunterYoung0718的博客 254

文本纠错项目代码调试

文本纠错项目调试

m0_67084346的博客 868

SAP S/4HANA Public Cloud 配置全景实践

本文提供SAP S/4HANA Public Cloud配置的实用指南,重点介绍三大核心工具:CBC(范围界定与配置)、SAP Activate(方法论与路线图)和Cloud ALM(项目执行与运维)。文章详解了不同系统架构(2SL/3SL)的配置路径,并以制造企业案例说明端到端实施流程。同时提供了工具协同操作方法、初始访问安全建议和常见问题的专家意见,帮助项目团队高效完成实施工作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 560

二路归并排序

给定一个整数序列,请按非递减序输出采用二路归并排序(递归法)的各趟排序后的结果(每完成一次归并操作就输出归并后的结果)。 输入格式: 测试数据有多组,处理到文件尾。每组测试数据第一行输入一个整数n(1≤n≤100),第二行输入n个整数。 输出格式: 对于每组测试,输出若干行,每行是一趟排序后的结果,每行的每两个数据之间留一个空格。 输入样例: 6 73 12 27 98 81 64 输出样例: 12 73 27 98 81 64 12 27 73 98 81 64 12 27 73 81 98 64

qq_62023961的博客 2719

LVGL iPhone Duo 开合过渡

环境:LVGL 9.x(需要软件模糊),窗口建议 1280×800。界面文案英文(默认 Montserrat 无 CJK)。

摸鱼专家 149

Codeup——586 | 问题 A: 二路归并排序(mergesort)递归法 [2*+]

题目描述 二路归并排序(mergesort)递归法 用递归法进行二路归并排序 输入:第一行一个数据n,表示有n个数要排序。接下来n行每行一个<=10^7的整数。 输出:n行,由小到大排序后的数据 数据规模:n<=10^5 思考:两个递归都会被执行吗? 注意!!! 该题后台测试有误,正确答案应该是运行错误80。 #include <iostream> #include <cstdio> using namespace std; void merge(int a[],int

qq_44888152的博客 1044

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

codeup|问题 A: 二路归并排序(mergesort)递归法 [2*+]

题目描述 二路归并排序(mergesort)递归法 用递归法进行二路归并排序 输入:第一行一个数据n,表示有n个数要排序。接下来n行每行一个<=10^7的整数。 输出:n行,由小到大排序后的数据 数据规模:n<=10^5 思考:两个递归都会被执行吗? 代码 #include<stdio.h> #include<string.h> using namespace std; int a[200000]; void merge(int a[], int l1, int r

weixin_43340821的博客 223

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

2934 Problem A 二路归并排序(mergesort)递归法 [2*+]

问题 A: 二路归并排序(mergesort)递归法 [2*+] 时间限制: 1 Sec  内存限制: 128 MB 提交: 170  解决: 0 [提交][状态][讨论版][命题人:外部导入] 题目描述 二路归并排序(mergesort)递归法  用递归法进行二路归并排序  输入:第一行一个数据n,表示有n个数要排序。接下来n行每行一个&lt;=10^7的整数。  输出:n行,由小到大排序...

子衿 572

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

算法笔记练习 4.6 two pointers 问题 A: 二路归并排序(mergesort)递归法

算法笔记练习 题解合集 题目链接 题目 题目描述 二路归并排序(mergesort)递归法,用递归法进行二路归并排序 输入: 第一行一个数据n,表示有n个数要排序。接下来n行每行一个<=10^7的整数。 输出: n行,由小到大排序后的数据 数据规模:n<=10^5 思考:两个递归都会被执行吗? 思路 思路参考算法笔记 P140,我按自己的习惯实现了同样的功能。 代码 #include ...

Gorgeoustray 476

合并(归并)排序(MergeSort)

//用来计数,测试执行循环次数.         int count;         private void button1_Click(object sender, EventArgs e)         {                         R

三人行必有我师,手写三行必有所悟 3251

二路归并排序算法

将两个按值有序序列合并成一个按值有序序列,则称之为二路归并排序,下面有自底向上和自顶向下的两种排序算法,自顶向下的排序在本文末讲述,使用递归实现,代码较简洁,经供参考。 1. 归并子算法:把位置相邻的两个按值有序序列合并成一个按值有序序列。例如把序列 X[s..u] = {3, 12, 23, 32}和 序列 X[u+1..v] = {2, 5, 8, 99} 合并成序列  Z[s..v] =

CaryaLiu的专栏 4万+

2路归并排序

2路归并排序

weixin_43788095的博客 399

DS内排—直插排序

DS内排—直插排序 题目描述 给定一组数据,使用直插排序完成数据的升序排序。 --程序要求-- 若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio 程序中若include多过一个头文件,不看代码,作0分处理 不允许使用第三方对象或函数实现本题的要求 输入 数据个数n,n个数据 输出 直插排序的每一趟排序结果 ...

在所不辞的博客 2345

归并排序及其并行化

归并排序是分治法(Divide and Conquer)的一个典型的应用,属于比较类非线性时间排序,比较类排序中性能最佳,应用较为广泛。归并排序先使每个子列有序,再将子列合并成有序列。若将两个子序列合并成一个有序列,称为二路归并。

Doublelv 的博客专栏。 1万+

2路归并排序-自顶向下递归

给定一组正整数序列,执行2路归并排序算法得到由小到大的序列。要求按2路归并排序树,自下而上自左向右的次序,输出每个有序的子序列。本题约定数组区间为[1, n],递归子区间为。

weixin_74790320的博客 1117

排序算法(4)——归并排序(2路归并排序)

归并排序 归并:将两个或两个以上的有序表组合成一个新有序表。 排序过程: 初始序列看成n个有序子序列,每个子序列长度为1; 两两合并,得到n/2个长度为2或1的有序子序列; 再两两合并,重复直至得到一个长度为n的有序序列为止。 例子 代码实现: 代码可结合上面例子进行理解。 #include<iostream> using namespace std; //共同部分——将两个有序序列合并为一个有序序列 void Merge(int list[], int low, int m, int

qq_43372470的博客 633

codeup 4.6 two pointers

问题 A: 二路归并排序(mergesort)递归法 [2*+] 时间限制:1 Sec内存限制:128 MB 提交:279解决:0 [提交][状态][讨论版][命题人:外部导入] 题目描述 二路归并排序(mergesort)递归法 用递归法进行二路归并排序 输入:第一行一个数据n,表示有n个数要排序。接下来n行每行一个<=10^7的整数。 输出:n行,由小到大排序...

树叶子的博客 295
上一篇: codeup 1126 Problem A 看电视
下一篇: 问题 C: 快速排序 qsort [2*]
Yolo_Fs
博客等级 码龄9年 41粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值