排序的选择

Posted 五菱宏光车神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序的选择相关的知识,希望对你有一定的参考价值。

快速排序
快速排序其实是在冒泡排序的基础上做出的一个改进.
最近开始学习视频了

快排的基础要义
1.确立分界点
2.调整
3.递归处理两边
典型的例题
785. 快速排序

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int  n;
void quick_sort(int a[],int l,int r)

    
    if (l >= r) return;

    int i = l - 1, j = r + 1, x = a[l + r >> 1];
    while (i < j)
    
        do i ++ ; while (a[i] < x);
        do j -- ; while (a[j] > x);
        if (i < j) swap(a[i], a[j]);
    

    quick_sort(a, l, j);
    quick_sort(a, j+1, r);



int main()

    cin>>n;
    int a[n];
    for(int i=0; i<n ;i++)
        cin>>a[i];

    quick_sort(a,0,n-1);

    for(int i=0; i<n ;i++)
        cout<<a[i]<<" ";
    return  0;


本周的每日一题都比较简单
知识点:
1.revers(a,b);
颠倒
2.swap(a,b)
交换
3.next_permutation(q,q+n);
整体的排列改变。
4.穷举法的使用
1353. 滑雪场设计
就是吧所有可能的都算一遍;

以上是关于排序的选择的主要内容,如果未能解决你的问题,请参考以下文章

[SCOI2012]滑雪

BZOJ1571: [Usaco2009 Open]滑雪课Ski

小白进阶之路-滑雪-暑假训练

codevs 2152 - 滑雪

滑雪(dp或记忆化搜索)

P2573 [SCOI2012]滑雪(kruskal&bfs)