java ACM竞赛IO优化Petr模板
相信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模板相关推荐
- acm竞赛java很少,Java多线程在ACM竞赛中的应用
欢迎转载,转载请注明出处. 转发注记:网上看到有少数人讨论过在ACM竞赛中使用多线程,但是在Online Judge上一般是不支持的.因为Online Judge都会限制CPU的使用权限,所以即使可以 ...
- java算法竞赛:快速读入输出
我们在使用java写算法题时,常常会因为超时而苦恼,明明是和C++一样的思路,甚至代码实现都极为相似,但是却比它慢上一大截,这时候不妨试试IO流读入输出数据,提升速度. 参考文章 Java写算法题中那 ...
- java中的IO操作总结(一)
转载:http://www.cnblogs.com/nerxious/archive/2012/12/15/2818848.html 所谓IO,也就是Input与Output的缩写.在java中 ...
- ACM竞赛学习整理--矩阵运算
ACM竞赛学习整理–矩阵运算 了解矩阵类 [任务] 实现矩阵的基本变换 [接口] 结构体:Matrix 成员变量: int n,m 矩阵大小 int a[][] 矩阵内容 重载运算符: +.-.x 成 ...
- Java ACM模式
Java ACM模式 文章目录 Java ACM模式 1:java.util.* 2:其他 1:java.util.* Scanner reader = new Scanner(System.in); ...
- 人人都能掌握的Java服务端性能优化方案
转载自 人人都能掌握的Java服务端性能优化方案 作为一个Java后端开发,我们写出的大部分代码都决定着用户的使用体验.如果我们的代码性能不好,那么用户在访问我们的网站时就要浪费一些时间等待服务器的响 ...
- Java 非阻塞 IO 和异步 IO
转载自 Java 非阻塞 IO 和异步 IO 上一篇文章介绍了 Java NIO 中 Buffer.Channel 和 Selector 的基本操作,主要是一些接口操作,比较简单. 本文将介绍非阻塞 ...
- 大学本科 java教材,大学本科自学java之路——IO
大学本科自学java之路--IO 大学本科自学java之路--IO 我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习 一. 字节缓冲流的构造方法: BufferedOut ...
- 两年ACM竞赛的所有算法总结
这是我经过两年ACM竞赛的所有算法总结,希望对你有帮助. 目录 最短路 Floyd Dijkstra SPFA 最小生成树 Kruskal Prim 动态规划 01背包 完全背包 多重背包 最长公共子 ...
最新文章
- TOPSIS算法及代码
- TCP/IP详解--学习笔记(13)-TCP坚持定时器,TCP保活定时器
- 输入URL到浏览器显示页面的过程,搜集各方面资料总结一下
- [渝粤教育] 中国地质大学 计算机系统结构(新) 复习题
- 电工接线模拟仿真软件_VERICUT数控加工仿真软件,最强的数控加工模拟软件,你知道么?...
- 电脑屏幕变小了左右黑_95后关晓彤抗皱、张嘉倪宁静黑科技护肤,明星到底有多爱美容仪?...
- 通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
- 57-Insert Interval
- opencv 滤镜效果php,opencv滤镜-去色滤镜
- 基于MATLAB霍夫变换的复杂情况下车道线检测
- 差分隐私(DP)中隐私预算ε的理解
- 【计算机网络】负载均衡
- sql server与java连接数据库_Java连接数据库(SQL Server)
- 网页中通过js修改img的src属性刷新图片时,图片缓存问题现象表述及问题解决
- (九)JMH的详细使用,以及压测dubbo
- 智能晾衣杆_晾衣绳社交书签–仅CSS的社交书签教程
- plsqldev与sqldeveloper
- 大学机械专业减速器毕业设计、课程设计案例/说明书(论文) CAD图纸 三维图 开题报告 任务书 外文翻译…
- android print service,Mopria Print Service
- vim编辑器的查找字符串功能