分析:考慮從1到n所有數的質因數分解,記錄每個質數的最高次數,同理從n+1迴圈到2n,如果迴圈到m時每個質因子的次數都不低於所記錄的,則跳出迴圈,結果即為m。先預處理質數,複雜度為o(nlongn)。
1 #include2 #include3 #include4 #include5using
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 第三行...