`
leonluchen
  • 浏览: 31893 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
题意分析: 奶牛们原来只有由四个数字组成的编号,例如4734,现在要给奶牛起名字。题目给出固定的数字和字母的对应方式,如:3对应D,E,F;4对应G,H,I; 7对应P,R,S。显然4734这样的数字可以对应到很多奶牛的名字,但只有名字在dict.txt中也存在的,才可能成为奶牛名字的候选,按字母升序输出该编号奶牛可以使用的名字候选。 解题思路: 题目叙述的时候就是诱导从数字出发去匹配可选的名字。正确做法是遍历dict.txt中的5000个名字,将它们一对一转换成数字,匹配输入的编号。 代码实现: https://github.com/leonlu/USACOJavaSolution/blo ...
题意分析: 给定N*N的二维数组的变化前和变化后的情况,思考如何通过90度翻转和左右对称使得该变化成立。题中给出标号为1-7共7种翻转及对称的组合方式,求最小标号。 解题思路: 这题非常容易解,按照给出的可能情况一种种去试即可。注意代码写得尽量精简的技巧。 代码实现: https://github.com/leonlu/USACOJavaSolution/blob/master/USACOSection1/src/transform.java
题意分析: 输入为N组 [900,1800],[1200,2200] 这样的[开始,结束]时间段。要求计算最长连续时间长度,以及最长中断的时间长度。 解题思路: 首先:将输入中的时间段按开始时间排序。 然后:处理重叠的时间段,为后续计算做准备。 if(a.end <= b.start) then do nothing else if (a.end > b.start && a.end < b.end) then a.end = b.start else b.start=b.end=a.end 最后:计算出最长连续时间长度,以及最长中断的时间长度。 该算法时间复 ...
题意分析: 一串项链,由红蓝白三种颜色的珠子串成。在某一点拆开项链,从这一点左端开始数连续相同颜色的最长长度,右端也做同样的计算(可以是与左端不同的颜色),求长度之和为最大时的值。(其中白色既可以认为是红色,也可以认为是蓝色。) 输入为wwwbbrwrb样式的字符串表示一串项链。由于项链是事实上首尾相连的,为了方便计算,将字符串乘以2拼接起来,即wwwbbrwrbwwwbbrwrb。 输出前需检验计算得到的最大长度是否大于珠子的原长,若大于则取原长。 解题思路1: 最直白的办法是枚举每一个可以拆开的点,按题意计算。 具体算法: 枚举每一个不是白色的珠子(因为白色珠子可以认为是红色或蓝色): ...
题意分析: 已知1900年1月1日是周一(即1900年1月13日是周六),求1900年1月1日开始,N年间每月13号这一天分别落在周一,周二……到周日的次数。 解题思路: 从1900年1月起枚举N年间的每一个月份:由该月13号为周几,算出下个月13号为周几,注意考虑闰年。 代码实现: https://github.com/leonlu/USACOJavaSolution/blob/master/USACOSection1/src/friday.java
解题思路: 直接用String[]保持名字的顺序,Map<String,Integer>保持名字和钱的对应关系。然后边读入边处理,一遍即可。 代码实现: https://github.com/leonlu/USACOJavaSolution/blob/master/USACOSection1/src/gift1.java
众所周知,Java的运行效率大约比C/C++慢3倍左右。大多数支持多语言的Online Judge虽然支持Java语言递交代码,但是对于时间要求很高的题目,在用与C/C++相同算法的情况下,Java的提交常常被卡住TLE。而USACO给予Java的提交宽裕的时间。 USACO要求的代码结构和输入输出格式如下: 包装一层BufferedReader/BufferedWriter可以大大提高读写效率。 /* ID: <your_id_here> LANG: JAVA PROG: ride */ class ride { public static void main ...
首先安装Git的Window版本。 Git for Windows http://code.google.com/p/msysgit/   使用Git之前先用Git Bash生成SSH Key ssh-keygen -t rsa -C "your_email@youremail.com",进入.ssh文件夹所在的目录(Win7下是C:\Users\<User Name>\.ssh),将public key用文本编辑器打开,拷贝出文本上传给服务器。 参考:http://help.github.com/win-set-up-git/ *passphrase的作用 ...
Global site tag (gtag.js) - Google Analytics