USACO Chapter 1 解题总结
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。信不信由你。反正我信了。
USACO Chapter 1 解题总结的更多相关文章
- USACO CHAPTER 1 1.1 Ride 水题
水题,主要是学习文件输入输出. /* ID: ijustwa1 LANG: C++ TASK: ride */ #include<cstdio> #include<cstring&g ...
- usaco 2010年3月银组题解
usaco银组解题报告 一.石子游戏如果把‘O’当作0,‘X’当做1,则N个洞的每一种状态都可以看做是一个N位二进制数.于是,这个问题就变成了求环绕的N位格雷码.幸运的是,这个结构很容易就能够用一个简 ...
- BNUOJ 2105 Distance Queries
Distance Queries Time Limit: 2000ms Memory Limit: 30000KB This problem will be judged on PKU. Origin ...
- USACO Section 1.3 Prime Cryptarithm 解题报告
题目 题目描述 牛式的定义,我们首先需要看下面这个算式结构: * * * x * * ------- * * * <-- partial product 1 * * * <-- parti ...
- USACO Section 1.1 Your Ride Is Here 解题报告
题目 问题描述 将字符串转变为数字,字母A对应的值为1,依次对应,字母Z对应的值为26.现在有一个字符串,将其中的每个字符转变为数字之后进行累乘,最终的结果对47求余数. 题目给你两个字符串,其中的字 ...
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
preface解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.1 Hamming Codes 解题报告 【icedream61】
hamming解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】
holstein解题报告 --------------------------------------------------------------------------------------- ...
- USACO Section2.1 The Castle 解题报告
castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
随机推荐
- C++程序设计实践指导1.14字符串交叉插入改写要求实现
改写要求:1:以指针为数据结构开辟存储空间 改写要求2:被插入字符串和插入字符串不等长,设计程序间隔插入 如被插入字符串长度为12,待插入字符串长度为5 则插入间隔为2 改写要求3:添加函数Inser ...
- 关于char/varchar(n)中n的探究:字符数or字节数
[问题来源]将设计的数据库表展示的时候,yu哥问我,你的那个top_info字段定义的类型是varchar(100),为什么是100呢,这100的长度能存多少个中文? 当时的想法就是,这个100能存多 ...
- java普通类如何得到spring中的bean类
在SSH集成的前提下.某些情况我们需要在Action以外的类中来获得Spring所管理的Service对象. 之前我在网上找了好几好久都没有找到合适的方法.例如: ApplicationContext ...
- 微信订阅号开发之token验证后,自动回复消息功能做好,发送消息没有返回
相信很多人会跟我一样,token验证之后,发送消息给订阅号,没有消息返回. 以下,说一下我辛苦调试得到的解决办法: 首先,token验证: 自己写的token一直验证失败,找了好久,没有发现bug.实 ...
- npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'
我在ubuntu上使用npm安装依赖是出现下面错误: npm ERR! Linux 3.13.0-101-genericnpm ERR! argv "/usr/bin/nodejs" ...
- 利用cookies获取登录后的网页
众所周知,HTTP连接是无状态的,那么问题来了,怎么记录用户的登录信息呢?通常的做法是用户第一次发送HTTP请求时,在HTTP Server端生成一个SessionID,SessionID会对应每个会 ...
- 序列化类型为“System.Reflection.Module”的对象时检测到循环引用
在使用ajax调用web services时,正好返回的类型为datatable,想用通过json方式直接解析,但调用后,得到如下错误: 序列化类型为“System.Reflection.Module ...
- 8051、ARM和DSP指令周期的测试与分析
在实时嵌入式控制系统中,指令周期对系统的性能有至关重要的影响.介绍几种最常用的微控制器的工作机制,采用一段循环语句对这几种微控制器的指令周期进行测试,并进行分析比较.分析结论对系统控制器的选择有一定的 ...
- 从QWidget继承的圆形进度条QRoundProgressBar,只有370行代码(别忘了有现成的QProgressDialog)
是学习绘制控件的绝佳例子: http://blog.csdn.net/liang19890820/article/details/51957568 https://sourceforge.net/pr ...
- javascript之对象
一.创建对象 1.对象直接量. var point = { x:0,y:0 }; //point就是一个对象,跟C#不同,它不需要一定有类才能创建对象. 2.通过new创建对象 var d = new ...