问题标题: 酷町堂:换一个问题,5260

2
1
已解决
朱小川
朱小川
缔造者
缔造者

3908的超时代码

#include<iostream>
using namespace std;
int main(){
    long long n,a[5000050],cnt=0;
    long long tmp,tmp1;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n-1;i++){
        bool flag=0;
        for(int j=1;j<=n-i;j++){    
            if(a[j]>a[j+1]){
                cnt++;
                flag=1;
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }    
        }
        if(flag==0) break;
    }
    cout<<cnt;
    return 0;
}

 

 

 

3907的超时代码

#include<iostream>
using namespace std;
int main(){
    long long n,a[111111],m,cnt=0;
    long long tmp;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n-1;i++){
        bool flag=0;
        for(int j=1;j<=n-i;j++){
            if(a[j]>a[j+1]){
                cnt++;
                flag=1;
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }    
        }
        if(flag==0) break;
    }
    cout<<cnt;
    return 0;
}

 

求解

朱小川在2021-08-16 22:18:11追加了内容

ding

朱小川在2021-08-17 15:40:54追加了内容

d

朱小川在2021-08-18 16:36:06追加了内容

题目描述 Description

新学期,小红学买了n套练习册,每套练习册都有两本,且书名是相同的,不同套练习册书名不同。平时,这2n本练习册都放在书架上。
有一天,小红带了一本练习册去上学。于是书架上还剩2n-1本练习册。已知剩下的这些练习册,问:小红带走的练习册的书名是什么?

输入描述 Input Description

输入的第一行是一个整数n(1≤n≤100)。
接下来共2n-1行,每行是一个由小写英文字母和数字组成的长度不超过100的字符串,表示书架上的一本练习册的名字。

输出描述 Output Description

输出一行,是一个字符串,表示小红带走的练习册。

样例输入 Sample Input

样例输入1: 2 chinese math math 样例输入2: 3 math1 english math2 english math1

样例输出 Sample Output

样例输出1: chinese 样例输出2: math2


0
已采纳
王子耀
王子耀
缔造者
缔造者

快结帖吧,求求了,豆子不够了

0
朱小川
朱小川
缔造者
缔造者

3908    3907不问了

朱小川在2021-08-18 16:37:42追加了内容

因为也不会

0
0
0
0
汪恺恒
汪恺恒
中级启示者
中级启示者

这都是归并排序求逆序对啊

给你一个求逆序对的模板

long long f(int l,int r){ //求l~r间的逆序对
    if(l==r) return 0;  //不存在逆序对
    long long ans=0;
    long long mid=(l+r)/2;
    ans=f(l,mid)+f(mid+1,r);
    long long i=l,j=mid+1,pos=l;
    while(i<=mid&&j<=r){
        if(a[i]>a[j]){
            tmp[pos++]=a[j++];
            ans+=mid-i+1;
        }
        else{
            tmp[pos++]=a[i++];
        }
    }
    while(i<=mid) tmp[pos++]=a[i++];
    while(j<=r) tmp[pos++]=a[j++];
    for(int i=l;i<=r;i++) a[i]=tmp[i];
    return ans;
}

 

0
吴庞茂旭
吴庞茂旭
资深光能
资深光能

中间赵大佬被两个水王夹着瑟瑟发抖。

对了,一个贴只能问一个问题,举报不谢。

0
朱小川
朱小川
缔造者
缔造者

谁能帮帮我

朱小川在2021-08-16 22:11:23追加了内容

有人吗

我要回答