日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Codeforces 300E(数学)

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces 300E(数学) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:給定k個數字,求最小的正整數n,使得“n的階乘”是“這k個數字的階乘的積”的倍數。1<=k<=1e6,數字ai滿足1<=ai<=1e7

分析:如果我們能對著k個數字的階乘的結果分解質因數,那么就可以根據每個質因數的指數來二分最后的答案

   問題的關鍵就是如何分解a1!a2!a3!a4!.....

   先可以預處理出1..MAX每個數在式子中出現了多少次(對于ai,也就是1~ai中間所有數字出現次數+1),這可以用差分做

   我們知道了cnt[1..MAX]后,接下來就是考慮分解了

   我們從大到小枚舉每個數字x

      如果x是合數,我們可以把x分解成一個質因數和另外一個數的乘積,于是我們可以把x位置的次數加到那兩個位置上。并且x位置的次數設為0

      如果x是素數,則跳過

   那么最后,每個素數對應的出現總次數就算出來了

   這樣是O(n)的

   對于一個數字x的質因數,我們可以在歐拉篩的時候記一下,可以記一下最小的質因數

   歐拉篩也是O(n)的

轉載于:https://www.cnblogs.com/wmrv587/p/6549842.html

總結

以上是生活随笔為你收集整理的Codeforces 300E(数学)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。