Michael_Bryant最喜欢的G(al)G(ame)

那些悲伤,那些寂寞,那些几乎让自己放弃生活的希望的痛苦的回忆,绝对绝对不要将它们忘记。

Michael_Bryant最喜欢的番剧

抱歉⋯我已经绝对不可能再获得幸福了,因为⋯我发现⋯ 其实我⋯ 早就已经被幸福包围了

Michael_Bryant正在看的番剧

死亡一点也不温柔,只有无尽的黑暗和孤独。 就算联系得再紧密,人也是孤独的。

这里还是一次NOIPACM模拟赛(包括 bzoj 1593: [Usaco2008 Feb]Hotel 旅馆 3299: [USACO2011 Open]Corn Maze玉米迷宫 3431: [Usaco2014 Jan]Bessie Slows Down 2020: [Usaco2010 Jan]Buying Feed, II )

写在前面

这个由于距离考试结束已经一天多了
而且Michael_Bryant今天上了一天的课很累
所以他不准备按照顺序给出题解了

第一题——bzoj1593: [Usaco2008 Feb]Hotel 旅馆

题目链接

传送门

想说的话

这个题是这次考试的精髓(雾

题解

线段树维护0,1
有人没人分别用一个数字
然后pushdown打不同的标记
人满 人没满 还没有对区间进行过入住操作 三种值
然后区间修改的时候
强调先在左儿子找 然后在中间找 最后去到右儿子这样的一种思路
维护了几个变量 对于每个树节点
从左面有几个没入住的 右面有几个
中间最长有几个
然后再用变量标记这个区间住满了没有
就是这样
写起来并不容易

代码

第二题—bzoj3299: [USACO2011 Open]Corn Maze玉米迷宫

题目链接

传送门

想说的话

有一位学弟因为爆栈问题调了整整一天的程序
心疼加上佩服
毕竟我可没有这种毅力
直接这样之后就去TweyPhey了2333

题解

这个题解当然是简单的了
标准的宽搜
对于不能走的我们记为0 能走的正常的路是1
传送门用对应的ASCII对应的值表示就好
然后我们用两个数组记录传送门开始和终止的位置
难点就是我们走到传送门的时候会强制传送
就不用我们继续搜的时候考虑传送了
用两个标准的方向数组搜索
开队列
然后搜到终点为止
就是这样

代码

第三题——3431: [Usaco2014 Jan]Bessie Slows Down

题目链接

传送门

想说的话

乱入的物理题
读懂了之后真的是训练代码力的好题

题解

这道题最难的地方在于
你要弄明白下一次错误是位移还是路程造成的
对于这样的 我们写一个cmp比较当前位移需要的时间跟下一个时间哪个大然后就好了
还有就是存储比较麻烦
我用了vector存储 这样比较好
然后就是速度是分数这个问题
除以一个数等于乘以这个数的倒数嘛
轻松ac
练习vector的好题

代码

第四题——bzoj2020: [Usaco2010 Jan]Buying Feed, II

题目链接

传送门

想说的话

这样的题
我有什么好说的

题解

结构体排序
找到当前购买的最小价钱
然后用最小价钱买

代码

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

隐藏