タグ

ブックマーク / toslunar.hatenablog.com (9)

  • 脱法ドラッグ新呼称に思うこと - tosの日記

    まとめるなら,歴史的に「ドラッグ」の意味する危険性と,レトリックとして「脱法」が暗に示す危険性を諦め,直接的なレッテル貼りに置き換えられたという話。 呼称問題のおこりは,「脱法ドラッグ」と言っても有害さを効果的に伝えられていないことらしい。違法になってくれない以上,取り締まる警察としては次善の手として使わないように呼びかける,というのは分かります。その「脱法」という表現でヤバいと分からない馬鹿につける薬がない,いや,売りつけるヤクがあるのが問題だと。もともとは,密売人が「合法ドラッグ」と宣伝することに対抗するために,「脱法」の名で周知させようとし,「法律が許していても社会とか道徳とかが許すか」をイメージ戦略で争っていたはずなのですが。 さて,新呼称は「危険ドラッグ」だそうです。これを見た私の感想は,日語としておかしいでしょというか,片腹が腹痛な感じです*1。現在,「ドラッグ」と言えば,薬

    脱法ドラッグ新呼称に思うこと - tosの日記
    qnighy
    qnighy 2014/07/23
  • 遅延評価を活用して線形時間でGoogle Code Jam 2014 Round 1AのB問題を解く - tosの日記

    公式の解説で,「遅延評価を使ってもできる」と書いてくれなかったので。 注意:この記事は,Google Code Jam 2014 Round 1AのB問題 Full Binary Tree についてのネタバレを含みます。 この問題は木DPをする典型的な問題であり,公式の解説にもあるように, 木を根付き木にした後, 頂点でのスコアを,子のスコアのうち大きい方から2つを用いて計算する ことで解けます。何を根として選ぶかをすべて試すとO(N2)解法となり,すべての根の可能性について同時にDPをする*1とO(N)解法になります。だから,根の選び方によって隣接頂点のうち「親以外が子となる」ので,隣接頂点のスコアのうち大きい方から3つを保存するような構造を持つ――待ってください。 もちろん,降順ソートされたスコアのすべてを計算すると,O(N2)時間かかってしまいます。しかし,先頭3つを結果的に計算でき

    遅延評価を活用して線形時間でGoogle Code Jam 2014 Round 1AのB問題を解く - tosの日記
    qnighy
    qnighy 2014/05/06
  • 76573 - tosの日記

    JMO夏季セミナーで,DOMEMO(以前書いた紹介記事)の牌を利用した新しい遊び方が考え出されました. プレイ人数は6-8人*1がよさそうでした. ゲーム内容 3枚麻雀. 役は 765(1点)*2 573(2点)*3 314(4点)*4 271(4点)*5 の4種類で,ツモの場合は全員からその点数を,ロンの場合は振った人から3倍の点数を受け取ります. リーチや天和などは存在せず,流局*6はすべての牌がなくなった時です. フリテンがあり,自分の切った牌や同順にすでに切られた牌で上がることはできません*7. 雑感 適当に決まったはずの役なのに,素晴らしいゲームバランスだと感じます. ゲームをしているうちに,1から7のすべての数字に個性を見出せるでしょう. DOMEMO牌なので,nはn枚存在することに注意. ネタバレを含むので,ある程度遊ぶまで以下は読まないほうが良いかもしれません. 基戦術

    76573 - tosの日記
    qnighy
    qnighy 2010/08/30
  • Haskell で動的計画法を書くための3つの方針 - tosの日記

    アルゴリズムの代表っぽい存在とも言えるDPですが,Haskellは参照透明なので書きにくいと思われがちです. しかし,実際は,C言語やSTLなしのC++より遥かに簡単に動的計画法が書けます. リストを用いる 最初に知るであろう方法. フィボナッチ数列の第100項だと, let f = 0 : 1 : zipWith (+) a (tail a) in f!!100 です. 「ずらして足したものを後ろにつなげる」と言えばいいのでしょうか. これについては,他でよく解説されているので詳しくは説明しません. 利点: リストの知識のみでよい. 無限リストの恩恵が受けられる. importが不要. 欠点: 使えるケースが限られる. 書くときに,混乱することも(上の例だと,と考える必要がある. ランダムアクセスができないので,場合によってはO(n)倍の時間がかかる*1. 添字を自由に用いることができな

    Haskell で動的計画法を書くための3つの方針 - tosの日記
  • 特定の人々が鞄をよくぶつけるという説 - tosの日記

    について先日から暇つぶしに考察していました. 1. 鞄が大きい 大きいからぶつかりやすいという単純な理屈.しかし,スーツケースなどよりましと思われます. あるいはぶつかったときの衝撃が大きくて記憶に残りやすいから. 2. 社会的に迫害されている 記憶に残りやすい理由にもっとなりそうなのはこっち. ぶつかった相手が格好良かったら文句をいわないという原理. とはいえ,某即売会会場でも鞄をぶつけないよう注意がされていることを考えると,理由が足りません.そこで考えて出てきたのが次. 3. 体がぶつからないようにしている 他人とすれ違うときに,鞄の側を相手に向けることが多いのではないかと思いました. 知らない人と接触することを恐れる一方,鞄ならあまり問題視しないという発想をしてそうです.私を含め.

    特定の人々が鞄をよくぶつけるという説 - tosの日記
    qnighy
    qnighy 2009/11/23
  • Haskell用vimファイル - tosの日記

    Haskell用vimファイルあれこれをもらってきて使っているうちに,が空気を読めるといいなと考え ftplugin/haskell.vim を改造しました. Vimに馴染みがない人のための手抜き説明: 挿入モード中に, Ctrl-F 前後を見て再インデント Ctrl-T インデントを1段深く Ctrl-D インデントを1段浅く Haskellに馴染みがない人のための手抜き説明: Haskellは文法にインデントブロックを採用しています. インデントの深さが同じ行ごとにまとまりとみなすのですが, たとえば, where c n r = product [n-r+1 .. n] `div` fact r fact n = product [1 .. n] のような位置揃えが要求されるため,固定幅のインデント増減だけでは対応しにくいことになります. それから数ヶ月,未だにvim scriptが

    Haskell用vimファイル - tosの日記
    qnighy
    qnighy 2009/05/06
    kanaさんはやすぎ
  • 第8回日本情報オリンピック 予選 - tosの日記

    今年の情報オリンピック予選問題 http://www.ioi-jp.org/joi/2008/2009-yo-prob_and_sol/ をHaskellで解いてみました. 簡潔に書けて楽しいです. 1 module Main where import IO main = do input <- getContents let i = map (map read . words) $ lines input putStr . unlines . map (unwords . map show . solve) $ i solve a = time $ untime (drop 3 a) - untime (take 3 a) where time n = [n `div` 3600, n `div` 60 `mod` 60, n `mod` 60] untime [h,m,s] = h*3

    第8回日本情報オリンピック 予選 - tosの日記
    qnighy
    qnighy 2008/12/31
  • この前考案されたダイスゲーム - tosの日記

    すでに誰かに思いつかれているはずですが,あまりに単純すぎて広まらないのももったいないと思い,ちょっと書いてみます. 名前がまだないのでここで募集します. ルール: 各自ダイスを6個ずつもって開始する. 手持ちのダイスをすべて振り, 出なかった目があれば,ダイスを1つ追加する. 6種類すべての目が出たら,ダイスの個数はそのまま. 適当な終了条件(例:先に一定個数のダイスを集める,または,用意されたダイスがなくなってしまった)でダイスが多い人が勝ち. 一見つまらないルールですが,ダイスにはたくさん振ればたくさん振るだけ楽しくなる,という不思議な効果があり, 20個ぐらいのダイスを両手からあふれさせそうになりながら振るというあたりがこのゲームのもっとも面白いところなのではないかと思います. ちなみに,当初は1個から始め,ピンゾロが出た場合ダイスが増えるルールでした. これは,さすがに確率が低すぎ

    この前考案されたダイスゲーム - tosの日記
    qnighy
    qnighy 2008/12/20
  • EPOCH@まつやま 2008 - tosの日記

    自重せず最優秀を取ってきました。 来年からは参加対象制限にかかるっぽいので、有終の美とかそんなのです。 来年参加する人へのヒント: 会場でも言っていましたが、 第一ステージは分担して解ける実力を持って、完全に分業で臨む。 第二ステージは一問も解かれていない間に準備を終わらせる。 などはそれなりに有力な戦略だと思います。 EPOCH@まつやま 2009 に参加できる人は、頑張ってくださいねー。 さてさて、やっぱり楽しいですね、このビンゴとか4色オセロとかの形式は。 ビンゴで3列同時完成させるための真ん中で、原因不明の不正解を出したときとか。 第一ステージのボーダーを2列完成できるかどうかぐらいにすると、 最も面白くなる気がするけど、難易度調整難しそうだし。 難易度をばらけさせて、全問題を見たのちに、取れそうな列を選択、 というのをしなければならないようにすると、それはそれでありかもしれなかっ

    EPOCH@まつやま 2008 - tosの日記
    qnighy
    qnighy 2008/11/26
  • 1