HDU 开放式进阶训练(11)全程测试

       这两天晚上一直在做这一套试题(那时寒假回校坐火车,耽误了),做出来的4道都没什么难度,估计是心里没有压力。比赛能做出4道,那才行。

       先来简单说下做出来的这4道,其他的以后更新吧。

 

 

      1.1002(3774)其实是这次比赛中最简单的一题了,不过从AC的人数看来并不理想。毛教主说这就叫比赛,不仅题目难度不同,连题目理解能力也上升了不少,估计被这题卡住的90%的选手是卡在理解题意了,我当时做这题时读了两遍没感觉,后来在Mo、xi的帮助下才理解了题意,再后来25行代码A了。这题需要注意的是题目要求绳子长度必须至少是悬崖(最大)高度的2倍才能用来爬(当时没懂样例就卡在这里)。其他的就不侮辱读者的智商了、想看代码的下面有。

 

      2.1005(3777)这题不错,题意是给你一些需要打印的页码范围(范围间有重合),问你至少要打印多少页才能全部打完(题目中规定了最大页码值)。我一开始想的复杂了,想着怎么把重合的去掉,其实这题中重复的页码并不重要,只是让你求所给的范围里有多少页码值(凡出现的,满足总范围的)。那么设置一个bool型的vis[]数组来记录第i页是否出现在了这些范围里不就行了么,懂了吧?原来so easy!

 

      3.1007(3779)这题有点难度(对我来说),我交了好几次才AC,一开始不是wa就是tle。这题其实就是给定两个子序列和一个总序列(满足栈的形式,只能从一边取数,不过和栈没一点关系,主要是看到火车轨道我就想起栈,被《入门经典》害惨了),判断能否由这两个子序列得到总的序列。元素有相同的话应该使用记忆化搜索。理解了这一点这题立马就变水了,不过需要注意的是如果没有if(ok) return;这一句的话还是会tle。具体见下面的代码。

 

      4.1008(3780)这题就是简单的模拟,关键还是在于理解题意,题目就是告诉你三个数字表示长、宽、高,然后判断这个范围所表示的是什么类型的邮件。我一开始没把packet的范围搞对,导致连WA了两次,测了几组数据之后才发现不对。唉,做模拟题还是要心细啊!

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值