您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2016-08-18 21:33 183 查看
呵呵,做了整整6天的C组题,突然要说好还是不好,好的话就是来普及组虐菜,刷水题,不好的话,万一成绩很差,那我做C组题的形象岂不是被毁了,幸亏题目给力,没有出太难的题目,感觉特别爽。

第一题,万做不厌的DP,有两种方法,一种是用1~i-1去更新f[i],另一种是用f[i]去更新f[i+1]~f[i+a[i],时间复杂度差不多,但数据大会体现出来。

思路:当i+j<=n的时候,f[j]:=min(f[j],f[i]+1);

第二题,额,一个特别复杂的模拟,额打了300多行的代码,结果却只给我40分,然而,等我将判断“Game over!”的判断从循环后,放到循环前,就对了。。就对了。。

思路:复杂的模拟,先靠拢,在合并,在靠拢(PS:做完后加上随机就可以变成小游戏咯)

第三题:好吧,这个是挺有难度,计算题

思路:首先我们要通过【2,3,1】或【3,2,1】来尽量缩小a和b的差(为什么要这样??因为他说相邻的两个礼包不能相同),然后用【5,5,2】来尽量缩小c,然后用【3,3,0】来缩小a和b,最后看能去哪个礼包就选哪个礼包

第四题:纯SPFA,果然很简单有10s时间,会开数组就行了(tov(边的终点),len(边的权值),next(下一条要搜索的边),last(每个点的最后一条边))

思路:spfa

100(简单DP)+40(模拟失误,细节问题)+30(递归刷分)+100(回SPFA就行了)=270(并列第二可喜可贺)

虽然普及组的题较水,但也吸收了不少经验,一定要找方法


一定要关注:http://blog.csdn.net/puppywolf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pascal