Topcoder SRMCards ——贪心】的更多相关文章

选择一个数x会删去x+1和x-1,问可以最多选多少次. 显然,对于一段连续的数列,贪心的从左向右选取是最优的. 然后就可以贪心的统计答案了. #include <map> #include <ctime> #include <cmath> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algori…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502-500.html SRM502 Div1 500 好题. 首先,如果已经确定了解决所有问题的优先级,只需要对于每一个问题是否被解决做出决策,那么显然直接 01 背包就好了. 事实上,我们是可以贪心地确定两个问题的优先程度的. 对于两个问题,假设分别为 a 和 b,则先做 a 再紧接着做 b 和先做 b 再紧接着做 a 的收益之差为 \[ \begin{eqnarray*} &&(-dec_a…
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要从后向前找数字串中最小的数,放在数字串中尽可能靠前的位置,数字最小.用这个贪心.找规律的方法,写代码,然后提交测试. 但最后,写出的代码不能过几组数据,感觉边界的数据非常容易考虑不周而出错,比如第一个数字是否为最小,数字串中是否有零等. 看了其他人的代码(http://www.cnblogs.com…
TopCoder                        250                              500                                         1000                                589 div2 简单题 简单的分析题! //非常好的DP!硬币反转!待补 590 div2 简单题!模拟五子棋判断 简单搜索,模拟围棋!  蛮好的DP!递推!掌握技巧! 591 div2 简单题 简单题,暴力…
http://community.topcoder.com/stat?c=problem_statement&pm=12107 此题想了半天,当时瞥到了Greedy,所以就想着贪心,最后的方法又纸上画了一下应该是对的.就是排序后依次看是不是满足要求.证明就是如果对数字X,有a和b都能够通过增加k的倍数步得到X,那么使用小的a自然更好,因为b有更大机会为剩下的出力. #include <string> #include <vector> #include <algori…
http://community.topcoder.com/stat?c=problem_statement&pm=12300&rd=15699 题意:有一个无限长的阶梯,i从1到N,每次跳i步或不跳:有一个阶梯是坏的,不能跳,问最多跳多远. 分析:贪心的跳,当跳到坏阶梯时,就躲开,怎么躲,就是第一步不跳.那么此时和坏台阶差一步,只有i为0时下一步才为1,但i从0开始,所以不会发生. public class JumpFurther { public int furthest(int N,…
http://community.topcoder.com/stat?c=problem_statement&pm=12706&rd=15700 这题有意思.首先要观察到,如果选定一些歌曲,最优做法就是,按照tone排序,那么这时浪费的间隔最少,是(max_tone-min_tone).那么首先对歌曲按照tone排序,这时由于取得顺序就是从左往右,可以用DP.(比如:http://community.topcoder.com/stat?c=problem_solution&cr=2…
http://community.topcoder.com/stat?c=problem_statement&pm=12784 真心觉得tc的div1 250不少好题,对我来说比较适合.这道题一开始拿到是个棋盘,觉得像是DP,然后觉得有些不同,因为棋盘不是满的,二来这可能是个判定问题,就是2种颜色够不够,3中颜色够不够.然后想到DFS/BFS之类.再后来想到贪心,就是按顺序染色每个点,都用可以的最小颜色去染,觉得可行.写代码小错不断,最终pass. #include <vector>…
http://community.topcoder.com/stat?c=problem_statement&pm=10750&rd=14153 http://apps.topcoder.com/wiki/display/tc/SRM+470 因为是棋盘型,然后就想到棋盘型DP:觉得不行,就想到BFS/DFS(这时其实已经把这个看成一张图了).发现,寻找下一个节点进来的时候,总是要全局考虑所有已经Activate的点,BFS/DFS未果.此时感觉有点像最小生成树的Prim算法,用贪心的,但…
http://community.topcoder.com/stat?c=problem_statement&pm=11225&rd=14427 http://apps.topcoder.com/wiki/display/tc/SRM+498 此题的暴力解法是一个BFS.BFS的话,要有Queue,如果是图的话,还要有Set来记录走过的状态.后面答案中会看到其实可以用贪心,就是只要输入和输出的各种颜色数量一样,就一定能变换过来,这个下回再表. import java.util.*; pub…