分析:怎麼看都是超時,但是可以先篩一遍1e6以內的每個數的最小素數
算出每個數由多少個素數組成,然後應用,c[1e6][20]
就是題解的那一套,參照題解,比賽的時候沒有想到好的辦法篩乙個數的因子,醉了
然後賽後發現,預處理因子肯定超時,雖然是o(nlogn)的,但是n是1e6啊,常數太大
而且單組操作只有5e4,所以暴力sqrt(x)即可
#include #includeview code#include
#include
#include
#include
#include
using
namespace
std;
const
int n = 1e6+1
;int c[n][21],tot,prime[80000
],mn[n],cnt[n],q,kase;
bool
check[n];
char op[5
];void
getprime()
}}void
getcnt()
}int
main()
}else
if(op[0]=='d'
)
}else
int ans=100
;
for(int j=1; j*j<=x; ++j)
}if(x/j!=j)}}
}if(ans==100)ans=-1
; printf(
"%d\n
",ans);}}
}return0;
}
hdu5812 區間操作
題意 給兩個數字序列a,b,在給出m次區間,每次區間操作可以對l i r i 間的數字進行任意排列,問序列a能否在m次操作後變為序列b.思路 貪心思想,每次操作都使a i 盡可能的靠近它的期望位置,所以對每個操作區間按照它的期望位置排序,結果和b序列一樣那就yes。o n 2 可以處理出每個a i ...
hdu 3483 矩陣構造
這道題寒假的時候看過,還不小心看了題解,不過題解說神馬早就忘了,剛開始解題的時候完全想錯了,後來才想起來是用矩陣構造 這道題的確適合構造矩陣,因為所求的函式值滿足線性關係,令f n 為最終求解值 首先我們要明確如果用矩陣的作法,那麼矩陣乘法中,最終矩陣,必須包含f n 還可以包含其他函式g n h ...
hdu2276 矩陣構造
題意 給了n個燈泡的狀態,他們繞成乙個環,0是滅,1是亮,每一秒燈泡的狀態都會改變,規則是如果當前這個燈泡的左邊的燈泡當前是狀態1,那麼下一秒當前的這個燈泡狀態就改變0變1,1變0,最後問你m秒後的狀態。思路 我們先找當前狀態和下乙個狀態的關係 狀態也就是秒 我們可以抽象成這麼一種關係,如果第i個燈...