相信ACMer 用java的时候不少遇到超时的现象吧,今天做CF的时候就遇到了,$10^5$ Int 就超1s了,根本不能忍,这里留下一个petr 大佬的模板,果然速度提高10倍

  • 输入
  • 输出
  • 例子

输入

class InputReader{private final static int BUF_SZ = 65536;BufferedReader in;StringTokenizer tokenizer;public InputReader(InputStream in) {super();this.in = new BufferedReader(new InputStreamReader(in),BUF_SZ);tokenizer = new StringTokenizer("");}private String next() {while (!tokenizer.hasMoreTokens()) {try {tokenizer = new StringTokenizer(in.readLine());} catch (IOException e) {throw new RuntimeException(e);}}return tokenizer.nextToken();}public int nextInt() {return Integer.parseInt(next());}
}

StringTokenizer
BufferedReader

输出

输出比较简单直接使用 PrintWriter

public static InputReader in = new InputReader(System.in);public static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

例子

CF 980 C. Posterized

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.StringTokenizer;public class Main {public static final int INF = 0x3f3f3f3f;public static InputReader in = new InputReader(System.in);public static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) {int n = in.nextInt();int k = in.nextInt();int[] p = new int[n];for(int i=0 ; i<n ; ++i)p[i] = in.nextInt();Solution solver = new Solution(n, k, p);solver.solve();for(int i=0 ; i<n ; ++i)out.print(solver.ans[p[i]]+" ");out.flush();out.close();}
}class Solution{int n,k;int[] p;int[] ans;public Solution(int n, int k, int[] p) {super();this.n = n;this.k = k;this.p = p;ans = new int[256];Arrays.fill(ans, -1);}public void solve() {ans[0] =0;for(int i=0 ; i<n ; ++i){int ret =0;if(ans[p[i]]!=-1)continue;int lower = Math.max(-1, p[i]-k);for(ret = p[i] ; ret >lower ; --ret){if(ans[ret] !=-1){if(ans[ret] > lower){ret = ans[ret];}else ret++;break;}}ret = Math.max(ret, lower+1);for(int j=ret ; j<=p[i] ; ++j)ans[j] = ret;}}
}class InputReader{private final static int BUF_SZ = 65536;BufferedReader in;StringTokenizer tokenizer;public InputReader(InputStream in) {super();this.in = new BufferedReader(new InputStreamReader(in),BUF_SZ);tokenizer = new StringTokenizer("");}private String next() {while (!tokenizer.hasMoreTokens()) {try {tokenizer = new StringTokenizer(in.readLine());} catch (IOException e) {throw new RuntimeException(e);}}return tokenizer.nextToken();}public int nextInt() {return Integer.parseInt(next());}
}

java ACM竞赛IO优化Petr模板相关推荐

  1. acm竞赛java很少,Java多线程在ACM竞赛中的应用

    欢迎转载,转载请注明出处. 转发注记:网上看到有少数人讨论过在ACM竞赛中使用多线程,但是在Online Judge上一般是不支持的.因为Online Judge都会限制CPU的使用权限,所以即使可以 ...

  2. java算法竞赛:快速读入输出

    我们在使用java写算法题时,常常会因为超时而苦恼,明明是和C++一样的思路,甚至代码实现都极为相似,但是却比它慢上一大截,这时候不妨试试IO流读入输出数据,提升速度. 参考文章 Java写算法题中那 ...

  3. java中的IO操作总结(一)

    转载:http://www.cnblogs.com/nerxious/archive/2012/12/15/2818848.html    所谓IO,也就是Input与Output的缩写.在java中 ...

  4. ACM竞赛学习整理--矩阵运算

    ACM竞赛学习整理–矩阵运算 了解矩阵类 [任务] 实现矩阵的基本变换 [接口] 结构体:Matrix 成员变量: int n,m 矩阵大小 int a[][] 矩阵内容 重载运算符: +.-.x 成 ...

  5. Java ACM模式

    Java ACM模式 文章目录 Java ACM模式 1:java.util.* 2:其他 1:java.util.* Scanner reader = new Scanner(System.in); ...

  6. 人人都能掌握的Java服务端性能优化方案

    转载自 人人都能掌握的Java服务端性能优化方案 作为一个Java后端开发,我们写出的大部分代码都决定着用户的使用体验.如果我们的代码性能不好,那么用户在访问我们的网站时就要浪费一些时间等待服务器的响 ...

  7. Java 非阻塞 IO 和异步 IO

    转载自 Java 非阻塞 IO 和异步 IO 上一篇文章介绍了 Java NIO 中 Buffer.Channel 和 Selector 的基本操作,主要是一些接口操作,比较简单. 本文将介绍非阻塞 ...

  8. 大学本科 java教材,大学本科自学java之路——IO

    大学本科自学java之路--IO 大学本科自学java之路--IO 我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习 一. 字节缓冲流的构造方法: BufferedOut ...

  9. 两年ACM竞赛的所有算法总结

    这是我经过两年ACM竞赛的所有算法总结,希望对你有帮助. 目录 最短路 Floyd Dijkstra SPFA 最小生成树 Kruskal Prim 动态规划 01背包 完全背包 多重背包 最长公共子 ...

最新文章

  1. TOPSIS算法及代码
  2. TCP/IP详解--学习笔记(13)-TCP坚持定时器,TCP保活定时器
  3. 输入URL到浏览器显示页面的过程,搜集各方面资料总结一下
  4. [渝粤教育] 中国地质大学 计算机系统结构(新) 复习题
  5. 电工接线模拟仿真软件_VERICUT数控加工仿真软件,最强的数控加工模拟软件,你知道么?...
  6. 电脑屏幕变小了左右黑_95后关晓彤抗皱、张嘉倪宁静黑科技护肤,明星到底有多爱美容仪?...
  7. 通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
  8. 57-Insert Interval
  9. opencv 滤镜效果php,opencv滤镜-去色滤镜
  10. 基于MATLAB霍夫变换的复杂情况下车道线检测
  11. 差分隐私(DP)中隐私预算ε的理解
  12. 【计算机网络】负载均衡
  13. sql server与java连接数据库_Java连接数据库(SQL Server)
  14. 网页中通过js修改img的src属性刷新图片时,图片缓存问题现象表述及问题解决
  15. (九)JMH的详细使用,以及压测dubbo
  16. 智能晾衣杆_晾衣绳社交书签–仅CSS的社交书签教程
  17. plsqldev与sqldeveloper
  18. 大学机械专业减速器毕业设计、课程设计案例/说明书(论文) CAD图纸 三维图 开题报告 任务书 外文翻译…
  19. android print service,Mopria Print Service
  20. vim编辑器的查找字符串功能

热门文章

  1. C. Good Subarrays
  2. 小程序商品数据对象累加加入购物车缓存导致的数组嵌套在上一层数组中的问题
  3. gee微端服务器系统设置,geem2微端服务器设置
  4. CUDA编程学习笔记 之 页锁定内存(固定内存Pinned Memory)
  5. Qlikview连接Mysql数据源
  6. 苹果手机开热点电脑/安卓手机无法链接?
  7. android错误之解析包时出现问题(一)
  8. java bks证书_jks bks 等的定义 如何将jks转化为bks的
  9. 记一次线上微信公众号迁移遇到的坑
  10. HP 惠普笔记本电脑 禁用触摸板 在插入鼠标后