ZOJ ACM 1314(JAVA)】的更多相关文章

昨天做了几个题目.过于简单,就不在博客里面写了. 1314这道题也比較简单,写出来是由于我认为在这里有一个小技巧,对于时间复杂度和空间复杂度都比較节省. 这个题目类似哈希表的求解.可是更简单.刚拿到题目时,我想当然的希望将查询结果放到一个数组里面.然后遍历查询是否有一样的mod值.可是感觉这样肯定是最普遍的方法并且效率也不是太高. 后来想到了其它的一些查询算法,比方二分,可是都感觉不太合适. 直到我意识到这个过程和计算哈希表的过程类似,所以直接用mod值作为数组的下标索引.能够直接定位到当前值是…
毕业好几年了,对算法还是比較有兴趣,所以想又一次開始做ACM题.俺做题比較任意,一般先挑通过率高的题来做. 第1204题,详细描写叙述请參考,ZOJ ACM 1204 1)难度分析 这个题目,基本的难度在于要依据长度来排序. 比方1 2 3 4 5 6.结果必须为: 1+2=3 1+3=4 1+4=5 1+5=6 2+3=5 2+4=6 1+2+3=6 可是我的结果为: 1+2=3 1+2+3=6 1+3=6 ... 2)解决方法 将结果缓存,依据长度排序后再打印. 3)AC的源代码.假设要直接…
ACM中Java.进制转换 Java进制转换: 由于Unicode兼容ASCII(0-255),因此,上面得到的Unicode就是ASCII. java中进行二进制,八进制,十六进制,十进制间进行相互转换 Integer.toHexString(int i) 十进制转成十六进制 Integer.toOctalString(int i) 十进制转成八进制 Integer.toBinaryString(int i) 十进制转成二进制 Integer.valueOf().toString() 十六进制…
ACM中Java.大数处理 先上个代码: import java.math.*; import java.util.*; class Main{ public static void main(String args[]){ Scanner cin=new Scanner(System.in); BigInteger a,b,t; b=BigInteger.valueOf(); t=BigInteger.valueOf(); while(cin.hasNext()) { a=cin.nextBi…
acm中Java的应用 Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge :) (2) 对于熟悉C/C++的程序员来说,Java 并不难学,找本书,一两周业余时间就可以搞定了.当然,这里只是指一般编程,想熟悉所有的Java库还是需要些时间的. 事实上,Java 只相当于C++的一个改进版,所有的语法都几乎是C++的,很少有变动. (3) 在一般比赛中,Java程序会有额外…
ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in)); 例程: import java.io.*; import j…
本文转自:ACM之Java输入输出 一.Java之ACM注意点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非常之垃圾 3. 有些OJ上的题目会直接将OI上的题目拷贝过来,所以即便是题目中有输入和输出文件,可能也不需要,因为在OJ系统中一般是采用标准输入输出,不需要文件 4. 在有多行数据输入的情况下,一般这样处理, static Scanner in = new Sca…
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in)); 例程: import java.io.*; import java.math.*; import java.util.*; import java.text.*; public class…
先说一下Java对于ACM的一些优点吧: (1) 对于熟悉C/C++的程序员来说Java 并不难学,两周时间基本可以搞定一般的编程,再用些时间了解一下Java库就行了.Java的语法和C++非常类似,可以说是C++的升级版,只是更加强调面向对象思想而已.(个人见解...) (2) 在一般比赛中,Java程序会有额外的时间和空间,但真正进行大规模运算时Java并不比C/C++慢,输入输出效率比较低而已 (3) Java 代码简单且功能强大,有些像高精度之类的算法用Java实现起来更为简洁方便(AC…
一.Java之ACM注意点 关于四舍五入 小数保留几位:  DecimalFormat df = new DecimalFormat("0.00"); String num = df.format(ans); System.out.println(num);  关于不四舍五入进行取小数点后几位: import java.text.DecimalFormat;import java.math.RoundingMode; DecimalFormat formater = new Decim…