題解:
dp:
f[i,j]表示序列長度為i且序列最後乙個數是j的「好序列」的個數。
1.先預處理出1~n每個數的約數。
2.直接做dp,f[i,j]=∑f[i-1,x],其中x為j的約數。
時間複雜度:o(n*k*log n)
空間複雜度:o(n*k)
var
f,a:array [0..2001,0..2001] of longint;
b:array [0..2001] of longint;
n,m,i,j,k,ans:longint;
begin
readln(n,m);
for i:=1
to n do
begin
f[0,i]:=1;
for j:=1
to i do
if i mod j=0
then
begin
inc(b[i]);
a[i,b[i]]:=j;
end;
end;
for i:=1
to m-1
dofor j:=1
to n do
for k:=1
to b[j] do
f[i,j]:=(f[i,j]+f[i-1,a[j,k]]) mod
1000000007;
for i:=1
to n do
ans:=(ans+f[m-1,i]) mod
1000000007;
writeln(ans);
end.
2023年普級組模擬試題 序列
給乙個a序列。當後面乙個是前面乙個的倍數的時候,就成為乙個好序列,求出所有的好序列有多少答案mod 1000000007 很簡單的dp f i,j k f i,j k f i 1,j 表示前i個,當那一位數字為j k的時候的最大好序列數 const maxn 2000 p 1000000007 va...
2023年10月31日普級組
vijos 1390 玩詐欺的小杉 vijos 1391 想越獄的小杉 vijos 1392 拼拼圖的小杉 後續賽後ak 總計n封的信件,每個信件都有自己的特徵碼和序號。請按照序號遞增的順序輸出信件的特徵碼 每行乙個特徵碼,且特徵碼的格式應與輸入完全一致 include include define...
2023年09月23日普級組 環
description 有乙個圓,共個數在圓環上順時針排列著。現在給你三個數,問的順序是順時針還是逆時針。input 第一行包括四個正整數。output 一行乙個整數,0或1,0表示逆時針,1表示順時針。sample input 5 1 4 2sample output hint 樣例如右圖,的順序...