求助!解决有福利!
pascal吧
全部回复
仅看楼主
level 1
现在,我的手上有n 个数字,分别是a1; a2; a3; :::; an。
我现在需要删除其中的k 个数字。当然我不希望随随便便删除,我希望删除k
数字之后,剩下的n - k 个数中有最多的不同的数。
输入格式
第一行两个正整数n 和k,含义如题描述。
接下来一行,有n 个非负整数,分别是a1 到an。
输出格式
一共一行,一个整数ans,表示删除了k 个数字后最多的不同的数的个数。
2015年07月26日 01点07分 1
level 1
样例输入
4 1
1 3 1 2
样例输出
3
样例解释
如果删去第1个1:
在〔3,1,2〕中有3 个不同的数
如果删去3:
在〔1,1,2〕中有2 个不同的数
如果删去第2个1:
在〔1,3,2〕中有3 个不同的数
2015年07月26日 01点07分 2
level 14
这。。不就快排+贪心么。
2015年07月26日 04点07分 3
很好想啊。。先统计每个数出现次数,把次数从小到大排序。然后从左到右把每个数尽可能减到1为止。最后统计1有几个即答案。这贪心证明也挺方便,当然是删掉数越少的对之后的贡献越大。
2015年07月26日 04点07分
level 8
贪心算法好解决!
学贪心最主要的一题——删数问题
2015年07月26日 10点07分 4
1