ACM之路——代码格式,思维规范和未来规划

脑子不想动,那就为以后的ACM生涯做一下规划吧。
现在已经是大二了,明年这个时候就已经退役了,既然选择了自己认为最有挑战性的事去做,那就好好的去打这一年的比赛。

一.代码

1.代码头文件模板
竞赛时检测环境,必要使用#include<bits/stdc++.h>

/**
* From:
* Qingdao Agricultural University
* Created by XiangwangAcmer
* Date : 2019-10-26-08.08.47
* Talk is cheap.Show me your code.
*/
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<queue>
#include<cmath>
#include<cctype>
#include<stack>
#include<map>
#include<set>
#include<string>
#include<cstdlib>
#define ll long long
#define ull unsigned long long
#define ios ios::sync_with_stdio(false);
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
using namespace std;
const ll maxn = 1e6 + 5;
const ll minn = 1e9 + 5;
const ll mod = 1000000007;
const int INF = 0x3f3f3f3f;
const long long LIMIT = 4294967295LL;
ll gcd(ll a, ll b)
{
    if(b == 0)return a;
    return gcd(b, a % b);
}
ll lcm(ll a, ll b)
{
    return a * b / gcd(a, b);
}
vector<int>v[maxn];
int dp[maxn];
vector<int>G[maxn];
bool row[maxn], col[maxn];
bool flag = 0;
queue<int>q;
set<char>s;
set<set<char> >ss;
ll vis1[maxn], vis2[maxn], vis3[maxn];

2.规范格式
一律使用以下括号格式。
(1)易查错(2)简洁明了,条理清晰。

int main()
{
 
    for(int i = 0; i < n; i++)
    {
      
    }
 
    return 0;
}

在以后的软件开发中,使用Java规范语句,节省屏幕空间,速度快。

3.避免使用scanf和cin 等混合语句。
输入量多时使用scanf或ios::sync_with_stdio(false);

4.题目要求复杂,易发生混乱时,使用备注//或///

5.平时注意代码之间格式清晰,不要黏在一块,经常使用空格隔开。记住,空格是键盘上最好按的键

cout << "space" << endl;

6.定义变量时交互性要强,如定义一个 int res;
让人知道这是用来保存结果的。

7.经常使用高逼格 高级的语句,记住,你的代码以后是和工资直接挂钩的。

return a == b;
代替
if(a > b)
return 1;
return 0;

亦或

if(a&1==1)
代替
if(a%2==1)

亦或
ll gcd(ll a, ll b){if(b == 0)return a;return gcd(b, a % b);}
代替
辗转相除

以及
经常使用三目运算符,位运算等

8.开数组时尽量比题目要求的开的大一些(5~50)。
maxn = 1e6 + 5;

9.多组数据时注意memset(),(stl).clear()清空数据。
思维有限,暂且更新以上,有时间再加。

二.思维与习惯

1.读题时少用翻译!
读题能力要在平时训练时培养,既能锻炼英语阅读又能提高读题能力!
2.大佬们一直在说
Think twice Code once
多审几遍题很重要,区域赛时简单的cout << “ 1 1 3 5 7 ” ;因为换行导致罚时。
3.对给出的数据敏感,能否暴力?数组要开多大?数据类型应是什么类型。long long or int
4.放平心态,虽然我知道很难= = 。校赛时心态吃了大亏,老想着快点做出来。最好的办法就是多打比赛,训练思维,速度和心态。

三.未来规划

多去打比赛,CF上的比赛太晚,可以去计蒜客,洛谷等国内知名网站报名比赛,可以跟着信息学竞赛的一起打,也能学到很多,国外的话ATcoder也可以考虑。一些oj网站有时也会举办算法比赛,多留意。

ACM是未来的主线,但并不是唯一。关于本专业,我还准备再多考几个证。
有计算机含金量的证有
下半年
PAT-12月份 报名在10-11月
CSP-12月份 报名在11-12月
软考-11月份 报名在8-9月
这些证基本上是一年可以考二次的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值