題目傳送門
難得能自己想出來一道藍色的\(dp\)
設f[i][j]
表示前\(i\)個數表示出取模結果為\(j\)時的最小\(k\)值,sum[i][j]
表示區間\([i,j]\)所表示數值取模後的結果,顯然,轉移為:
f[i][(k * sum[j+1][i])] = min(f[j][k] + 1, f[i][(k * sum[j+1][i])])
#include #include #include #include #include using namespace std;
#define ll long long
ll read()
while(c >= '0' && c <= '9')
k = k * 10 + c - 48, c = getchar();
return k * f;
}int f[2010][60], sum[2010][2010], m, n;
char s[2010];
int main() }}
for(int i = 0; i < m; ++i)
if(f[n][i] <= 10000)
for(int i = m-1; i; --i)
if(f[n][i] <= 10000)
return 0;
}
小明搬家 NOI導刊2010提高(05)
小明要搬家了,大家都來幫忙。小明現在住在第n樓,總共k個人要把x個大箱子搬上n樓。最開始x個箱子都在,但是經過一段混亂的搬運已經亂掉了。最後大家發現這樣混亂地搬運過程效率太低了,於是總結出了提高效率的方法。大家的速度都是每分鐘上 或下 一層樓。所有向上走的人手中都拿乙個箱子,所有向下走的人手中都不拿...
方程的解 NOI導刊2010提高
題目描述description佳佳碰到了乙個難題,請你來幫忙解決。對於不定方程a1 a2 ak 1 ak g x 其中k 2且k n,x是正整數,g x x x mod 1000 即x x除以1000的餘數 x,k是給定的數。我們要求的是這個不定方程的正整數解組數。舉例來說,當k 3,x 2時,分別...
淘汰賽制(NOI導刊2010提高 01)
淘汰賽制 noi導刊2010提高 01 題目描述 淘汰賽制是一種極其殘酷的比賽制度。2n名選手分別標號1,2,3,2 n 1,2 n,他們將要參加n輪的激烈角逐。每一輪中,將所有參加該輪的選手按標號從小到大排序後,第1位與第2位比賽,第3位與第4位比賽,第5位與第6位比賽 只有每場比賽的勝者才有機會...