數論 NOI2002 荒島野人

2022-03-29 15:10:24 字數 821 閱讀 4789

首先根據題意,我們可以發現,兩個野人 \(i, j\) 會處在乙個山洞當且僅當存在 \(x\) 滿足 \(c_i+xp_i\equiv c_j+xp_j \ (\bmod m)\) (\(m\) 為山頂數,\(x\) 為年數)當然,野人在 \(l_i\) 年後會死亡,故當最小正整數解 \(x > l_i\) 且 \(x > l_j\) 時,其實是不滿足兩個野人處在乙個山洞的。那麼本題要求的是沒有兩個野人會處在同乙個山洞,即要找到最小的 \(m\) 滿足對於任意的 \(i, j\),要麼滿足 \(c_i+xp_i\equiv c_j+xp_j \ (\bmod m)\) 無解,要麼滿足 \(c_i+xp_i\equiv c_j+xp_j \ (\bmod m)\) 的最小解 \(> \min\\)。

我們現在的問題就是解決 \(c_i+xp_i\equiv c_j+xp_j \ (\bmod m)\) 這個式子,我們考慮把式子變換一下,\(xp_i-xp_j\equiv c_j-c_i \ (\bmod m)\),\(x(p_i-p_j)\equiv c_j-c_i \ (\bmod m)\),\(x(p_i-p_j)+ym=c_j-c_i\)。

這個是非常經典的問題,我們考慮使用擴充套件歐幾里得來解決。

不會可以看 我的部落格。

題目說明了輸入資料保證有解,且 \(m\) 不大於\(10^6\)。故我們考慮暴力列舉 \(m\) 然後 \(n^2\) 暴力列舉 \(i, j\) 判斷是否成立。最後最壞複雜度:\(o(10^6\times n^2 \times \log(\max\)\),但是考慮到根本卡不滿,所以可以過。

還有乙個小坑就是 \(m\) 一定 \(\geq max\\)。

cod

NOI2002 貪吃的九頭龍

description 傳說中的九頭龍是一種特別貪吃的動物。雖然名字叫 九頭龍 但這只是說它出生的時候有九個頭,而在成長的過程中,它有時會長出很多的新頭,頭的總數會遠大於九,當然也會有舊頭因衰老而自己脫落。有一天,有m個腦袋的九頭龍看到一棵長有n個果子的果樹,喜出望外,恨不得一口把它全部吃掉。可是必...

NOI2002 銀河英雄傳說

noi2002 day1 t1 公元5801年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集團在巴公尺利恩星域爆發戰爭。泰山壓頂集團派宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集團點名將楊威利組織...

NOI2002 帶權並查集

題意 共有30000個人,編號為1 30000,開始時每個人一列。然後進行兩種操作 m i j表示把第i個人所在的列的隊首加到第j個人所在的列的隊尾。c i j查詢第i個人和第j個人是否在一列,假如在一列詢問i和j間隔著幾個人。題解 1.不同於以前的帶權並查集,這個除了fa陣列和d陣列外,加了乙個n...