CF1077A 解題報告

2022-09-19 18:30:15 字數 613 閱讀 9796

首先,根據資料範圍,打暴力是不能過的。此時,我們要想出另外一種方法。

首先判斷加了多少個 \(a\),然後判斷減了了多少個 \(b\),此時的答案就是 \(suma * a - sumb * b\)。其中 \(suma\) 表示加 \(a\) 的個數,\(sumb\) 表示減 \(b\) 的個數。

然後又分為兩種情況:

然後帶進公式算即可,記得開長整型。

用上面的方法有點不好,就是如果 \(a\) 或 \(k\) 很大的話,那麼算 \(suma * a\) 的時候可能就會直接超長整型,但是結果不會超長整型。

而解法 \(2\) 能完美解決這個問題。

把 \(a - b\) 看成一組,有兩種情況:

此時我們算的是 \((a - b) * (k / 2)\),而題目絕不會讓這個結果超過長整型,所以可以解決這個問題,就跟邊加邊 \(mod\) 的方法意思一樣。

公式都已經擺在上面了,**還是給一下吧,我這裡用的是解法 \(2\):

#includeusing namespace std;

int t;

int main()

else

} return 0;

}

CF328解題報告

a題 iq test 很水的題,就是給出數列的前四項,判斷出是等比還是等差。求下一項。code include using namespace std int main else cout 42 endl return 0 b題 sheldon and ice pieces 題意 有一排卡片,每張卡...

0712CF解題報告

a.free cash 題目大意,輸入第一行輸入n,然後輸入n行,每行輸入兩個數h 和 m 要求把出現次數最多的h和m的次數輸出。思路 此題運用雜湊法,先令乙個數tmp h 100 m 然後建立乙個陣列vis 2505 因為h 24 m 60 所以tmp 2505 最後用vis tmp 來統計次數,...

cf1199解題報告

目錄發一波水題。模擬 include define ll long long using namespace std const int 1e6 7 int n,x,y,a int main return 0 小學幾何題。輸出lf格式不對錯了幾發 include define ll long lon...