2016.9.3初中部上午NOIP普及组比赛总结

2016.9.3初中部上午NOIP普及组比赛总结

链接:https://jzoj.net/junior/#contest/home/1339
这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!)

进度:
比赛:100+80+100+50=330
改题:100+100+100+70=370
题目:
一、交换
链接:https://jzoj.net/junior/#contest/show/1339/0
我一看题目,有点懵了,担心时超。
后来发现长度50,才把它当水题做了。
题目简化:
两个字符串,换一下其中的字符,
使得3个同样字符相连。
正解:
暴力地模拟,不要想复杂,
然后判断是否符合条件。
二、解压字符串
链接:https://jzoj.net/junior/#contest/show/1339/1
坑!时间超限!!!
字符串爆了!(如果没有超限就好了)
字符串题我不熟……
题目简化:
没简化。
正解:
别用字符串了,用数字吧!
递归一下,如果后面有数字就变成1,
否则用这个数字乘后面的,然后递归下去。
如果后面没数字,就是边界了……
记住,有时题目坑你,括号里没数,
就直接exit(0)就好了!
三、楼梯
链接:https://jzoj.net/junior/#contest/show/1339/2
这题对于我来说挺简单的,因为这是爆搜题
BFS解决
题目简化:
有个人,有超能力,要上楼梯
楼梯设计者很奇怪,让每一层楼梯高度的差都不同
(无视上面)
那个人每次只能往上跳一米,
或向后跳k格蓄力,然后跳出超能力的2^k的高度
h[要跳的格]<=2^k就跳。
求最小步数
正解:
爆搜一下,
设三个参数:现在的格,步数,退了多少步。
依题意爆搜(BFS和DFS都行,BFS更好)
记得往上走或跳高要把退步清零。
每次都枚举往上后往后。
如果退步为零才向上!(不然你退步干嘛?)
退步大于零就可以跳。
记忆化:bz[i,j]为到i点,之前蓄力j次的最小步数。(初值无限)
每到一点就看看是否小于等于之前的就退,否则替换
最终深搜输出bz[n,0],宽搜一到中点就输出。
四、好数
https://jzoj.net/junior/#contest/show/1339/3
爆搜定爆,50分。
三个超级学霸在讲台上不知所措,
最终钟大哥在台上滔滔不绝地讲着。
下面的人一脸茫然。
题目简化:
二进制如果有三个相邻‘0’‘1’的就是好数
正解:
我不知道!
一头雾水。
题外话:
1、上次比赛总结还没打。
2、爆搜记忆化几乎等于DP速度(有时差不多)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值