こんにちは。3/17のABC091で無事水色になる事ができたので、今までにやってきた事と水色になるために必要だと感じた事をまとめようと思います。 この記事に載っている内容はあくまで個人の意見なので、あくまで参考程度にお願いします。 また、私自身が水色最底辺の人間なので知識が浅く、いくつか間違っている点があるかもしれません。ご容赦ください。 自分語り 塚本@shibh308です。執筆時点でのレートは1215で、今までのレート推移はこんな感じ(下画像参照)です。 競技プログラミングを本格的にやり始めたきっかけは去年の12月ごろ、JOI予選で300点爆死をキメたのがきっかけでした。当時はアルゴリズムについての知識が全くなかったので、200点問題ですら解けるか怪しいようなレベルだったと記憶しています。 当時のコードはこんな感じですね。この時はB問題を時間いっぱい使ってやっと解けたみたいな状態でした
79 Build Systems à la Carte ANDREY MOKHOV, Newcastle University, United Kingdom NEIL MITCHELL, Digital Asset, United Kingdom SIMON PEYTON JONES, Microsoft Research, United Kingdom Build systems are awesome, terrifying ś and unloved. They are used by every developer around the world, but are rarely the object of study. In this paper we offer a systematic, and executable, framework for developing an
はじめに この記事はDenis Shevchenko氏の講演、The Way to Simplicity: How Haskell Simplifies Code Maintenance.を参考に書かせていただきました。 概要 この記事ではHaskellのデザインパターンの1つである幽霊型(Phantom Type)について取り上げたいと思います。 完成したコードはGitHubにもアップロードしているのでそちらも参照してみて下さい。 https://github.com/HirotoShioi/PhantomType 今回はメッセージの暗号及び復号を行うライブラリの開発を行い、開発する上で発生した問題を幽霊型を用いることで如何に解決できるかを紹介します。 初期実装 まずはMessage型を定義しましょう 次にメッセージを暗号化し、それを復号する関数encrypt,decryptを実装しまし
追記:18-10-31 パッケージのインストールエラーに対応する方法を追記 追記:20-11-18 エラー対応に追記 Pythonを独立したExeファイルとして書き出すPyInstallerの記事を以前書きました。 しかし、この方法よりも実行がより高速、より軽量な方法がありました。 embeddable pythonと呼ばれるもので、Windows限定ではありますが、ダウンロードしてきた圧縮状態なら 7 MB、解凍しても 14 MB程度のPython実行環境です。 もちろんこのままではパッケージを使えませんので、そのパッケージ導入方法も合わせて記載します。 公式 3. Windows で Python を使う — Python 3.6.4 ドキュメント ダウンロード Python Releases for Windows | Python.org 上記ページにあるWindows x86-6
この記事では硬い線形項が存在する非線形な常微分方程式を数値的に解く方法を解説し、Rustのライブラリであるeomを使用して乱流の自己再帰的なカスケードのモデルであるGOYシェルモデルを数値的に解いてみます。 硬い微分方程式とは 数学において硬い方程式(英: stiff equation)は、近似解を計算するためのある数値的方法が、刻み幅を極めて小さくしない限り、数値的不安定になる微分方程式である。 硬い方程式 - Wikipedia 特に時間一階の微分の初期値問題 $$ \frac{dx}{dt} = f(x(t), t), x(0) = x_0 $$ において「硬い」とは時間方向に1step進める際の増分を十分小さくとるために差分$\Delta t$を非常に小さくとる必要がある問題の事です。簡単のためにオイラー法で考えてみましょう: $$ x(t+ \Delta t) = x(t) +
仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO
The question of “How do I design my application in Haskell?” comes up a lot. There’s a bunch of perspectives and choices, so it makes sense that it’s difficult to choose just one. Do I use plain monad transformers, mtl, just pass the parameters manually and use IO for everything, the ReaderT design pattern, free monads, freer monads, some other kind of algebraic effect system?! The answer is: why
いきさつ 最近、Atcoder Beginners Selection をなんらかのプログラミング言語で解いてブログに上げる行為が流行っているようなので、Pietで流行に乗っていくことにした。 Pietとは 難解プログラミング言語の一つで、ソースコードがドット絵であることが特徴。慣れてくればソースコードがフローチャートに見えてくるのでその点においては画期的(だと信じてる)。詳しいことは「Piet」で検索してください。 AtcoderではPietのソースコードを提出できないので、手元でPietのc++インタプリタに画像データを埋め込んで提出している。 A はじめてのあっとこーだー 実際に提出したc++コード AのPietコードと説明付きコード A問題からループを使っていく必要がある。文字列の入力は1文字ずつ入力を受け取って、その文字が改行かチェックしながら行う。Pietはプログラミングが何も
March 21, 2018 This post describes how I set up a reproducible development environment in a few seconds on any Linux distribution (and potentially macOS as well). This setup includes simple executables (curl, git) but also programs with custom configurations and dotfiles (vim, tmux). The Nix language is used to describe the system configuration, which you can find on GitHub and follow along. Devel
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く