USACO 简易题解(蒟蒻的题解)
蒟蒻难得可以去比赛,GDOI也快到了,还是认真刷题(不会告诉你之前都在颓废),KPM 神犇既然都推荐刷USACO, 辣就刷刷。
现在蒟蒻还没刷完,太蒟刷得太慢,so 写了的搞个简易题解(没代码,反正NOCOW一堆)
x_y_z(表示 Section x.y 的第z题)
1_1_1
这个..... ASCII码搞一搞就好了吧...
1_1_2
直接模拟,注意均分后剩下的钱还是他的
1_1_3
日期的题最难受了,直接模拟往下推就好了
1_1_4
枚举断开的位置,然后爆枚左右,注意处理 w 如果左右第一个是 w 就 记录下第一个枚到的颜色就好了 然后更新最大值就可以啦 环我是用 mod 处理的
1_2_1
可以快排+乱搞 ,也可以布尔数组搞一搞
1_2_2
这题挺恶心,先打个 翻90°的子过程 180°(270°) 就翻2(3) 次 至于怎么翻,用个B数组储存翻后的图案,然后 推个公式就好了(公式我忘了) 好像是 (N-I+1) 之类的 反射也是推个公式,然后一个一个模拟按 6 1 2 3 4 5 7 的顺序判断, 能就直接输出就好啦
1_2_3
用个常量数组num[‘A’..‘Z’] (好像C++不能字符当下标?不清楚,可以改成num[0..25] 然后ASCII码来搞) 表示 字符 的 按键码,接着直接爆枚 所有名字 判断和输入的编号是不是一样的,一样就输出。记得没有满足条件的要输出 NONE
1_2_4
爆枚,然后进制转换后 暴力判断回文就行啦
1_2_5
还是爆枚,枚 S+1 到无穷大, 然后有n个数了就break 再枚一个进制 2 到 10 然后进制转换后 暴力判断回文 记录有两个就 个数+1 和 输出
1_3_1
快排贪心就行 按费用 从小到大排一下 然后 扫一遍(同时计算费用) 直到数量够了 就直接break
剩下的慢慢来,等我A了再更