Skip to content

Instantly share code, notes, and snippets.

View uta8a's full-sized avatar

Masanori Tani uta8a

View GitHub Profile
@uta8a
uta8a / svg_console_animation
Created February 26, 2019 18:42
svg animation on console(Chrome)
// https://codepen.io/erikwoods/pen/wewPaO
// because of the chrome71->72 change, add change
// I wrote about this here: https://medium.com/@erikwoods/i-made-a-discovery-svg-and-svg-animations-in-the-js-console-are-doable-6c367c95726a
// if you’re new to svg, don’t worry about that biz — just move on to the next line because this one is a really long line
var svgbiz = '<svg xmlns="http://www.w3.org/2000/svg" width="320" height="320" fill="none" stroke="#000" stroke-linecap="round" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="b"><animate id="a" attributeName="d" values="m160,160l0,0 0,0;m130,110l30,-17 30,17;m130,60l30,-17 30,17;m160,20l0,0 0,0" dur="6s" repeatCount="indefinite"/><animate attributeName="stroke-width" values="0;4;4;4;0" dur="6s" repeatCount="indefinite" begin="a.begin"/></path><path id="c"><animate attributeName="d" values="m160,160l0,0 0,0;m130,110l30,-17 30,17;m130,60l30,-17 30,17;m160,20l0,0 0,0" dur="6s" repeatCount="indefinite" begin="a.begin+1s"/><animate attributeName="st
@uta8a
uta8a / make.md
Last active March 3, 2019 04:10
競プロでmake使ってみた

Makeとは

目的: C++を使う競プロで競技中になるべくコマンドラインを触らないようにして楽をするためのMake入門

Make入門

makeとは

  • makeはコンパイル自動化ツールである。(依存関係を含む複雑なコンパイルや、別々の環境用にコンパイル方法を指定したいときに使う)
  • makeはUNIX標準ツールとして用意されている。今回はGNU Makeを扱う。
  • 困ったときは、 https://www.gnu.org/software/make/manual/ を見ればOK。
@uta8a
uta8a / Papermd2md.py
Last active July 2, 2019 07:22
Add code block, end two space to Exported Dropbox Paper markdown
from pathlib import Path
import re
import codecs
def head_space(line):
return re.match(r' {4}(.*)', line)
def head_hyphen(line):
return re.match(r'- (\S.*)', line)

20190703 今日の精進

Rustに慣れてなくて時間を溶かした。あまりできなかった。

mod, trait, impl

今日も少しイメージが進んだ

  • mod: ここを使うと、グローバルに定数を置かないで、名前空間下に定数がおける(とても嬉しい)よく考えたらこれはstd::u64::MAXみたいなやつだな

20190704 今日の精進

広義今日なので

蟻本

  • dpとかで、vig内グローバルに配列を置いてそれを参照することは可能か?→難しい。よく分からない状態で初期化するのはstatic mutになってunsafeへの道。解決策としては、structでpubにしておいて外部からアクセスできるようにする。その状態でstruct初期化を行い、それに応じた関数をselfで呼び出す。もっといいやり方がありそう。
  • あと、配列はプリミティブで所有権とかあまり気にしなくてよいので、Vecより配列を積極的に使っていく。(一度にとるときに向いてそう、要素が動的に追加される場合はVecがいいかも)
mod vig {  
 pub struct A { 

20190705 今日の精進

広義今日が多いな

yukicoder

217:A

  • 共通範囲をとればよい。切り上げに注意。
  • ライブラリ整備した。二分探索は配列に対し行うことが多いが、start..endがでかいと配列をとってしまうとMLEする。素直にlow, highに対し素朴に二分探索を行えばよい。このとき、 closureの参照を渡すとうまく行った。 lowとhighを指定する実装
  • クロージャを引数に取るが参考になった。

20190706 今日の精進

毎日、朝にこのメモを開くことにしてみる

蟻本

 find . -type f -print | xargs grep "" 

20190707 今日の精進

昨日は前半良くて後半失速した。今日は失速しないように頑張る

LinuxとC/C++の基礎

  • Cでプログラムを書く必要があるので、優先的にやっておいて悪くないなと思った。
  • mallocとCコンパイラ自作して、あとは適当なインタプリタでも作るかと思うけど、無理そう。
  • https://gist.github.com/pn11/c973af16d91f92f9874f これを参考にtmuxでcopy pasteできるようにする→無理だった。xselはXServerを必要とするので、Xが起動していないとダメ。prefix+zで拡大、縮小ができるのでそれで選択する。
  • ssh -T git@github.comが通った。ヨシ。
  • 次は3章から。結構がんばったほうだ。やったことは https://github.com/tMasaaa/linux-c-learn にあげてある

蟻本

20190708 今日の精進

続けることが大事。少しでよいので。

AtCoder

  • Eを通した。根から順に、塗れる色の自由度を考えると良い。ウニを考えると、親と孫の色がそれぞれ異なることが分かるので、親→子→孫の順に考えると、孫の塗り方は子に対しk-2とわかる。実装上は、木なのでfrom nowで管理すればOK。MODをとることを忘れずに。
  • Fはオイラーツアーとか知らない知識っぽいので後で解くことにする。

蟻本