1. 程式人生 > 其它 >「題解」Professor Monotonic's Networks

「題解」Professor Monotonic's Networks

link
本題是一道 弱化條件 的經典模型。(普通的數 -> \(0/1\)
\(\mathcal{Idea\ 1}\)
這個值域似乎有點太大了,所以我們暫且選擇一個臨界點,將其看作一個 \(01\) 序列。(比它大就賦為 \(1\),比它小就賦為 \(0\)
發現如果原排列最後能遞減,那麼這個 \(01\) 序列最後肯定是 \(111...000...\)。發現如果我們將每個數都作為臨界點跑一遍都可以的話,那麼原排列是合法的。換句話說,要判斷任意的排列都合法,只用判斷任意的 \(01\) 序列都合法。於是直接列舉+暴力就可以了。
將這個值域變小,就是 弱化條件,當然對條件下手的思想還有自己 加限制。這兩種思想各有不同的用處。
\(\mathcal{Idea\ 2}\)


數學歸納法的思想。考慮 \(i+1\sim n\) 是否合法,如果合法,再新增 \(i\) 進入我們考慮的集合,具體實現和想法 \(1\)。但在本題似乎有個思維漏洞,但卻是一個很好的想法。
\(\mathcal{Idea\ 3}\)
看資料範圍,自然往指數級演算法想(不一定)

p.s. 該用暴力用暴力。