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

来源:互联网 发布:网络伤感歌曲打包下载 编辑:程序博客网 时间:2024/05/01 02:16

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
原创粉丝点击