目录
一、在每个程序的开头优化
将这两行代码加在每个程序文件的开头
#pragma GCC target ("avx")
#pragma GCC optimize (2, 3, "Ofast", "inline", "-ffast-math")
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
二、优化cin输入函数
使用下面的read()函数代替所有的cin语句
inline int read()
{
int s = 0, w = 1;
char ch = getchar();
if (ch == '-')
{
w = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar();
}
return s * w;
}
三、综合程序示例
#pragma GCC target ("avx")
#pragma GCC optimize (2, 3, "Ofast", "inline", "-ffast-math")
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
inline int read()
{
int s = 0, w = 1;
char ch = getchar();
if (ch == '-')
{
w = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar();
}
return s * w;
}
int main()
{
int T = read(), M, N, P;
int s[1010][35];
for (int cases = 1; cases <= T; cases++)
{
M = read();
N = read();
P = read();
int res = 0;
for (int i = 1; i <= M; i++)
{
for (int j = 1; j <= N; j++)
{
s[i][j] = read();
}
}
for (int j = 1; j <= N; j++)
{
int temp = 0;
for (int i = 1; i <= M; i++)
{
if (s[i][j] > s[P][j])
{
temp = max(temp, s[i][j] - s[P][j]);
}
}
res += temp;
}
cout << "Case #" << cases << ": " << res << endl;
}
return 0;
}
四、参考例题
对于下面这个题目,如果不使用上面的优化,将会出现Time Limit Exceeded的错误,而加上优化则不会报错。
原题链接:https://www.acwing.com/problem/content/description/4739/