摘要: 题意:给定m个数字,有k种,求从中扔掉最少多少个,使得最后相同种类的数字都在一起。题解:状态压缩DP,并不算太复杂,dp[i][j][mask]代表前i个珠子,以j结尾,且前面已经出现了mask珠子的最小代价。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int dp[105][6][40]; 6 const int inf=0x3f3f3f3f; 7 int main() 8 { 9 int n,k;10 whi 阅读全文