样例输入:
9
1 1 1 2 2 2 3 3 3
样例输出:
4
数据范围:
对于30%的数据:N≤10;
对于100%的数据:N≤1000000;1≤每张牌的大小≤1000000。
题目分析:
考试总结:考试时稍微想复杂了一点,写出的贪心不知道哪里写错了,只有25分。
分析:一般情况下,凑对子比凑顺子更优,但是如 1 2 3 3 4 5,是个例外。明显把对子拆开更优。这个情况再分成一半 1 2 3 3,你把对子拆开答案是不会变小的于是拆开,剩一个3,有可能会与后面的部分连成顺子使答案更优(即使没有相连的也不会更劣,所以拆开不影响)。而如:1 2 3 3 4 5 5 6 7的情况与上面是相同的。
于是我们先将所有牌排序后,把所有对子去掉,再全部搜一遍按上面的贪心做。
附代码:
#include<iostream>
#include<cstring>
#include<string>
#include<cstdlib>
#include<cstdio>