HDU5812 Distance 構造,預處理

2022-07-22 12:51:12 字數 895 閱讀 1379

分析:怎麼看都是超時,但是可以先篩一遍1e6以內的每個數的最小素數

算出每個數由多少個素數組成,然後應用,c[1e6][20]

就是題解的那一套,參照題解,比賽的時候沒有想到好的辦法篩乙個數的因子,醉了

然後賽後發現,預處理因子肯定超時,雖然是o(nlogn)的,但是n是1e6啊,常數太大

而且單組操作只有5e4,所以暴力sqrt(x)即可

#include #include 

#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;

}

view code

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個燈...