傳送門:HustOJ
傳送門:CodeForce
給你個數(shù)組,允許進(jìn)行兩種操作各最多一次。 第一種操作,刪除某一區(qū)間內(nèi)所有數(shù)。注意不能刪全部的數(shù)。代價是個數(shù)*a。 第二種操作,對某些數(shù)進(jìn)行+1或-1。注意可以部分加1部分減1。代價是每個數(shù)b。 問你使剩下數(shù)公約數(shù)大于1所需花費(fèi)的最小代價。
%%%
由于不能全刪完,所以至少會有一個數(shù)留著,這個數(shù)肯定會是頭一個或最后一個,最大公約數(shù)肯定是在選中的這個數(shù)最后狀態(tài)中的一個約數(shù),而我們只要先枚舉這個數(shù)是多少(一共6種),然后枚舉他的素因子,用dp順推即可。
{
dp[MAXN][3];//第二位 0表示沒開始刪 1表示正在刪 2表示結(jié)束了刪
注意狀態(tài)轉(zhuǎn)移的方式。
新聞熱點(diǎn)
疑難解答