LoginSignup
7
4

More than 3 years have passed since last update.

ローカルにACL(Atcoder Library)導入

Last updated at Posted at 2020-09-17

はじめに

初投稿です。nagoyanといいます。
競技プログラミング「Atcoder」で公式ライブラリACLが公開されたみたいなので今後のコンテストに備えて自分の環境で設定したことをまとめようと思います。
競プロの環境構築についてはこちらの記事を参考にしています。

Visual Studio Codeで競プロ環境構築(導入編)

環境

  • Windows10 Home 64bit
  • WSL Ubuntu 18.04 LTS
  • gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

ACLの導入

まずはACLをダウンロードします。
https://github.com/atcoder/ac-library

atcoderフォルダをCドライブ直下の/includeに保存します。
WSL上のパスは/mnt/c/includeです。

コマンドの設定

専用のコンパイルオプションを関数化しておきます。
~/.bashrcを以下のように編集します。

~/.bashrc
//末尾に挿入
function acg(){
        command g++ $1 -std=c++14 -I /mnt/c/include -g -fsanitize=undefined,address -D_GLIBCXX_DEBUG
}

必要なのは-std=c++14 -I /mnt/c/includeの部分です。その後ろはおまけのデバッグオプションです。
編集後、source ~/.bashrc をするか、WSLを再起動してください。

使い方

mintの例を示します。ほかのライブラリの使い方はACL同梱のドキュメントを参照してください。

shojin.cpp
#include<bits/stdc++.h>
#include<atcoder/modint>
using namespace std;
using namespace atcoder;
using lli = long long;
using mint = modint1000000007;


int main(void){
    mint a = 123456789;
    mint ans = a*a;
    cout << ans.val() << endl;
    //643499475
    return 0;
}

acg shojin.cppのようにコンパイルして実行します。

終わりに

atcoder提出の際には言語選択で
C++(GCC 9.2.1 with AC Library v1.1)
を選択する必要があるので忘れないよう気を付けてください。
まだ過去問では使えないみたいですが、今後使えるようになると精進もはかどりますね。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4