Skip to content

Instantly share code, notes, and snippets.

View tjkendev's full-sized avatar
🛌
oyasumi

yaketake08 tjkendev

🛌
oyasumi
View GitHub Profile
@tjkendev
tjkendev / google_play_purchase_analysis.ipynb
Last active August 19, 2018 15:49
Google Playの課金データを取得
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@tjkendev
tjkendev / prufer_to_tree.py
Last active May 6, 2018 09:27
Prüfer sequence
def prufer_to_tree(A):
n = len(A)
G = [[] for i in range(n+2)]
deg = [1]*(n+2)
for a in A:
deg[a] += 1
E = []
for a in A:
for i in range(n+2):
@tjkendev
tjkendev / unaccepted_in_python.py
Created April 30, 2018 06:39
ACした問題の中でPythonでACしていない問題を列挙
# AtCoder: ACした問題の中でPythonでACしていない問題を列挙
# "https://kenkoooo.com/atcoder/atcoder-api/results?user=(ユーザー名)"のデータを"results.txt"として保存して利用
import json, re
with open('results.txt', 'r') as f:
txt = f.read()
data = json.loads(txt)
ps = {}
qs = {}
@tjkendev
tjkendev / metaprogramming-ruby.md
Last active September 30, 2017 19:20
メタプログラミング
  • オープンクラス
class String
  def hello
    'hello'
  end
end
"a".hello # => 'hello'
class D
 def a; end
@tjkendev
tjkendev / class.rb
Created July 22, 2017 09:10
Rubyの各superclassのインスタンスメソッドチェック
print "> "
obj = eval(gets) # '1'とか
puts "#{obj} #{obj.class}"
puts
klass = obj.class
while !klass.nil?
# インスタンスメソッド
puts "== #{klass} #{klass.instance_methods(false)}"
@tjkendev
tjkendev / GRL_5_A(bfs).py
Last active July 15, 2017 10:54
AOJ: Library of Graph Algorithms
# AC (http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=2434976#1)
# BFS二回で求める解法: 計算量 O(N)
from collections import deque
n = input()
G = [[] for i in xrange(n)]
for i in xrange(n-1):
s, t, w = map(int, raw_input().split())
G[s].append((t, w))
G[t].append((s, w))
@tjkendev
tjkendev / domestic-2017.sh
Created July 3, 2017 15:18
竸プロのinとoutのdiffチェック
#!/bin/bash
# ICPCの回答チェック (diffを取る)
# usage: sh domestic-2017.sh "python a.py" A
name="domestic-2017"
in_ext="in"
out_ext="diff"
# コードの実行コマンド: 例) "python a.py"
@tjkendev
tjkendev / A.cpp
Created July 2, 2017 09:37
ICPC国内予選模擬 - team: IQ1
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)
#define fi first
#define se second
#define pb push_back
#define mp make_pair
using vi = vector<int>;
@tjkendev
tjkendev / golf-perl.md
Last active February 3, 2023 01:29
ショートコーディングのためのtipsまとめ
  • 基本
3**3  # => 9
3x3   # => "333"
"a"x3 # => "aaa"
1."a" # => "1a"

# 文字列や数値は随時キャストされる
10 x 3 * 5    # => 505050
@tjkendev
tjkendev / fmt-param.py
Last active January 3, 2017 16:50
FMT (Fast Modulo Transform, 高速剰余変換)
# encoding: utf-8
# うまくFMTを計算するためのパラメタを決定する
# nを決めて、うまいPとωを決定する
# Pは素数であること、ωのn回の積で循環すること (ω^n ≡ 1 (mod P))が条件
n = 2**18
from math import sqrt
for x in xrange(1000, 2000):
P = x*n + 1