IO加速.java 4.0 KB
Newer Older
qq_36480062's avatar
c  
qq_36480062 已提交
1
import java.io.*;
qq_36480062's avatar
c  
qq_36480062 已提交
2
import java.util.*;
qq_36480062's avatar
c  
qq_36480062 已提交
3 4 5 6

import static java.lang.System.in;

public class IO加速 {
qq_36480062's avatar
c  
qq_36480062 已提交
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
    static void f() {
        long s = System.nanoTime();
        LinkedList<Integer> l = new LinkedList<Integer>();
        for (int i = 0; i < 3000000; i++) {
            l.add(i);
        }
        for (int i = 0; i < 3000000; i++) {
            l.poll();
        }
        long t = System.nanoTime();
        System.out.println((t - s) / 1e8);
        s = System.nanoTime();
        ArrayDeque<Integer> r = new ArrayDeque<Integer>();
        for (int i = 0; i < 3000000; i++) {
            r.addFirst(i);
        }
        for (int i = 0; i < 3000000; i++) {
            if ((i & 1) == 1) r.pollLast();
            else r.pollFirst();
        }
        t = System.nanoTime();
        System.out.println((t - s) / 1e8);
    }
qq_36480062's avatar
c  
qq_36480062 已提交
30

qq_36480062's avatar
c  
qq_36480062 已提交
31
    public static void main(String[] args) throws IOException {
qq_36480062's avatar
c  
qq_36480062 已提交
32
        //       fff();
qq_36480062's avatar
c  
qq_36480062 已提交
33
        //   sw();
qq_36480062's avatar
c  
qq_36480062 已提交
34 35
        ///dfs(4, 1, new ArrayList<Integer>());
        f();
qq_36480062's avatar
c  
qq_36480062 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48
//        tokenizer = new StringTokenizer("123123   15412  4312412");
//        System.out.println(tokenizer.nextToken());
//        System.out.println(tokenizer.nextToken());
//        System.out.println(tokenizer.hasMoreTokens());
//
//        System.out.println(tokenizer.nextToken());
//
//        System.out.println(tokenizer.hasMoreTokens());
//
//
//        //标准输出流,只能输出字符串,不能输出数字!!!
//        bw.write(1 + " ");
//        bw.flush();
qq_36480062's avatar
c  
qq_36480062 已提交
49 50
    }

qq_36480062's avatar
c  
qq_36480062 已提交
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
    static void fff() {
        ArrayList<Integer> e = new ArrayList<Integer>();
        Random r = new Random();
        int te;
        long s = System.nanoTime();
        for (int i = 0; i < 1000000; i++) {
            te = r.nextInt(100000);
            e.add(te);
        }
        Collections.sort(e);
        long t = System.nanoTime();
        System.out.println((t - s) / 1e8);
        s = System.nanoTime();
        PriorityQueue<Integer> q = new PriorityQueue<Integer>(e);
        while (!q.isEmpty()) q.poll();
        t = System.nanoTime();
        System.out.println((t - s) / 1e8);
    }

qq_36480062's avatar
c  
qq_36480062 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
    static void dfs(int sum, int n, ArrayList<Integer> q) {
        if (sum == 0) {
            System.out.println(q);
            return;
        }
        System.out.println(q + " " + n);
        for (int i = n; i < sum; i++) {
            if (sum - i >= 0) {
                q.add(i);
                dfs(sum - i, i, q);
                q.remove(q.size() - 1);
            }
        }
    }

qq_36480062's avatar
c  
qq_36480062 已提交
85 86 87

    static int[] par = new int[11000000];

qq_36480062's avatar
c  
qq_36480062 已提交
88 89 90 91 92 93
    static void ff() {
        int a = 5, b = 5;
        Random r = new Random();
        int[] t = new int[3];
        while (a > 0 && b > 0) {
            for (int i = 0; i < 3; i++) {
qq_36480062's avatar
c  
qq_36480062 已提交
94
                int e = r.nextInt(13923);
qq_36480062's avatar
c  
qq_36480062 已提交
95
                System.out.println(e);
qq_36480062's avatar
c  
qq_36480062 已提交
96
                t[i] = e & 1;
qq_36480062's avatar
c  
qq_36480062 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109 110
            }
            if (t[0] == t[1] && t[1] == t[2]) {
                a++;
                b--;
            } else {
                b++;
                a--;
            }
            System.out.println(a + "  " + b);
        }
        System.out.println(a);
        System.out.println(b);
    }

qq_36480062's avatar
c  
qq_36480062 已提交
111 112 113 114 115 116 117 118 119 120
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    static BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    static StringTokenizer tokenizer = new StringTokenizer("");

    static String nextLine() throws IOException {// 读取下一行字符串
        return reader.readLine();
    }

    static String next() throws IOException {// 读取下一个字符串
        while (!tokenizer.hasMoreTokens()) {
qq_36480062's avatar
c  
qq_36480062 已提交
121
            //如果没有字符了,就是下一个,使用空格拆分,
qq_36480062's avatar
c  
qq_36480062 已提交
122 123 124 125 126 127 128 129 130 131 132 133 134
            tokenizer = new StringTokenizer(reader.readLine());
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {// 读取下一个int型数值
        return Integer.parseInt(next());
    }

    static double nextDouble() throws IOException {// 读取下一个double型数值
        return Double.parseDouble(next());
    }
}