Skip to content

Instantly share code, notes, and snippets.

View knuu's full-sized avatar

knuu knuu

View GitHub Profile
@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):
@knuu
knuu / abc010_d.cpp
Created October 15, 2016 16:22
AtCoder Beginner Contest 010 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)
#define INF 1<<29
template <typename T>
struct MaxFlow {
@knuu
knuu / aoj2328.py
Created October 15, 2016 15:08
AOJ2328 Mobile Network
import collections
import sys
if sys.version[0] == '2':
input, range = raw_input, xrange
class MyList(list):
def __init__(self, x=[]):
list.__init__(self, x)