SRM 469

这场比赛很悲剧,先是TCO第一轮悲剧的写了那么高的250挂0了,然后就跌了180+的rating来到DIV2混了。

进房间的时候,有个小日本说,600 900 。然后我就发现了分值构造,想着先开900再去做600,想过三个题涨多些rating的,结果悲剧这样子发生了的。先是900调不过最后一组样例,一直挂着,然后最后10分钟才开600,结果悲剧的结束后才过的。哎,幸好250很快,没跌rating..不然要哭死。。。。。

 

DIV2

250 :暴力。

题意:给你n*m的座位,现在定了k个座位,现在你去订座位,希望订到一种是在一排连续的座位,就是可以紧挨着的两个座位。

解法:看到规模就很显然的去暴力写就好了,没啥可说的。自己脑残的是,比赛的时候一个下标写错了,结果查了会,结果就悲剧的235+了的。。。。

 

600:暴力

题意:现在一个人去看电影,有N部电影,每一部电影有个害怕点,就是到这个时候这个人会增加47的害怕度,随着时间消失,害怕度会一点点的减少的。当你的害怕度低于一定的时候就睡着了。问你可以随意安排N部电影的观看顺序,求使得能够看到更多的电影,当能看到电影数一样的,返回最小的字典序的安排。

解法:因为只有7的规模,直接next_permutation暴力去判断就好了的。TC太暴力了的。这是我最有怨念的题目。下场不能这么不淡定了的。╮(╯▽╰)╭

 

900:暴力

题意:现在给你n部电影,有两个人要审查。电影是安排在一个队列里面的,每个人也有一个审查电影的队列的。每个人审查有三个步骤:

1:从候选队列里面选出一个电影,如果没有的话就结束了。

2:审查电影

3:讲自己看完的电影丢到另外一个人的队列里面去的。

现在问你有多少个先前的安排是的两个人都能看完所有的电影。

其实开始的时候我是读错题意的,所以一直调不出样例,结束后才发现自己悲剧的理解错题意了的。。。。。。。

解法:很暴力的,就是一个个的去模拟就好了,因为规模是很小的。

还有一种是很巧妙的想法:有位红牛10行不到就写完了的,差距啊。。。。。

就是先把一个人看完自己队列的电影的时间算出来ty,然后从一个人开始算tx=0:如果当前的tx+time[i] < ty 就不合法,然后tx=tx+time[i],ty +=time[i];然后就结束了的。

看不懂描述的看代码吧,觉得自己描述的不是很好:

 

 

总结:DIV2的基本上都是暴力的,加上些许的剪枝,或者加些DP的。

1:自己读题不是很仔细;

2:自己做题目太急了的,过分的强调快了,已经吃了N次亏了的,结果悲剧的现在是个绿人了的。哎。。。

3:在自己想法不成熟的时候千万不要去写代码,不然调试的时间,比你想清楚了的时间要久的多的。

 

 

 

 

DIV1

250:暴力

其实就是DIV2 250的升级版的,此题n m 的范围比较大,不能直接暴力的。所以要转换个观点。因为定位子的比较少,所以可以反过来爆的。用set套pair判重之后很好的解决的的。

解法:直接先算出没定位子的时候可以有多少的满足情况的n*(m-1)然后把定位子的占了好多合法的减去就可以了的。set,pair等STL在做TC的时候真好好用的啊。。。。

 

500:DP

题意:和DIV2的500是一样的,只是规模变大了变为20了。所以不能n!的去暴力了的。

解法:看规模很容易想到状态压缩的DP,所以直接dp[i]表示i这个状态的时候,其之后还可以看多少部电影就好了的。I用每一位二进制表示这部电影是否已经看了的。然后用记忆化搜索去做就可以了的,至于输出解同记忆化那个函数,直接改个细节就好了的。

 

1000继续不是我等弱人可以做得来的。。

 

这场看到ACrush petr两位教主PK。结果PETR完胜啊。。。

 

总结:1:DP写成记忆化还是很直接很好写的。

         2:一些STL还是很好用,很节省时间的。所以得认真研究哈嘿嘿。

下场要加油了,不能再在DIV2混了好没意思啊。。哎。。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值