首页 > TAG信息列表 > P1177

P1177 【模板】快速排序 优先队列

P1177 【模板】快速排序 #include<bits/stdc++.h>using namespace std;int main(){     priority_queue<int,vector<int>,greater<int> > q;     int n;     cin>>n;     for (int i=1;i<=n;i++)    {          int x;          cin>>x;     

P1177 【模板】快速排序 multiset解法

P1177 【模板】快速排序 由于multiset能自动对关键值进行排序,所以multiset可以进行排序功能且支持相同关键值 #include<bits/stdc++.h>using namespace std;int main(){     multiset<int> s;     int n;    cin>>n;    for (int i=1;i<=n;i++)    {          in

p1177快速排序的BST解法

#include<iostream>using namespace std;struct node{     int data;//结点的内容      int left;//左子树      int right;//右子树      int size;//子树大小,含本结点      int cnt; //相同内容的个数 } Bst[100100];int a[100010]; int root=0;int tot=0;//插入

P1177 【模板】快速排序

// Problem: P1177 【模板】快速排序 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1177 // Memory Limit: 125 MB // Time Limit: 3000 ms // User: Pannnn #include <bits/stdc++.h> using namespace std; void quickSort(vector<int> &info, i

洛谷 P1177 【模板】快速排序

     第一遍时间超限 #include<stdio.h> int a[100010]; void Quick_Sort(int left,int right) { if(left>=right) { return; } int f=a[left]; int l=left,r=right; while(l!=r) { while(a[r]>=f&&l<r) r--; while(a[l]<=f&&am

P1177 【模板】快速排序

Archie 本文为倍增做法 后缀数组题 后缀数组是啥,把所有的后缀排个序就是后缀数组了 显然的暴力做法就是全部sort一遍 这不白瞎 我们利用倍增的思想,显然可以把一个字符串分成两半进行比较就可以了 引用一下wiki的图片。 这里有两个数组 \(SA_i\)表示第i小的后缀的编号 而\(RK_i\)表

洛谷P1177 【模板】快速排序

https://www.luogu.org/problem/P1177 #include<bits/stdc++.h>using namespace std;int n;multiset<int>s;multiset<int>::iterator it;int main() { cin>>n; for(int i=0; i<n; i++) { int b; cin>>b; s.inse

洛谷 P1177 【模板】快速排序

这道题用传统快排(如下所示)的结果就是最后三个点TLE: void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } void quickSort(int a[], int left, int right) { if (left >= right) return; int i = left, j = right; while (i < j)

快速排序

洛谷P1177 https://www.luogu.org/problemnew/show/P1177 #include<iostream> using namespace std; int n,a[1000001]; void qsort(int l,int r)//应用二分思想 { int mid=a[(l+r)/2];//中间数 int i=l,j=r; do{ while(a[i]<mid) i++;//查找左半部分比