同桌的你 25』
描述在家上了乙個多月的網課,jm同學迎來了人生第一次網課月考。
由於網課的緣故,jm同學總是在上課的時候,偷偷的寫**,努力變強。so,月考成績可想而知~
那叫乙個慘不忍睹啊~ 把班主任,各科老師給氣的… 一點辦法沒有~~ 嗐~~
等到開學了,班主任為了不讓jm以及班上其他成績不好的同學落下,決定借鑑「一帶一路」政策,在班級也來乙個「一帶一路,相互扶持」的政策。
調坐班級同學座位,讓成績靠前的同學和成績靠後的同學坐一起,乙個幫助乙個。
班級裡的人數剛好可以拼坐成n對同桌(2人同桌),即總共有2n張課桌,
由於教室形狀特殊,所有同學的課桌擺成一排,編號1,2,3,…,2n,編號1,2為第一桌,編號3,4為第二桌…依次類推。
wlxsq老師決定讓月考成績第1名的和第2n名的同學坐第一桌,第2名的和第2n-1名的同學第2桌,…,第i名的名和第2n−i+1名的坐第i桌,依次類推。
現在wlxsq按照座位從左往右依次給你班上2n名同學的成績,由於教室比較窄,一次只能乙個同學搬課桌出列插入到其他位置。
wlxsq老師現在想知道,最少需要幾個同學搬課桌出列調整才能夠讓所有同學和自己對應的同學坐同桌呢?請你來幫幫wlxsq吧~
注意:第一名和最後一名只要是同桌即可,誰坐左邊誰坐右邊都可以,以此類推。
輸入第一行輸入乙個整數n,表示有n對同桌。
第二行輸入2n個整數,表示從左到右每一張桌子上同學的成績ai。
輸出輸出乙個整數表示最少需要幾個同學出列調整。
樣例輸入複製
316 2 1 7 5 10
輸出複製2提示
樣例1解釋
第1至第6張課桌上坐著的同學成績為16,2,1,7,5,10,對應的排名:1,5,6,3,4,2。
第一步:讓成績為1的同學搬桌子出列插入到第1,2張桌子(成績為16和22)中間,從左往右6張桌子上坐著的同學成績依次為:16,1,2,7,5,10
第二步:讓成績為10的同學搬桌子出列插入到第3,4桌子(成績為2和7)中間,從左往右6張桌子上坐著的同學成績依次為:16,1,2,10,7,5。
所以只需要2次操作,使得(16,1)坐第一桌,(2,10)坐第二桌,(7,5)坐第三桌。
資料規模:
對於100%的資料,n<=1e5,1≤ai<=1e9,資料保證不存在成績相同的兩個同學
**思路:最長不下降子串行模版。本人用c語言寫的,所以用到了結構體儲存資訊。輸入2n個資料,並且儲存當前座號。將2n個成績排序,例如n = 3 樣例16,2,1,7,5,10
對應的排名為:1,5,6,3,4,2
題目要求,排名i的和排名2n−i+1的坐第i桌。
因為同一桌兩人不分左右,所以我們轉化成每個人所在的大桌。
所以每乙個人對應的所在的桌子為:1,2,1,3,3,2
我們是需要轉成1,1,2,2,3,3的形式,求最少移動次數。
最長不下降子串行長度即為最多有這麼多人不需要移動。
所以答案為:2∗n − 最長不下降子串行長度。資料過大,正解o(nlogn)的lis。
*剛開始我的**只得了20分,有五組資料沒過,在大佬的提醒下發現是我陣列開小了。。。
** :
#include
#include
long
long n,b[
2000005
],s[
200005
],min,mid,max,tail,head;
struct dalao
pp[200005];
intkk
(const
void
*p,const
void
*q)voider(
long
long target)
else
if(s[mid]
<=target)
} s[left]
= target;
}int
main()
qsort
(pp+1,
2*n,
sizeof
(struct dalao )
,kk)
;//通過對分數的排序,獲得每個分數對應的排名
for(
int i=
1;i<=n;i++
) s[tail++
]=b[1]
;for
(int i=
2;i<=
2*n;i++
) else
}s[min]=b[i];*/
er(b[i]);
}}printf
("%lld",2
*n-tail)
;return0;
}
不做題不知道自己是fw之最長不下降子串行
同桌的你 25 描述在家上了乙個多月的網課,jm同學迎來了人生第一次網課月考。由於網課的緣故,jm同學總是在上課的時候,偷偷的寫 努力變強。so,月考成績可想而知 那叫乙個慘不忍睹啊 把班主任,各科老師給氣的 一點辦法沒有 嗐 等到開學了,班主任為了不讓jm以及班上其他成績不好的同學落下,決定借鑑 ...
不知道是Dom4 的Bug不
在struts檔案中都有這麼一段,但是如果你在這個檔案中來讀點東西,apache software foundation dtd struts configuration 1.1 en 如果你在servrlet的初始化的時候來讀這個檔案,假如沒有連網,就讀不了這個檔案,他會造成nested問題。但是...
當你不做的時候,你永遠都不知道自己行不行
依稀記得2014年的11月,我開始寫部落格,那時候為什麼想起寫部落格呢?因為,心裡有好多話想說,當乙個人在奮鬥的路上遇到很多很多的問題 現在,漸漸明白,學習中的問題都不是問題,真正的問題是在這個過程中你心靈的成長,當你遇到這一系列問題的時候你怎麼做 內心想說出來,但是不是所有人都能理解我們,所以我選...