Skip to content

Instantly share code, notes, and snippets.

@cocodrips
cocodrips / unionfind.cpp
Last active August 29, 2015 14:07
UnionFind
class UnionFind{
public:
int *par;
int *rank;
UnionFind(int n) {
par = new int[n]; rank = new int[n];
for (int i = 0; i < n; ++i){ par[i] = i; rank[i] = 0;}
}
~UnionFind() { delete par; delete rank; }
@cocodrips
cocodrips / get_links.py
Created September 24, 2014 16:55
PythonでWebページのAタグのリンクを取ってくる
@cocodrips
cocodrips / vector
Last active August 29, 2015 14:06
Vectorについて調べる
#include <iostream>
#include <map>
#include <string>
#include <vector>
#include <cstdio>
#include <math.h>
#include <algorithm>
#include <queue>
#include <tuple>
#include <stack>
@cocodrips
cocodrips / abcd.py
Last active August 29, 2015 14:06
Pythonではじめる競技プログラミング 例題の解答例
import collections
def solve(A, B, C, D):
count = 0
AB = create_pairs(A, B)
CD = create_pairs(C, D)
for k, v in AB.items():
count += CD[-k] * v
return count
@cocodrips
cocodrips / sample.lex
Last active August 29, 2015 14:04
lex入門
%{
enum {
INT = 1,
FLOAT,
ID,
NUM,
REAL,
COMMA,
EQ,
EX,
@cocodrips
cocodrips / stalker.gfc
Created July 28, 2014 12:11
ぼくのかんがえたさいきょうのストーカー
int 3
int 6
mov [207], a
mov [206], b
jgt 8, [207], 0
inc [236]
jlt 9, [236], 3
mov [207], 0
mov [236], 0
int 3
@cocodrips
cocodrips / p2.c
Created July 24, 2014 17:10
ぽいんたぽいんた♪2
#include <stdio.h>
#define N 5
int main(int argc, char const *argv[])
{
int hoge[N][N];
for (int i = 0; i < N; ++i){
for (int j = 0; j < N; ++j){
hoge[i][j] = i * 10 + j;
}
@cocodrips
cocodrips / p.c
Created July 24, 2014 17:06
ぽいんたぽいんた♪
#include <stdio.h>
int main(int argc, char const *argv[])
{
int hoge[5];
for (int i = 0; i < 5; ++i){
hoge[i] = i * 10;
}
printf("%d\n", hoge[1]);
printf("%d\n", 1[hoge]);
@cocodrips
cocodrips / malloc.c
Created July 23, 2014 08:46
mallocの使い方
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char const *argv[])
{
int N = 100;
int* hoge = (int *)malloc(sizeof(int)* N);
for (int i = 0; i < N; ++i)
{
hoge[i] = i;
@cocodrips
cocodrips / SplitStoneGame.py
Created July 22, 2014 06:44
SRM619 Div1 Easy ずいぶん簡単な気がする。
class SplitStoneGame:
def winOrLose(self, number):
number = sorted(list(number))
i = 0
while len(number) > 2:
if number[-1] == 1:
break
selected = number.pop(-1)
A = selected / 2
B = selected - A