模板 输入输出优化

inline int read() {
    char ch, c=‘ ‘;
    int res;
    while (ch = getchar(), ch < ‘0‘ || ch>‘9‘) c = ch;
    res = ch - 48;
    while (ch = getchar(), ch >= ‘0‘ && ch <= ‘9‘) res = (res << 3) + (res << 1) + ch - 48;
    return c == ‘-‘ ? -res : res;
}

void write(int x) {
    if (x < 0)     putchar(‘-‘), x = -x;
    if (x > 9) write(x / 10);
    putchar(x % 10 + ‘0‘);
    return;
}
inline int read() {
    char ch, c;
    int res;
    while (ch = getchar(), ch < ‘0‘ || ch>‘9‘) c = ch;
    res = ch - 48;
    while (ch = getchar(), ch >= ‘0‘ && ch <= ‘9‘) res = (res << 3) + (res << 1) + ch - 48;
    return c == ‘-‘ ? -res : res;
}

void write(int x) {
    if (x < 0)     putchar(‘-‘), x = -x;
    if (x > 9) write(x / 10);
    putchar(x % 10 + ‘0‘);
    return;
}

原文地址:https://www.cnblogs.com/hznumqf/p/12298936.html

时间: 2024-10-04 03:07:00

模板 输入输出优化的相关文章

输入输出优化(黑科技)

正常版,输入输出优化比较正常,无论是scanf/printf/cin/cout都可以混用 用法:int x=gi; pint(x); 类似这样. #define gc getchar() int g_i() { int tmp=0; bool fu=0; char s; while(s=gc,s!='-'&&(s<'0'||s>'9')) ; if(s=='-') fu=1; else tmp=s-'0'; while(s=gc,s>='0'&&s<

虚拟机之模板机优化与克隆

虚拟机之模板机优化 模板机优化之hosts配置文件优化 \cp /etc/hosts{,.bak} cat >/etc/hosts<<EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.5 lb01 172.16.1.6

【模板】输入输出优化

输入 inline ll read(){ ll f=1,sum=0; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){sum=(sum<<1)+(sum<<3)+(ch^48);ch=getchar();} return f*sum; } 输出 inline void write(int x){ if(x<0) putchar('-'),x=-x;

ACM_java输入输出优化

今天的网络赛居然卡java的Scanner ...sad 欺负我是java新手啊  赛后看了大牛的写法,原来是输入输出有优化.......要醉了. StreamTokenizer和PrintWriter 但是用Scanner输入就像cin那样比较慢,当数据量一大会超时的,此时不得不用StreamTokenizer   和  PrintWriter import java.io.*; public class Main { public static void main(String[] args

一维前缀和 - 包含输入输出优化

2017-08-27 09:30:59 writer:pprp 很基础的一个知识点,想要求区间内的和,可以考虑用两个前n项和 相减 输入输出部分,采用自己写的一个函数,用getchar() putchar()来读取和输出结果 用的时候应该注意具体的具体的类型应该根据题目选定 代码如下: /* @theme:一维前缀和 @writer:pprp @declare:a[i] = s[i] - s[i-1] @date:2017/8/27 */ #include <bits/stdc++.h> us

二维前缀和 - 算法学习 - 输入输出优化

2017-08-27 11:11:38 writer:pprp 二维前缀和主要用到了容斥定理,具体实现还是有点复杂的 详见代码: /* @theme:二维前缀和 @writer:pprp @declare:用到容斥定理 @date:2017/8/27 */ #include <bits/stdc++.h> using namespace std; const int maxn = 1010; int n, m, a[maxn][maxn]; //输入优化 inline int read() {

SPFA模板 Bellmanford优化版

SPFA模板: queue<int>Q; bool inq[510]; int dis[510],sumv[510]; int n,v[510*3],__next[510*3],e,w[510*3],first[510],cnts[510]; void AddEdge(int U,int V,int W) { v[++e]=V; w[e]=W; __next[e]=first[U]; first[U]=e; } bool spfa(const int &s) { memset(dis,

DP解LCS问题模板及其优化

LCS--Longest Common Subsequence,即最长公共子序列,一般使用DP来解. 常规方法: dp[i][j]表示字符串s1前i个字符组成的字符串与s2前j个字符组成的字符串的LCS的长度,则当s1[i-1]==s2[j-1]时,dp[i][j]=dp[i-1][j-1],否则dp[i][j]=max(dp[i-1][j],dp[i][j-1]). 最终的dp[len1][len2]即最终答案.代码如下: 1 #include<cstdio> 2 #include<c

1540: 第k大数 两个数组元素相乘后的第k大( 二分答案 + 输入输出优化 )

1540: 第k大数 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 104 Solved: 6 [Submit][Status][Web Board] Description 有两个序列a,b,它们的长度分别为n和m,那么将两个序列中的元素对应相乘后得到的n*m个元素从大到小排列后的第k个元素是什么? Input 输入的第一行为一个正整数T (T<=10),代表一共有T组测试数据. 每组测试数据的第一行有三个正整数n,m和k(1<=n, m&l