lightoj1259 素數預處理

2021-07-22 17:16:18 字數 761 閱讀 5635

題意:

輸出有多少對滿足條件的(a,b)

both a and b are prime;

a+b=n

a<=b;

思路:

一開始想的就是打表乙個素數陣列,然後還去二分。。mdzz。。直接判斷一下n-a[i]是不是素數和是不是》=a[i]就好了。

都能標記何必二分…= =、我比較蠢。。

然後是記憶體爆了。。

後來標記的需要開bool,而且那個記錄素數的陣列最好開小;

以後int a[1e7]要麼就不開,要麼就開bool型別。。。謹慎。。

ps:親測,int a[1e7]爆記憶體,32778kb= =

#include 

using

namespace

std;

typedef

long

long ll;

const

int n=1e7+10;

bool isprime[n];

int sum[n/10];

int num;

void init()

}num=0;

for(int i=2;i<=10000000;i++)

}int main()

if(sum[i]>=n/2)

break;

}printf("case %d: %d\n",cas++,ans);

}return

0;}

1259 不相交的握手

偶數 個人站成乙個圓,總人數為 num people 每個人與除自己外的乙個人握手,所以總共會有 num people 2 次握手。將握手的人之間連線,請你返回連線不會相交的握手方案數。由於結果可能會很大,請你返回答案 模 10 9 7 後的結果。import j a.math.biginteger...

codevs1259 N皇后問題

在n n格的棋盤上放置彼此不受攻擊的n個皇后。按照西洋棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。n後問題等價於再n n的棋盤上放置n個皇后,任何2個皇后不妨在同一行或同一列或同一斜線上。日常安利我的部落格本題題解 本來開始的第乙個題目並不是他,而是poj1321,但是我竟然菜到...

LightOj 1188 樹狀陣列

題意 給乙個數列 len 1e5 數列裡的數 num 1e5 現有q次詢問 1e5 詢問某個區間的不同的數有多少個。思路 明顯的樹狀陣列統計,自己寫的時候不太清楚那個樹狀陣列到底應該怎麼維護。有點想用掃瞄線類似的思想,然後離線所有詢問這樣去維護,甚至想到了按照右區間排序。但是到底樹狀陣列應該怎樣維護...