求出l
ll到r
rr中質數的個數和由兩個質數乘起來得到的數的個數總和,有t
tt組資料。
先篩質數,再把滿足條件的數標記起來,用字首和求區間的總和。
#include
#include
using
namespace std;
const
int maxn =
10000000
;int q, l, r;
int s[maxn +1]
;bool islike[maxn +1]
, isprime[maxn +1]
;void
fastin
(int
&a)void
fastout
(int a)
void
init()
}for
(int i =
1; i <= maxn; i++
) s[i]
= s[i -1]
+ islike[i]
;//字首
}int
main()
}
最佳遊覽路線 SSL 1210
description 某旅遊區的街道成網格狀 見圖 其中東西向的街道都是旅遊街,南北向的街道都是林蔭道。由於遊客眾多,旅遊街被規定為單行道。遊客在旅遊街上只能從西向東走,在林蔭道上既可以由南向北走,也可以從北向南走。阿隆想到這個旅遊區遊玩。他的好友阿福給了他一些建議,用分值表示所有旅遊街相鄰兩個路...
計數質數 數學
統計某個範圍內的素數,最簡單的方法就是暴力解法。int index 0 for int i 2 i 12 i if flag system.out.println index 面對比較大的範圍時,暴力解法效率就很慢了,這時我們該採用厄拉多塞篩法。宣告乙個最大範圍的布林型別陣列,判斷這一位上有沒有被標...
數學 數論 質數處理
定義 乙個數的因數只有1和本身,那麼這個數是質數。質數的判斷 乙個數n如果不是質數那麼在2 sqr t n sqrt n 一定有他的因子,於是 bool isprime int n else return false 但是在大量元素中,比如1 1 e61 1e6中的質數,再用上面的樸素演算法,就有些...