NOIP2016提高A組五校聯考1 道路規劃

2021-09-24 22:45:45 字數 1014 閱讀 2072

.分析

我們考慮在什麼情況下,

兩對點的連線相交。

就是南北兩邊它們的順序相反。

再考慮如果兩條線段已經相交,

第三條線段在什麼情況下是都與它們相交。

就是這條線段的兩個端點都跨過了原來的兩條線段。

進一步就可以發現這道題目就是求最長下降子串行。..

...程式:

#include#include#include#include#includeusing namespace std;

int n,a[100010],b[100010],f[100010],ans=0;

void lds()

else

f[l]=a[i];

}}int main()

for (int i=1;i<=n;i++)

a[i]=b[a[i]];

lds();

printf("%d",ans);

return 0;

}

NOIP2016提高A組五校聯考1 道路規劃

我們考慮,當現在有乙個合法的集合時,如何往裡面增加乙個點,使這個集合仍然合法。假設現在有乙個合法的集合,那麼當我們加入乙個點,它的道路穿過來整個集合,那麼 然後搞一遍最長下降子串行就可以了。include include include include include const int maxlo...

NOIP2016提高A組五校聯考1 挖金礦

剛看到這題時,還在想怎麼貪心,然後很快的打完之後發現貪心是錯的。然後仔細的看了看範圍,哈哈,這不是二分嗎。二分出乙個mid,然後在所有行裡面用mid j 字首和然後找乙個最大值。最後把這些最大值加起來,判斷一下就好了。include include include include include i...

NOIP2016提高A組五校聯考1 挖金礦

答案,保留4位小數 4 3 4 3 3 5 1 6 2 6 1 3 2 9 4.4286 n m 100000 很簡單的一道題 設sum i j 表示第i列向下挖j行的字首和 假設第i列挖h i 行 設二分的答案是m,答案如果合法,那麼 n i 1s um i h i ni 1 h i m 移項 i...