头像

捧星

河南大学




离线:1小时前


最近来访(23)
用户头像
瞳星结
用户头像
从未看过满天繁星
用户头像
limie
用户头像
mojinxiaowei
用户头像
空银子
用户头像
醒来
用户头像
open-source
用户头像
jwxgcy
用户头像
心升明月
用户头像
rsg23
用户头像
随风树影
用户头像
苟仪儿扒草
用户头像
21KINGDMG
用户头像
小橘子鸭
用户头像
xmxqdld
用户头像
bu_nai_lii
用户头像
Z_karry
用户头像
潘潘_the_panda
用户头像
刘小远

新鲜事 原文

捧星
4小时前
对不起,不在你!在我!!


活动打卡代码 AcWing 789. 数的范围

捧星
1天前

```#include[HTML_REMOVED]
using namespace std;
const int N=100000;
int m,n;
int q[N];

int main(){
scanf(“%d%d”,&n,&m);

for(int i=0;i<n;i++) scanf("%d",&q[i]);

while(m--){
    int x;
    scanf("%d",&x);

    int l=0,r=n-1;

    while(l<r){
        int mid=(l+r)>>1;

        if(q[mid]>=x) r=mid;
        else l=mid+1;
    }

    if(q[l]!=x) cout<<"-1 -1"<<endl;
    else{
        cout<<l<<' ';

        int l=0,r=n-1;

        while(l<r){
            int mid= (l+r+1)>>1;

            if(q[mid]<=x) l=mid;
            else r=mid-1;
        }
        cout<<l<<endl;
    }
}
return 0;

}
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~
```




捧星
1天前

慢慢来!!come on!!!!

C++ 代码

#include<bits/stdc++.h>
using namespace std;
const int N=100000;
int m,n;
int q[N];

int main(){
    scanf("%d%d",&n,&m);

    for(int i=0;i<n;i++) scanf("%d",&q[i]);

    while(m--){
        int x;
        scanf("%d",&x);

        int l=0,r=n-1;

        while(l<r){
            int mid=(l+r)>>1;

            if(q[mid]>=x) r=mid;
            else l=mid+1;
        }

        if(q[l]!=x) cout<<"-1 -1"<<endl;
        else{
            cout<<l<<' ';

            int l=0,r=n-1;

            while(l<r){
                int mid= (l+r+1)>>1;

                if(q[mid]<=x) l=mid;
                else r=mid-1;
            }
            cout<<l<<endl;
        }
    }
    return 0;

}


活动打卡代码 AcWing 787. 归并排序

捧星
2天前
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
int q[N];
int temp[N];
void merge_sort(int q[],int l,int r){
    if(l>=r) return;
     int mid=l+r>>1;

     merge_sort(q,l,mid); merge_sort(q,mid+1,r);

     int i=l,j=mid+1,k=0;
     while(i<=mid&&j<=r)
        if(q[i]<q[j]) temp[k++]=q[i++];
        else temp[k++]=q[j++];
    while(i<=mid) temp[k++]=q[i++];
    while(j<=r) temp[k++]=q[j++];

    for(i=l,j=0;i<=r;i++,j++) q[i]=temp[j];
}

int main(){
    scanf("%d",&n);

    for(int i=0;i<n;i++) scanf("%d",&q[i]);

    merge_sort(q,0,n-1);

    for(int i=0;i<n;i++) printf("%d ",q[i]);

    return 0;
}
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~



捧星
2天前

C++ 代码

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
int q[N];
int temp[N];
void merge_sort(int q[],int l,int r){
    if(l>=r) return;
     int mid=l+r>>1;

     merge_sort(q,l,mid); merge_sort(q,mid+1,r);

     int i=l,j=mid+1,k=0;
     while(i<=mid&&j<=r)
        if(q[i]<q[j]) temp[k++]=q[i++];
        else temp[k++]=q[j++];
    while(i<=mid) temp[k++]=q[i++];
    while(j<=r) temp[k++]=q[j++];

    for(i=l,j=0;i<=r;i++,j++) q[i]=temp[j];
}

int main(){
    scanf("%d",&n);

    for(int i=0;i<n;i++) scanf("%d",&q[i]);

    merge_sort(q,0,n-1);

    for(int i=0;i<n;i++) printf("%d ",q[i]);

    return 0;
}


活动打卡代码 AcWing 786. 第k个数

捧星
3天前
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
//int n;
int q[N];
void quick_sort(int q[],int l,int r){
    if(l>=r) return;

    int x=q[l+r>>1],i=l-1,j=r+1;

    while(i<j){
        do i++;while(q[i]<x);
        do j--;while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }
    quick_sort(q,l,j);
    quick_sort(q,j+1,r);
}


int main(){
    int n,k;
    scanf("%d%d",&n,&k);

    for(int i=0;i<n;i++) scanf("%d",&q[i]);

    quick_sort(q,0,n-1);

    for(int i=0;i<n;i++) 
        if(i==k-1)
            printf("%d ",q[i]);
    return 0;

}
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~



捧星
3天前

C++ 代码

#include<bits/stdc++.h>
using namespace std;
const int N=100010;
//int n;
int q[N];
void quick_sort(int q[],int l,int r){
    if(l>=r) return;

    int x=q[l+r>>1],i=l-1,j=r+1;

    while(i<j){
        do i++;while(q[i]<x);
        do j--;while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }
    quick_sort(q,l,j);
    quick_sort(q,j+1,r);
}


int main(){
    int n,k;
    scanf("%d%d",&n,&k);

    for(int i=0;i<n;i++) scanf("%d",&q[i]);

    quick_sort(q,0,n-1);

    for(int i=0;i<n;i++) 
        if(i==k-1)
            printf("%d ",q[i]);
    return 0;

}


活动打卡代码 AcWing 785. 快速排序

捧星
3天前
#include<bits/stdc++.h>
using namespace std;

const int N= 100010;

void quick_sort(int q[],int l,int r){
    if(l>=r) return;

    int i=l-1,j=r+1, x = q[l+r>>1];//这里l+r>>1代表l+r除以2并取整。
    while(i < j)
    {
        do i++; while(q[i]<x);
        do j--; while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }
    quick_sort(q,l,j);
    quick_sort(q,j+1,r);
}
int main()
{
    int n;
    scanf("%d",&n);
    int q[N];
    for(int i=0;i<n;i++)  scanf("%d",&q[i]);

    quick_sort(q,0,n-1);

    for(int i=0;i<n;i++) printf("%d ",q[i]);

    return 0;
}
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~



捧星
3天前

参考文献

终于写对了!!!呜呜呜!!!加油加油加油!!晚安xdm!!

C++ 代码

#include<bits/stdc++.h>
using namespace std;

const int N= 100010;

void quick_sort(int q[],int l,int r){
    if(l>=r) return;

    int i=l-1,j=r+1, x = q[l+r>>1];//这里l+r>>1代表l+r除以2并取整。
    while(i < j)
    {
        do i++; while(q[i]<x);
        do j--; while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }
    quick_sort(q,l,j);
    quick_sort(q,j+1,r);
}
int main()
{
    int n;
    scanf("%d",&n);
    int q[N];
    for(int i=0;i<n;i++)  scanf("%d",&q[i]);

    quick_sort(q,0,n-1);

    for(int i=0;i<n;i++) printf("%d ",q[i]);

    return 0;
}


活动打卡代码 AcWing 84. 求1+2+…+n

捧星
3天前
class Solution {
public:
    int getSum(int n) {
        if(n > 0) return getSum(n-1)+n;
        else return 0;
    }
};
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~