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。信不信由你。反正我信了。

时间: 2024-08-02 19:09:35

USACO Chapter 1 解题总结的相关文章

USACO Chapter 1 Section 1.1

USACO的题解和翻译已经很多了... 我只是把自己刷的代码保存一下. 1.PROB Your Ride Is Here 1 /* 2 ID:xiekeyi1 3 PROG:ride 4 LANG:C++ 5 */ 6 7 #include<bits/stdc++.h> 8 using namespace std ; 9 10 int main() 11 { 12 freopen("ride.in","r",stdin); 13 freopen(&quo

USACO CHAPTER 1 1.1 Ride 水题

水题,主要是学习文件输入输出. 1 /* 2 ID: ijustwa1 3 LANG: C++ 4 TASK: ride 5 */ 6 #include<cstdio> 7 #include<cstring> 8 9 using namespace std; 10 11 const int base=16; 12 const int mod=47; 13 14 char s[10]; 15 char t[10]; 16 17 int main() 18 { 19 FILE *fin

USACO Chapter 1 Section 1.3

1 /* 2 ID:xiekeyi1 3 PROG:milk 4 LANG:C++ 5 */ 6 7 #include<bits/stdc++.h> 8 using namespace std ; 9 10 const int maxm = 5050 ; 11 12 struct P 13 { 14 int price ; 15 int amount ; 16 }a[maxm]; 17 18 bool cmp( struct P a , struct P b ) 19 { 20 return

USACO Chapter 1 Section 1.2

不知道为什么感觉1.2比1.1反而简单不少 1 /* 2 ID:xiekeyi1 3 PROG:milk2 4 LANG:C++ 5 */ 6 #include<bits/stdc++.h> 7 using namespace std ; 8 const int MAXN = 5010; 9 struct point 10 { 11 int begin , end ; 12 } a[MAXN] ; 13 14 15 bool cmp( struct point a , struct point

POJ 2186 Popular Cows

Popular Cows Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID: 2186 64-bit integer IO format: %lld      Java class name: Main Every cow's dream is to become the most popular cow in the herd. In a herd of N (1 <

Lake Counting -- DFS(深搜)

Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22424 Accepted: 11300 Description Due to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <=

BNUOJ 2105 Distance Queries

Distance Queries Time Limit: 2000ms Memory Limit: 30000KB This problem will be judged on PKU. Original ID: 198664-bit integer IO format: %lld      Java class name: Main Farmer John's cows refused to run in his marathon since he chose a path much too

USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】

holstein解题报告 ------------------------------------------------------------------------------------------------------------------------------------------------[题目] 你需要给一头奶牛制定最优的喂养计划. 有V种维他命,每天对于每种维他命,牛都有需要达到的指标: 同时你有G种饲料,编号依次为1到G,每种维他命在每种饲料中所蕴含的量都会给你.

USACO Section1.5 Prime Palindromes 解题报告

pprime解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------------------------------------------------------------------------------------------[题目] 求a到b之间的所有回文素数(即又是素数又是回文数的数).[数据范围] 5<=a,b<=100,000,000[输入样例] 5