来打算法竞赛叭(0)

这是一篇算法竞赛入门方向性指南。

竞赛去哪里训练?

https://codeforces.com/

cf,俄罗斯网站,比赛一般在晚上十点半,主要训练集中在这里。gym里面有历年区域赛真题。

https://atcoder.jp/

atc,日本网站,比赛一般在晚上八点。质量很高,推荐初学者打Atcoder Beginner Contest(简称ABC),进阶者打ABC和Atcoder Regular Contest(简称ARC)

https://ac.nowcoder.com/

牛客竞赛,校赛一般在牛客办。同时牛客也有很多质量很高的算法题,可以用来学算法。有暑假多校训练和寒假算法集训营。B站关注“牛客竞赛”,兰子哥哥万粉女装。

https://www.luogu.com.cn/

洛谷,面向OI,但是算法都一样,该学还得学。难度标签:红-橙-黄-绿-蓝-紫-黑

http://oj.daimayuan.top/

代码源,wls和dls办的,推荐买课一起用。代码源的课只能买整个课包,相对比较贵,质量很高,手头不紧的同学很推荐买。

https://acm.hdu.edu.cn/

杭电oj,太古老了,日常训练非必要不推荐。每年暑假会办中国大学生程序设计超级联赛,非常有意思。

https://www.acwing.com/

acwing,Y总办的,可以买课学学算法。

竞赛怎么训练?

先熟悉一下C++的语法,以后所有的相关题目都不再用C语言写了。不推荐去B站看C++教程,浪费时间。具体怎么C转C++下文会讲。

参考群友经验,总结为:

入门把语法和最简单的算法都过一遍,然后开始打abc和cf。

进阶自己去找点博客学算法,基本上cf碰到不会的算法,就可以找题解看看是什么,然后去补上。在abc[A-F],cf div2[A-D],部分的基本要求全部掌握,这是未来几年训练的目标之一。

学和练是基本统一的,具体的算法树可以参看知乎"walkershi",wls发了算法树和学习历程。

编译器用什么?

vs 2010 教育版?达咩

一般推荐用下面这些:

vs code (配环境很麻烦)

sublime text + [插件] fast olympic coding

clion (确实好用,但是cmake有点麻烦)

dev-c++ (最推荐萌新去用的)

cp editor (专门为竞赛而生的)

同时,自己需要配置本机的编译环境,建议是用C++17版本的GNU。

去哪里找资料?

百度、CSDN、知乎、B站、学长手里、各种算法交流群

肯问的人总归要少走弯路的,也可以通过找资料的过程提升自己的信息检索能力,这个能力十分宝贵。

C语言转C++难吗?

真不难。

首先给出c++代码框架

#include<bits/stdc++.h>//万能头,写这一个就够了,不用写别的头文件
using namespace std;//使用std命名空间
int main()
{
    /*关流,可以先背一下67行*/
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    
    int n;
    cin>>n;//输入一个数
    
    int a,b;
    char c;
    double d;
    cin>>a>>b>>c>>d;//多个一起输入,类型可以混,不需要声明
    
    cout<<"Hello world";//输出字符串
    cout<<a<<b<<c;//输出内容
    
    cout<<"a="<<a<<" "<<"b="<<b<<endl;//混合输出
    //endl 即为 “endline” 表示结束一行
    //一般推荐写"\n"来换行,而不是endl
   
    // 注意:"\n"表示字符串,而'\n'表示单个字符
    return 0;
}

然后说一个暴论:竞赛里的C++基本上就是C语言+STL。

因为除了STL部分,只有上述输入输出与C语言不同。

在这个基础上,就可以愉快的刷题啦~

TAG:none

仅有 1 条评论

  1. 表评论7270

    知名7270 March 27th, 2023 at 08:34 am回复

发表新评论