今天放假了,尋思著在洛谷上把任務計畫裡的題都弄清楚,但無意間看了一眼老姚部落格,直接多了四道題,還是先看看考試題吧(又是上不去題庫的一天)
input
output
sample input
3
1 2 3
2 1 3
sample output
1
hint又是廢話超多的一道題(不是)~~
一句話題意:給了先後位置,給了各自速度,求反超數。
一眼看上去就想跑暴力,兩重迴圈列舉,效率o(n^2),但是不用提交也知道會爆,不然就太太太太水了
key:用到了乙個思路很巧妙的排序方法——歸併排序
關於歸併排序:
去借鑑(扒)了一下老姚以前的部落格
不要問我是不是扒的
#include#include#include#includeusing namespace std;
typedef long long ll;
inline int read()
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}const int maxn=1e5+5,inf=0x3f3f3f;
struct node{
ll pos,v;
bool operator
return pos髮量成功減0.5%
順便吼一句:高考加油,衡中必勝!
歸併排序(2 路歸併排序)
遞迴寫法 include define maxn 100 void merge int a,int l1,int r1,int l2,int r2 將陣列a的區間 l1,r1 和區間 l2,r2 合併為乙個有序區間 else while i r1 while j r2 for int i 0 i非遞...
python歸併排序 python 歸併排序
排序思路 1.將陣列分成兩組a,b,建立臨時陣列 c,c長度 a b 2.i,j分別屬於a,b 3.若a i b j 將b j 放入c,j 否則 a i 放入c,i 4.迴圈3步驟,將a或b中剩餘的元素放入c,再將c複製到陣列中 5.遞迴3 4直到a,b序列的長度 1 歸併排序 class merg...
排序 歸併排序
歸併 merge 排序法是將兩個 或兩個以上 有序表合併成乙個新的有序表,即把待排序序列分為若干個子串行,每個子串行是有序的。然後再把有序子串行合併為整體有序序列。歸併 將兩個已經排好序的集合合併到乙個集合眾,並且保證新的集合也是有序的。核心點 只有乙個元素的集合是已經排好序的集合。歸併排序是建立在...