1089. Insert or Merge (25)

简介: #include #include #include using namespace std;int main(){ int n; cin >> n; vector a(n), b(n);...
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int> a(n), b(n);
    for (int i = 0; i < n; i++)  cin >> a[i];
    for (int i = 0; i < n; i++)  cin >> b[i];
    int i, j;
    for (i = 0; i < n - 1 && b[i] <= b[i+1]; i++);
    for (j = i + 1; a[j] == b[j] && j < n; j++) ;
    if (j == n) {
        cout << "Insertion Sort" << endl;
        sort(a.begin(), a.begin() + i + 2);
    }else{
        cout << "Merge Sort" << endl;
        int k = 1, flag = 1;
        while (flag) {
            flag = 0;
            for (i = 0; i < n; i++) {
                if(a[i] != b[i]) flag  = 1;
            }
            k = k * 2;
            for (i = 0; i < n / k; i++)
                sort(a.begin() + i * k, a.begin() + (i + 1) * k);
            sort(a.begin() + n / k * k , a.begin() + n);
        }
    }
    for (int i = 0; i < n; i++)
        printf("%d%c", a[i], i == n-1 ? '\n' : ' ');
}
目录
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
INSERT IGNORE与INSERT INTO的区别
INSERT IGNORE与INSERT INTO的区别
|
2月前
|
SQL
DML(insert与delete)
DML(insert与delete)
27 0
|
12月前
|
SQL 数据库
INSERT DESC UPDATE SELECT
INSERT DESC UPDATE SELECT
77 0
|
8月前
|
开发工具 git
You have not concluded your merge (MERGE_HEAD exists)
You have not concluded your merge (MERGE_HEAD exists)
|
SQL Java 数据库连接
INSERT操作
INSERT操作
73 0
【1089】Insert or Merge (25 分)
先模拟直接插入排序的每一趟的过程,并进行判断每一趟的序列和给出的第二个序列是否相同,若不相同则一定是归并排序,直接对第一个序列进行归并排序一趟并输出。 (1)归并排序可以使用非递归版本(更少);
81 0
|
关系型数据库 PostgreSQL
PostgreSQL merge insert(upsert/insert into on conflict) 如何区分数据是INSERT还是UPDATE
标签 PostgreSQL , merge insert , upsert , insert into on conflict , 区分 insert update , xmin , xmax 背景 使用insert into on conflict update语法,可以支持UPSERT的功能,但是到底这条SQL是插入的还是更新的呢?如何判断 通过xmax字段的值是否不为0,可以判断,如果是UPDATE,XMAX里面会填充更新事务号。
2087 0