CF997B Roman Digits 這很規律!

2021-08-25 17:36:29 字數 450 閱讀 9325

我們在研究羅馬數字。羅馬數字只有4個字元,i,v,x,l分別代表1,5,10,100。乙個羅馬數字的值為該數字包含的字元代表數字的和,而與字元的順序無關。例如***v=35,ixi=12.

現在求問乙個長度為 nn 的羅馬數字可以有多少種不同的值。( n \leq 10^9n≤1e9 )

思路:其實沒什麼思路,就是到前面的13個開始忽然有了規律,後面的,+49即可,

不附加ac**了,給乙個打表的三重迴圈吧,

ac **的話,可以前面的暴力出結果後面的就可以等差了

#include using namespace std ;

long long ans,n ;

long long dfs(int x)

}return sum ;

}int main()

return 0;

}

cf 551B 暴力列舉

交換a中字元的位置,求b,c字串在a中出現的最多次數 列舉b出現的次數,然後求出c在a中還可以出現的最大次數,求得最多的次數 關鍵在於如何計算b出現的次數 如下 for int i 0 i 26 i if s1 i sum min sum,ans i s1 i 知道了這個就不會超時了啦,我開始就沒想...

cf 1471 B 最大貢獻

t 組樣例 每組有長度為 n 的陣列 a 和 乙個數 x 下一行 輸入陣列 a 如果a i x 0 那麼就將 x個 a i x 放在陣列的末尾,然後繼續這樣的操作,直到a i x 0時停止 求陣列的和 1.昨天打的比賽,其實題目很簡單,考慮一下每個數的最大貢獻值,然後直接模擬就好,但是不是直接暴力模...

CF 453B狀態壓縮dp

題目鏈結 題意 給你n個數 1 n 100 每個數分別是ai 1 ai 30 問你求乙個數列bi,其中bi間的數兩兩的最大公約數為1 bi可能都是1 且使得 思路 既然bi可以全部取1,那麼每個bi的取值必定不超過30 1 30 59。由此可知我們只要知道60以內的所有數的素因子,並用數字標記的方式...