Skip to content

Instantly share code, notes, and snippets.

@knuu
knuu / rank_cf2017_qb
Created October 8, 2017 16:39
CODE FESTIVAL 2017 予選B
# 予選Aで日本人60位までが通過したという情報を元にしたランキング
# 日本人順位(全体順位): ハンドルネーム
# 通過済みの日本人順位は--としている
--(4): yutaka1999
--(22): tozangezan
--(23): mcfx
1(24): DEGwer
2(32): yokozuna57
3(33): sugim48
--(34): kmjp
@knuu
knuu / arc075_c.nim
Created August 3, 2017 14:03
AtCoder Regular Contest 075 E. Meaningful Mean
import sequtils, strutils, algorithm
type
FenwickTree[T] = object
dat: seq[T]
size: int
initial: T
proc initFenwickTree[T](size: int, initial: T): FenwickTree[T] =
assert(size > 0)
@knuu
knuu / cft1_b.cpp
Created December 11, 2016 13:12
CODE FESTIVAL 2016 Elimination Tournament Round 1 B. 数字列をカンマで分ける問題
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,s,x) for(int i=s;i<(int)(x);i++)
#define REP(i,x) FOR(i,0,x)
struct SuffixArray {
int N, k;
string S;
vector<int> sa, rank, tmp;
@knuu
knuu / abc009_d_2.py
Last active November 18, 2016 19:17
AtCoder Beginner Contest 009 D. 漸化式 ver.2
import sys
if sys.version[0] == '2':
range, input = xrange, raw_input
def linear_recursion_solver(a, x, k, e0, e1):
# https://github.com/spaghetti-source/algorithm
def rec(k):
c = [e0] * n
if k < n:
@knuu
knuu / abc009_d.py
Created November 18, 2016 19:10
AtCoder Beginner Contest 009 D. 漸化式 ver.1
from copy import deepcopy
import sys
if sys.version[0] == '2':
range, input = xrange, raw_input
class Matrix:
ZERO = 0
ONE = (1 << 32) - 1
@knuu
knuu / abc004_d.cpp
Created November 1, 2016 09:13
AtCoder Beginner Contest 004 D. マーブル
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,s,x) for(int i=s;i<(int)(x);i++)
#define REP(i,x) FOR(i,0,x)
const int INF = 1e7;
template <typename T>
struct MinCostFlow {
@knuu
knuu / ddpc2016_c.cpp
Created October 28, 2016 07:38
DISCO presents ディスカバリーチャンネル プログラミングコンテスト2016 予選 C. アメージングな文字列は、きみが作る!
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,s,x) for(int i=s;i<(int)(x);i++)
#define REP(i,x) FOR(i,0,x)
struct SuffixArray {
int N, k;
string S;
vector<int> sa, rank, tmp;
@knuu
knuu / kupc2016_e.py
Created October 18, 2016 16:59
京都大学プログラミングコンテスト 2016 E. 柵
import sys
import collections
if sys.version[0] == '2':
range, input = xrange, raw_input
class MaxFlow:
"""Dinic Algorithm: find max-flow
complexity: O(EV^2)
@knuu
knuu / tenka1_2015_qa_c.cpp
Created October 17, 2016 10:03
天下一プログラマーコンテスト2015予選A C. 天下一美術館
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,s,x) for(int i=s;i<(int)(x);i++)
#define REP(i,x) FOR(i,0,x)
#define INF 1<<29
template <typename T>
struct MaxFlow {
@knuu
knuu / aoj2594.py
Created October 16, 2016 17:44
AOJ2594 Reverse Roads
import collections
class MaxFlow:
"""Dinic Algorithm: find max-flow
complexity: O(EV^2)
used in GRL6A(AOJ)
"""
class Edge:
def __init__(self, to, cap, rev):