YYHSOI模擬賽題解(T4完全平方數)

2022-08-20 11:54:08 字數 1870 閱讀 1397

乙個數如果是另乙個整數的完全平方,那麼我們就稱這個數為完全平方數(pefect sqaure),也稱平方數。

小a認為所有的平方數都是很perfect的~

於是他給了小b乙個任務:用任意個不大於n的不同的正整數相乘得到完全平方數,並且小a希望這個平方數越大越好。

請你幫助小b告訴小a滿足題意的最大的完全平方數。

輸入檔名為number.in

輸入僅 1行,乙個數n。

輸出檔名為number.out

輸出僅1行,乙個數表示答案。由於答案可以很大,所以請輸出答案對100000007取模後的結果。

【輸入輸出樣例1】

number.in

7number.out

144【輸入輸出樣例解釋1】

144=2×3×4×6,是12的完全平方。

【輸入輸出樣例2】

number.in

9number.out

5184

【輸入輸出樣例解釋2】

5184=3×4×6×8×9,是72的完全平方。

【資料範圍】

對於20%的資料,0

對於50%的資料,0

對於70%的資料,0

對於100%的資料,0

這一道題目,我一看就覺得是質因數分解,但是由於資料範圍是500w,所以對於一般的篩法就不可行了,所以這一道題目需要用到尤拉線性篩來篩出所有的質數。但是篩完後對於分解質因數仍然沒有幫助。然後我就想到了初中數學所學過的,如果對於乙個範圍內的數質因數分解後存在幾個p(

p為質數),我們有乙個求和式,我就把這個用上去了。然後這道題目的時間複雜度就變成了約為

2000w

的乙個演算法

1 #include 2 #include 3 #include 4 #include 5 #include 6

7using

namespace

std;89

intn;

10long

long mod=100000007;11

bool flag[5000005

];12

int p[5000005

];13

long

long s[5000005

];14

intnum;

15int top=0;16

int q[5000005

];17

18long

long mul(int a,long

long b,long

long

mod)

1928

return

tmp;29}

3031

intmain()

3240

for (int j=1; p[j] * i <= n && j<=num; j++)

4145}46

/*for (int i=2; i<=n; i++)

4752

int x=i;

53for (int j=1; j<=num; j++)

5460

if (x == 0) break;61}

62}*/63

for (int i=1; i<=num; i++)

6469}70

long

long ans=1;71

for (int j=1; j<=num; j++)

7281 printf("

%lld\n

",ans);

82return0;

83 }

show my ugly code

第5次模擬測試T4題解

hl啊 你的23日遊終於結束了 由於本人實在太懶,才寫了一篇題解 t4.數字遊戲 問題描述 hl中學茶餘飯後喜歡玩遊戲,乙個遊戲規則如下 共兩人參加遊戲,若第乙個人當前手中的數為w1,則下一秒他手上的數將 會變成 x1 w1 y1 mod m 若第二個人當前手中的數為w2,則下一秒他 手上的數將會變...

題解 2020 10 24 考試 T4 模板

題目傳送門 有乙個 n 個點組成的樹,有 m 次操作,每次將 1 to x 的路徑上每個點都加入乙個顏色為 c 的小球。但是每個點都有大小限制,即小球個數超過一定量之後就不能再加入了。有 q 次查詢,問操作完了之後每個點有多少種不同顏色的小球。sto llsw yyds orz 以下皆為 llsw ...

T4 咕咕東學英語(模擬題

題目解析 首先讓ans最大組合取ans n n 1 2.因為有這樣乙個字串,它的每乙個字元都屬於乙個長度大於1的回文子串中 所以回文子串組合,比如長度為5的字串 最多的子串組合,無非是 s1s2 s1s2s3 s1s2s3s4 s1s2s3s4s5 s2s3 s2s3s4 s2s3s4s5 s3s4...