B. The Bakery http://codeforces.com/contest/833/problem/B 题意: 将一个长度为n的序列分成k份,每份的cost为不同的数的个数,求最大cost的和.1≤n≤35000,1≤k≤50 分析: dp[i][j]表示前i个数,分了j份.dp[i][k]=dp[j][k-1]+cost(j+1,i):cost(j+1,i)为这一段中不同数的个数. 然后考虑如何优化.发现每次增加一个位置,pre[i]~i-1区间的每个转移的位置的cost+1.然后…