作者部落格:
正解:排序...
解題報告:
考場上我是make了幾組資料,然後用暴力跑跑才發現的結論...
比如說:顯然2只能由1轉移過來,3只能由2轉移過來,並且,相同權值的話,最後乙個顯然是最小的,不然就可以再加一了呀...
所以按權值為第一關鍵字(從小到大),下標為第二關鍵字(從大到小)排序,依次編號即可。我在考場上寫的是線性做法,就是對於每個權值掛個鏈就ok了。
//it is made by ljh2000#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
const int maxn = 200011;
int n,f[maxn],a[maxn],cnt;
int ecnt,first[maxn],to[maxn],next[maxn];
inline void link(int x,int y)
inline int getint()
inline void work()
} for(int i=1;i<=n;i++) printf("%d ",a[i]);
}int main()
UOJ278 題目排列順序
又要出題了。宇宙出題中心主任 吉公尺多出題斯基,坐在辦公桌前策劃即將到來的 uoi。這場比賽有 nn 道題,吉公尺多出題斯基需要決定這些題目的難度,然後再在汪洋大海中尋找符合該難度的題目。題目的難度可以用乙個 11 到 nn 的排列 a1,ana1,an 表示,其中 aiai 表示第 ii 道題目在...
uoj278 UTR 2 題目排列順序
題目 讀進來 f 之後,把權值作為第一關鍵字從小到大排序,位置作為第二關鍵字從大到小排序,這樣排序後的第 i 個位對應的位置就應該填數字 i 權值作為第一關鍵字,保證了出現在其之前的數權值必它小的填的數也比它小,權值必它大的填的數也比它大 權值相同時按照位置從大到小排序,這樣權值相同的一組就是遞減的...