USACO Chapter 1 解题总结

时间:2021-12-10 15:33:41

USACO Chapter 1 解题总结

1.1.1 Your Ride Is Here

基本字符串操作,无压力。

1.1.2 Greedy Gift Givers

基础模拟题,弄明白题意,不怕麻烦,就OK了。

1.1.3 Friday the Thirteenth

自己的做法:三维数组代表年月日,400的数据范围不大,模拟走一下时间的流逝过程即可。时间复杂度O(N*12*31),多好玩。

官方标程好像用到了一个神奇的公式,好像是什么蔡勒公式。

1.1.4 Broken Necklace

2*N的拆环,枚举断点找即可。在找的过程中先要解决那个万能的颜色珠子,如果起点是那个珠子,先累加答案,之后到头之后,再按规则找。

1.2.1 Milking Cows

问题模型:找被覆盖的最长区间,和没有覆盖的最小区间长度。自己用了一个基于扫描线的思想,遇到起点入栈,终点出栈,每遇到一个点就计算一下当前长度。注意细节即可。

1.2.2 Transformations

非常恶心的模拟题,让人想吐。不多说。

1.2.3 Name That Number

双文件读入注意一下,解决了这个问题然后正常模拟就可以。

1.2.4 Palindromic Squares

进制转换基础 + 判断回文数。

1.2.5 Dual Palindromes

进制转换。可以开一个这样的数组 base[]={“0123456789ABCDEFG”};

1.3.1 Mixing Milk

刚学不到2个月奥赛时候做的题,按照生活思路去贪心,注意贪心的题,一般开始都要先排个序。

1.3.2 Barn Repair

区间动态规划,同 “乘积最大”。注意细节即可。

1.3.3 Prime Cryptarithm

牛式,暴力枚举。注意数位就可以。

1.3.4 Combination Lock

正常循环加判断就行,话说自己一开始错是因为没有注意到这东西是个环,是位置差2,不是数值差2。

1.3.5 Wormholes

第一章的Boss,话说出来的有点早。搜索 + 剪枝 + 模拟,解题报告已经写了。

1.3.6 Ski Course Design

暴力枚举每个答案做就行。一开始想复杂了。

1.4.1 Arithmetic Progressions

话说这题倒是让自己语文觉得不好了,读了N多遍题才明白。

类比于搜索,要学习的还是剪枝的技巧,当我写完解题报告之后才发现自己有多么愚蠢。记住一个:你要找的等差数列的第一个数一定是这个双平方数集合中的某个BABY。然后枚举公差就可以。注意剪枝。

1.4.2 Mother’s Milk

BFS 搜索每一步的每种倒法,一定要注意不合法的倒法是不能够入队的,至于为什么,嘿嘿,自己试过就知道了。

1.5.1 Number Triangles

动态规划第一题,谁都是从这题开始DP的,放这里主要是让你学习一下滚动数组。

1.5.2 Prime Palindromes

回文质数,它给的两个性质很好,只有奇数可能是质数(2除外),先找回文数再找质数。如果是暴力的做法,你打个表,如果是正解,你就写个生成不同位数回文数的东西,然后判断素数就可以。话说我是打的表。

1.5.3 SuperPrime Rib

DFS,自己还傻傻的想枚举每个素数呢。不过这个题和上个题倒是让我复习了一下筛法。记住一个性质,如果是肋骨数,那么第一位一定是 2、3、5、7,最后一位一定是1、3、7、9。信不信由你。反正我信了。