2021牛客寒假演算法基礎集訓營2 I題

2021-10-19 04:20:03 字數 846 閱讀 8414

先上**,**如下:

#include

//#include

#include

#define mod 1000000007

using

namespace std;

bitset <

40000000

> p;

int ans[

40000000];

intmain

(int argc,

char

** ar**)}}

}long

long s=0;

for(

int i=

2;i<=n;i++

) s+

=ans[i]

; cout << s%mod;

return0;

}

以上**充分體現了,素數的篩法,從最初的i=2開始,到最大範圍n為止,已經把含有素因子2的數進行了分解,以88為例,88 = 2 x 2 x 2 x 11;在外迴圈i=2的時候,陣列ans[88]=222,已經先進行了2的分解,當i=11的時候,這個時候,不要忘記了變數l的作用,l在迴圈while(llink,,其實強轉一下也是防止相乘會炸掉,所以也完全可以直接開long long 型別的陣列。

關於,簡單說一下把,bitset每個單元佔乙個位(bite),他的值只有0或1,可以理解為bool值那樣。具體的用法就不多說,但是遠不止這些內容;

如有問題歡迎指正!本人水平有限!

2021牛客寒假演算法基礎集訓營3

三場牛客下來覺得自己越來越不在狀態,思路不清晰,一下手就是bug,每調完一題刷下榜都被甩開十里地,罰時慘不忍睹 傳送門 簽到 include using namespace std typedef long long ll const ll inf 0x3f3f3f3f const ll mod 1...

2021牛客寒假演算法基礎集訓營1

題目描述 請你構造乙個非空的括號字串,包含正好 k 個不同合法括號對。所謂括號字串,是指由 和 這兩種字元構成的字串。要求構造的字串長度不超過100000。輸入描述 乙個整數 k。乙個整數 kk。0 k 1e9 輸出描述 乙個僅包含左右括號字串,其中有 kk 個合法的括號對。如果有多種構造方法,輸出...

2021牛客寒假演算法基礎集訓營6

思路 k1排k2前面滿足 k1.a k2.ax k2.b k1.b k1.ax k1.b k2.b k2.ak1.b k2.b k1.a k2.a k1.b include define ull unsigned long long define ll long long const int inf...