假設所有的2n個資料的位置分別從1~2n標號。
現在假設其中第ai個資料(雙胞胎),和bi。那麼他們的位置則相差i + 1個位置;
同理,那麼所有n組雙胞胎相差的資料sum( bi - ai ) ( i = 1 ......2n ) = 2 + 3 +4 + .........+ n + n + 1 = n ( n + 3 ) / 2 ;
所有位置的和sum( ai + bi ) = ( 1 + 2 *n ) * 2 * n / 2 ;
又因為sum( 2 * ai + bi - ai ) = 2sum( ai ) + sum( bi - ai )
所有推出每個位置的值為sum( ai ) = ( 3 * n - 1 ) * n / 4 ;
因為每個位置的值都是乙個非負整數,所有只需要滿足sum(ai) 都是整數
#include#include#include#include#include#include#includeusing namespace std;
int main()
return 0 ;
}
HDU 2554 N對數的排列問題
n對數的排列問題 思路 設ai為第i個寶寶第一次出現的位置,bi是他第二次出現的位置,則bi ai i 1 bi ai 2 3 4 n 1 n 3 n 2 ai bi 1 2 3 2 n 2 n 1 n 得 2 ai 3 n2 n 2 ai 3 n 1 n 4 因為ai都為整數,所以 ai也為整數。...
HDU 2554 N對數的排列問題
link hdu 2554 這是昨天晚上小練裡面比較有趣的一道題 我在做的時候思路錯了,以為數字的排列會有規律,結果後面發現就算有也很難找.看了網上的題解,有一種恍然大悟的感覺,就直接把它當做方程來解,只要符合題意的x,y存在即可 題解 假設雙胞胎數為n,那麼就共有2n個人,把雙胞胎分開,分別記為a...
HDU 2554 n對數的排列 數論 總結規律題
題意 n對數,大小為1 2 3 n。現要求兩個1之間有1個數,兩個2之間有2個數,以此類推,兩個n之間有n個數,並且,數的次序可以隨意的。解法 我們用sum 表示求和運算。1.設k k 1,2,n 放置的第乙個位置為ak,第二個位置為bk。顯然有bk ak k 1 ak那麼會有sum bk ak 2...