ブログカスタマイズ備忘録

ブログの a要素をデコれるようにした。具体的には <span class="deco"><a class="non deco" href="http://hoge.com/">ジャンプするよ</a></span> のように class で指定する。a要素の class のnonは、これがあるとオプションの JavaScript による a要素に対する強制的な改変をゆるさない。その JavaScript コードは var ndlist = documen…

はてなブログの caption 同等を手動で

手製でキャプションを付けたい場合、はてなブログと同じスタイルで422469633339230487870672560234148278257985284025068109801028013731430858437013070722412359963914151108844608753890960360764019471164359602927198331259873732625355580260699158591…

Ruby の net/http のコードを少し読む

require 'net/http' uri = URI.parse("http:example/image.jpg") response = Net::HTTP.get_response(uri) response.code response.body これで画像がダウンロードできるわけだが、ライブラリを探る。

HTML の pre を使って長い文字列を右端で折り返す

42246963333923048787067256023414827825798528402506810980102801373143085843701307072241235996391415110884460875389096036076401947116435960292719833125987373262535558026069915859152294924539049987222567953169828744824729922639018337167780606…

Linux Mint 20.3 に ASDF で Elixir をインストールする

簡単に apt で入れようと思ったのですが、なぜかうまくいかなかったので、せっかくなので ASDF を使って入れてみました。ASDF はバージョン管理システムで、複数のバージョンを管理できます。 asdf-vm.com ここを参考にしました。 www.pluralsight.com 作業 …

AOJ(問題集)26

0272: The Lonely Girl's Lie むずかしそうだったが、よく考えたら解けてうれしい。 while true n = gets.to_i break if n.zero? as = gets.split.map(&:to_i).sort bs = gets.split.map(&:to_i).sort try = ->{ (1...n).each do |k| l = (k / 2r).ceil min1…

AOJ(問題集)25

0256: Points for a Perfect Scorer puts Array.new(10) { gets.to_i }.sum 0257: Railway Ticket b = gets.split.join.to_i(2) table = {4=>false, 2=>false, 6=>true, 1=>true, 0=>false} puts table[b] ? "Open" : "Close" 0258: Kitchen Garden 簡単そう…

課題: フィボナッチ数を出力せよ

qiita.com 素朴にやる b, c = ARGV.map(&:to_i) tm = Time.now nxt = 1 + c b1 = 1 s, t = 0, 1 (0..).each do |n| break if Time.now - tm > 1.0 if nxt == n str = s.to_s result = "f(#{n})=" result << if (l = str.length) <= 5 str else str[0, 2] + "…

アルゴリズム・パズル(Ruby)

問題 ひとつのテーブルに配置できる最大の人数が10人のとき、1人だけのテーブルができないように100人を配置したい。そのパターン数を求めよ。 なお、分け方のパターンだけ求め、誰がどこに座るかは考えないものとする。例えば6人の場合、[2, 2, 2], [2, 4],…

AOJ(問題集)24

0230 Ninja Climbing WA。いいと思うんだけれどなあ。 KABE = 0 HASHIGO = 1 SUBERU = 2 loop do n = gets.to_i break if n.zero? bils = Array.new(2) { gets.split.map(&:to_i) } bil_ck_init = Array.new(n) #trueだと到達済み #aがいま居るビル、bが反対…

REAPERメモ

https://www.reaper.fm/download.php Downloadhttps://github.com/Phroneris/ReaperJPN-Phroneris/wiki 日本語化。音が出ない:Actions→Options: Preferences→Audio SystemをPluseAudioに サイト さっくさくREAPER入門編 ReaperでのMIDIの打ち込み方 - DTMハ…

Ruby でモナドの一例

m-hiyama.hatenablog.comこれを Ruby でやってみる。 countup_monad.rb class Countup def initialize(value, countup = 0) @value = value @countup = countup end attr_reader :value, :countup def fmap c = yield @value if c.instance_of?(Countup) Cou…

Haskell の「関数型問題解決法」を Ruby で

すごいHaskellたのしく学ぼう!作者:Miran Lipovača発売日: 2012/05/23メディア: 単行本(ソフトカバー)第10章。 ほぼ忠実な移植。 heathrow_to_London = [ [50, 10, 30], [5, 90, 20], [40, 2, 25], [10, 8, 0] ] make_section = ->(ary) {%i(A B C).zip(ar…

ABC184

https://atcoder.jp/contests/abc184 A: Determinant a, b, c, d = readlines.join.split.map(&:to_i) puts a * d - b * c B: Quizzes n, x = gets.split.map(&:to_i) str = gets.chomp str.each_char do |s| case s when "o" x += 1 else x -= 1 if x.nonze…

どう書く

オフラインリアルタイムどう書くの 会場や問題のリスト - 鍋あり谷あり ポーカー https://qiita.com/Nabetani/items/cbc3af152ee3f50a822f Suit = %W(S H D C) Rank = %W(2 3 4 5 6 7 8 9 10 J Q K A) def cards Suit.flat_map {|s| Rank.map {|r| s + r} }.…

ABC179

https://atcoder.jp/contests/abc179 A: Plural Form str = gets.chomp puts str + (str[-1] == "s" ? "es" : "s") B: Go to Jail n = gets.to_i dice = n.times.map {gets.split.map(&:to_i)} f = dice.each_cons(3).any? {|d1, d2, d3| d1[0] == d1[1] && …

ABC181

https://atcoder.jp/contests/abc181 A: Heavy Rotation n = gets.to_i puts n.even? ? "White" : "Black" B: Trapezoid Sum n = gets.to_i abs = n.times.map {gets.split.map(&:to_i)} puts abs.map {|a, b| (b - a + 1) * (a + b) / 2}.sum C: Collineari…

ABC180

https://atcoder.jp/contests/abc180 A: box n, a, b = gets.split.map(&:to_i) puts n - a + b B: Various distances gets xs = gets.split.map(&:to_i) puts xs.map {_1.abs}.sum puts Math.sqrt(xs.map {_1 * _1}.sum) puts xs.map {_1.abs}.max C: Cream…

ABC175

https://atcoder.jp/contests/abc175 過去問。 A: Rainy Season puts gets.chomp.each_char.chunk {|e| e == "R"} .map {|b, ary| b ? ary.size : 0}.max B: Making Triangle n = gets.to_i ls = gets.split.map(&:to_i) puts ls.combination(3).count {|li,…

ABC174

https://atcoder.jp/contests/abc174 過去問。 A: Air Conditioner x = gets.to_i puts (x >= 30) ? "Yes" : "No" B: Distance n, d = gets.split.map(&:to_i) coordinates = n.times.map {gets.split.map(&:to_i)} puts coordinates.count {|x, y| x * x + …

ABC167

https://atcoder.jp/contests/abc167 過去問。 A: Registration s = gets.chomp t = gets.chomp puts (t[0..-2] == s) ? "Yes" : "No" B: Easy Linear Programming a, b, c, k = gets.split.map(&:to_i) score = 0 if a <= k score += a k -= a if b <= k k …

Rubyで「分野別 初中級者が解くべき過去問精選100問」を解く

レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】 - Qiita 全探索:全列挙 ITP1_7_B - How Many Ways? http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_B&lang=ja loop do n, x = gets.split.…

ABC166

https://atcoder.jp/contests/abc166 A: A?C puts (gets.chomp == "ABC") ? "ARC" : "ABC" B: Trick or Treat n, k = gets.split.map(&:to_i) sunuke = Array.new(n, 0) k.times do gets gets.split.each {|a| sunuke[a.to_i - 1] += 1} end puts sunuke.cou…

Ubuntu でロジクールの Bluetoothマウス M557 を使う

ペアリングしても、再起動すると自動で再接続しなくなってしまう。解決策: blueman をインストールする。 $ sudo apt install bluemanUbuntu 19.10 と18.04 LTS で確認済。 ※参考 https://forums.ubuntulinux.jp/viewtopic.php?id=17539

Linux でディスクアクセス速度を測定する

SSD のアクセス速度を測ってみた。メイン機の VAIO の外付け。下は VAIO 内臓の HDD で、これと比較する。 $ sudo hdparm -tT /dev/sdb /dev/sdb: Timing cached reads: 13626 MB in 1.99 seconds = 6839.35 MB/sec Timing buffered disk reads: 1182 MB in …

AGC033A

A - Darker and Darker TLE のコード H, W = gets.split.map(&:to_i) $field = H.times.map {gets.chomp} Area = W * H class Step @@count = 0 @@max_step = 0 def initialize(x, y, step = 0) @x = x @y = y @step = step @@count += 1 @@max_step = step …

ABC165

https://atcoder.jp/contests/abc165 30分くらい時間が経ってから始めた。A, B, C 3完。 A: We Love Golf gets.to_i a, b = gets.split.map(&:to_i) if (a % k).zero? puts "OK" else i = (a / k + 1) * k puts i <= b ? "OK" : "NG" end B: 1% x = gets.to_…

Ubuntu の Google Chrome でカラー絵文字を表示させる

Ubuntu は 18.04 LTS から「Noto Color Emoji」がインストールされている筈。 $ sudo apt install fonts-noto-color-emoji パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 fonts-noto-colo…

ABC162

https://atcoder.jp/contests/abc162 過去問。 A: Lucky 7 n = gets.chomp puts n.include?("7") ? "Yes" : "No" B: FizzBuzz Sum n = gets.to_i result = 0 (1..n).each do |i| next if i % 3 == 0 || i % 5 == 0 result += i end puts result C: Sum of gc…

ABC161

https://atcoder.jp/contests/abc161 過去問。 A: ABC Swap a, b, c = gets.split.map(&:to_i) a, b = b, a a, c = c, a puts "#{a} #{b} #{c}" B: Popular Vote n, m = gets.split.map(&:to_i) votes = gets.split.map(&:to_i) limit = Rational(votes.inje…