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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Project Eular 634

發布時間:2024/4/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Project Eular 634 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

n特別大,我們肯定不能枚舉每個數

我們思考一下

9e18 < 22 * (2e6)3

那么要枚舉b就行了

我們枚舉一發b,然后對于所有的b直接統計有多少a(利用sqrt)

唉為啥我Sample跑出來不對,3e6跑出來為啥比答案大一點

我們經過觀察,可以發現

我們似乎重復統計了一些東西

比如

43 * 272 = 93 * 82

那么我們怎么辦?

我的做法是,如果b帶有平方因子,那么就忽略掉b的任何計算

這樣我們就統計出所有b不帶平方因子的個數

那么如果b帶平方因子,為了不重復,它只能是一個質數的平方

例如4,9,25是可以的,8,18,16等都是不行的

我們可以化簡,例如163?* a2?= 43?* (8a)2

但是43 * 272 也同樣化簡就會變成這個樣子:

13 * (8*27)2

所以我們只有43?* 272這種沒有統計,其他的我們都統計過了,而且沒有重復的統計過了

那么這里我只能容斥來做了,統計有多少個合法的解

因為之前的做法,(2*3)6就被統計了2次,而(2*3*5)6就被統計了3次,這里就需要容斥處理掉這些

甚至這個4*(2*3)6也被統計了2次,一次是43 * 542,一次是93 * 162

那么我們只能用容斥,對于每一個東西的6次方做容斥

當然6次方還在n范圍內的不多,可以處理好

代碼丟家里系列,下次回家補....

轉載于:https://www.cnblogs.com/absi2011/p/9480280.html

總結

以上是生活随笔為你收集整理的Project Eular 634的全部內容,希望文章能夠幫你解決所遇到的問題。

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