2017-01-01から1年間の記事一覧

AtCoder など競プロで学んだこと

これはCompetitive Programming Advent Calendar 2017の 17 日目の記事です。 AtCoder のレートは緑です。最近ようやく水色に届きました。そんな筆者ですが、AtCoder など競プロで学んだ内容をいくつか紹介したいと思います。 long に収まらない整数の余りを…

「カウント・スリー」問題を解いてみました

桁 DP + 二分探索で解きました。 リンク togetter.com

VSCode で Markdown のみ行末の空白を削除しない

settings.json で以下のように設定します。 すると、Markdown のみ行末の空白が削除されなくなります。 "files.trimTrailingWhitespace": true, "[markdown]": { "files.trimTrailingWhitespace": false } 参考 https://github.com/editorconfig/editorconfi…

再帰に対する考え方を教えてくれた練習問題

確か『LISP I』だったと思うけど、次のような練習問題があった。 2 つの引数をとり、その 2 つの値の合計を返す関数を書け。ただし + は使わずに 1+ と 1- を使って。 なお、2 つの引数は正の整数と仮定してよい。 答えをみたら「なあんだ」と思えるが、その…

数値文字参照を文字に変換するPythonスクリプト

import re def conv(s): cs = [] for e in re.findall("&#x([0-9a-fA-F]+);", s): cs.append(chr(int(e, 16))) return "".join(cs) def main(): s = "ファイルまたはアセンブリ" p…

自然数から平方数を取り除いた数列の N 番目を求める

A000037 - OEIS の式を使って求めます。 ; https://oeis.org/A000037 (define (f n) (+ n (exact-integer-sqrt (+ n (exact-integer-sqrt n))))) 実行結果です。 % gosh -l ./not-square-numbers.scm gosh> (map f (iota 100 1)) (2 3 5 6 7 8 10 11 12 13 1…

バットとボールの問題を SageMath で解く

問題:バットとボールはセットで1ドル10セントします。バットはボールより1ドル高いです。ボールはいくらですか? http://karapaia.com/archives/52047106.html $ sage ┌────────────────────────────────────────────────────────────────────┐ │ SageMath …