贪心算法题解心得
通过VJ上的题目,发现很多题目都是类似的,有的题目也可以用之前的思路来考虑(暴力求解的思路),但是这样的话只能过样例,会超时,这也就是为什么使用贪心的原因吧,要考虑分步求解,求最优解。
觉得做贪心问题最重要的还是想解决问题的方法,一般知道如何解决问题就做对了一半,然而这解决问题的方法有的时候并不太好想,之前接触过的还容易想,容易有思路,但是有的问题就没有思路,没有想法,这样就真的很难进行下去了。。。
另外贪心使用的时候一般要使用排序(数组、结构体等),我们也可以使用函数或者优先队列等来进行排序。
另外输入输出时有时需要测试多组数据,这时我们可以搭配while来进行多次读取数据并搭配队列或者数组或者向量等进行数据结果的暂时存储。while(~scanf(“%d”,&a))与while(scanf(“%d”,&a)!=EOF)作用效果相同,都是一直读入数据。
最让人头疼的并不是超时,因为超时的情况并不会太多,超时就代表整个思路都错了,相当于走路绕远了,该换一条近路去走。最让我觉得头疼的是WA,是测试数据都能过并且自己尝试找的数据也能过但是还是WA的情况,看代码的思路真的是看不出哪里有错误,但是就是不能过啊。。。