译自ROI 2018Day2 T2.Быстрая сортировка 给一个包含n个元素的排列[a1,[a_1,[a1,a2,a_2,a2,…,an]a_n]an], 定义操作S(l,r),表示:将数列的片段[al,[a_l,[al,al+1,a_{l+1},al+1,…], 举个例子:[2,4,1,5,3,6,7,8]→S(2,6)[2,1,3,4,5,6,7,8],[2,4,1,5,3,6,7,8] xrightarrow{ ,S(2,6) ,}[2,1,3,4,5,6,7,8],[2,4,1,5,3,6,7,8]S(2,6)[2,1,3,4,5,6,7,8],其中子串[4,1,5,3,6]被重排成了[1,3,4,5,6], 给定一个排列,试求经过多少次操作能使排列变成递增顺序,并输出任意一组方案,不要求方案的操作次数最少,但要求操作次数15000leqslant 1500015000。
译自 ROI 2018 Day2 T2. Быстрая сортировка (Quick sort) 给一个包含n个元素的排列[a1,[a_1,[a1,a2,a_2,a2,…,ldots ,…,an]a_n]an]。 定义操作S(l,r),表示:将数列的片段[al,[a_l,[al,al+1,a_{l+1},al+1,…,ldots ,…,ar]a_r]ar]重排成[al+1,[a_{l+1},[al+1,al+3,a_{l+3},al+3,…,ldots ,…,al,a_l,al,al+2,a_{l+2},al+2,…]ldots ]…]。 举个例子:[2,4,1,5,3,6,7,8]→ S(2,6) [2,1,3,4,5,6,7,8],[2,4,1,5,3,6,7,8] xrightarrow{ ,S(2,6) ,}[2,1,3,4,5,6,7,8],[2,4,1,5,3,6,7,8]S(2,6)[2,1,3,4,5,6,7,8],其中子串[4,1,5,3,6]被重排成了[1,3,4,5,6]。 给定一个排列,试求经过多少次操作能使排列变成递增顺序,并输出任意一组方案,不要求方案的操作次数最少,但要求操作次数⩽15000leqslant 15000⩽15000。