51nod 1434 區間LCM 質因數分解

2022-07-27 15:27:18 字數 993 閱讀 2681

分析:考慮從1到n所有數的質因數分解,記錄每個質數的最高次數,同理從n+1迴圈到2n,如果迴圈到m時每個質因子的次數都不低於所記錄的,則跳出迴圈,結果即為m。先預處理質數,複雜度為o(nlongn)。

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn=1000005;7

int prinum[maxn],len=0

,n,m,power[maxn],order[maxn];

8int

num[maxn];

9void

calpri()19}

20}21int

solve()

32//

int k0=k;

33//

for(int i=0;i34

//if(k0%prinum[i])continue;

35//

int p=prinum[i],cnt=0;

36//

if(power[i]==0)countp++;

37//

while(k0%p==0)

40//

power[i]=max(cnt,power[i]);

41//}42

//if(k0!=1)46}

47for(int k=n+1;k<=2*n;k++)

55if(power[i]>0&&power[i]<=cnt)59}

60if(k0!=1&&power[order[k0]]==1)63

if(!countp)66}

67}68int

main()

77return0;

78 }

51nod 1434 數論區間LCM問題

題意 乙個整數序列s的lcm 最小公倍數 是指最小的正整數x使得它是序列s中所有元素的倍數,那麼lcm s x。例如,lcm 2 2,lcm 4,6 12,lcm 1,2,3,4,5 60。現在給定乙個整數n 1 n 1000000 需要找到乙個整數m,滿足m n,同時lcm 1,2,3,4,n 1...

51nod 1712 區間求和

解法 這個題首先考慮乙個簡單情況 對於區間 x,y 權值為多少。容易寫出公式 f x y s y s x 1 sum y sum x 1 x 1 sum x 1 y x 1 其中s x 表示 從第乙個元素到第x個元素的 所有有序二元組的和 題目中定義的 sum表示字首和 這裡要求的是所有a x a ...

51Nod1962 區間計數

兩個數列 請求出ans,ans定義如下 ans ni 1 nj i max max 注 內表示式為真,則為1,否則為0.1 n 3.5 1051 ai,bi n 樣例解釋 7個區間分別為 1,4 1,5 2,4 2,5 3,3 3,5 4,5 input 第一行乙個整數n 第二行n個整數ai 第三行...