/ 最近 .rdf 追記 設定 本棚

log[2019-11-20]



20191120() 本日の新発見(ATOKで変換できなくて知った)「総花()ソウバナ(テキ)と読む文盲(モンモウ)出色(ッショク)縦中横(タテチュウヨコ)以来の驚き類としては縦中横と同じなのかな


20191118()

最終更: 2020-05-06T23:27+0900

[AtCoder] AtCoder Beginner Contest 145D問題 Knight

階乗が法外な大きさになるので余りを答える問題割り算を含む式の余りが求められなかったもちろん階乗を計算しきってから余りを求めるというのは実行制限に引っかかるので無理

 #AtCoder から見つけたヒ

モジーラ逆数っていうのがあるんですねこれはすごい pow(down,mod-2,mod) 昨日のD問題逆元の計算どうやればいいのかわからなくて1時間くらい経ってしまった

ぼのろんさんのツイ22:42 - 20191116

AtcoderABC145D問題しっかり理解して頭の中整理してすっきりかけた気がするPython3す。 pic.twitter.com/Dcs3IfoZ95

ぼのろんさんのツイ22:58 - 20191116

mod って演習込みでイチから習った記憶がない「割った余りですよ以上の理解がないーワドすら知らなくてググりようがない

 ーワ

Ruby には Python と違冪剰余 - Wikipediaが求められる関数が用意されていないみたいなので(※補足訂正)拡張ユークリド互除法を使う方の求め方を Wikipedia(ja) からコピペ実装した>https://atcoder.jp/contests/abc145/submissions/8508807明日には理解できないとして「モジュラ逆数というものの存在くらいは覚えておきたい

 現在 Ruby で最速の提出(55 ms)>提出 #8501110 - AtCoder Beginner Contest 145

速いからには変わったことをしてるderive_inverse メソドが理解できない法のビトを利用しているみたい理解できないのは本質を掴んでいないから演繹が働かないからだろう冪剰余#さらなる最適化 - Wikipediaを実装してるのだろうか雰囲気的に

pow メソドを使って実装された derive_inverse がコメトアトして残されている

 Ruby で冪乗余

試したら Ruby 2.5 には冪乗余が求められる Integer#pow メソドが用意されていた2.6 数値関連のメソドを実際に定義しているクラス一覧には載ってなかったんだよなあRuby 1.9 時点では pow メソドはなかったAtCoder2.3 でもまだないかもしれない

 方法色々

つらつら眺めてると、require 'matrix' して lup.solve で勝手に方程式を解いてもらえるとか、require 'openssl' すると mod_inverse が利用できるとか知らない方法が色々あるもんだでも LUP 分解が解らなければ見ても使うべきときが判らないしっても使えない[単行] 平岡 和, 堀 玄【プログラミングのための線形代数】 オーム社は中座してるし[単行] ロナド・L. グレ,ーレン パタシュニ, ドナド・E. クヌース【コンピータの数学】 共立出版もちっと眺めただ若いうちに学校で広く浅くでも詰め込んでおくべきなんだよ基礎がないと何も積み上がらない


20191112() 「分母が大きい方が数を正確に表せるんだ(The bigger the denominator, the more exact)分母はその表示する目的を達成するために必要最小の数を選択するんだ(But you always use the lowest denominator that will do the job.)」。■単位長さ(インチ)がまずあって必要なだけ刻み目を刻んだあとで刻み目の数を数えるのへええそれじゃあインチがあまり短すぎない方がいいかもね■通分が弱みなのは間違いなさそう全部のパーツがワンオフの特注品では工業化を妨げて戦争にも負けてそんなのはアメリカじゃない■空気圧が計れる空気入れがあってその目盛り空気圧ゲージの表示はpsi/kPaからbar/kPaに順次変更されますという状態なんだけどbarkPa はゼロの数が2つ違うだbar を使うと必ず空気圧が小数で表されることになるこれがどちらも馬鹿馬鹿しいと思うんだ小学生でもできる計算に対照表はいらないし常用域が小数になる単位もいらないなんで psi 表記をなくして bar に直すのかとアメリカ人的感性で(ほんまか?)一言言いたい


20191111()

最終更: 2020-08-27T19:59+0900

[AtCoder] 第二回全国統一プログラミング王決定戦予選 - AtCoderC 問題 - Swaps

解けなかったまだ解けていない考慮すべきが漏れてるのか何か思い違いがあるの

とりあえず、完全に並べ替えても題意を満たせないケースNo を返してみた該当(AC)1件>https://atcoder.jp/contests/nikkei2019-2-qual/submissions/8356932

 N-2 回の交換

N-1 回の交換だと N 要素の A 数列を完全に思い通りに並べ替えられると思ったぎりぎり1回足りないのが N-2 回なのかな

ぎりぎり1回足りない条件とは?

A 数列のすべての要素があるべき位置から外れた状態にありA 数列のすべての要素が数珠つなぎに位置を交換しているだと思った

 1. A 数列のすべての要素にあるべき位置が存在する(B 数列にあって対応する要素が1つだけしか存在しない)とは

ト済みの A 数列のどの隣接要素を入れ替えても題意を満たせなくなることだと思った

逆の例はB 数列に重複する値が存在する場合やB 数列の最小要素以下の要素が A 数列に複数ある場合などその場合は A 数列に区別が不要な要素が存在するということであり交換回数を節約できてしまう気がした

 2. A 数列のすべての要素が数珠つなぎに位置を交換しているとは

これもそうではない例を考えるとA 数列が k 要素と N-k 要素の2グループに分かれて位置を交換している場合が該当するk 要素をあるべき位置に並べ替えるのに k-1 回の交換を要しN-k 要素を並べ替えるのに N-k-1 回の交換を要するのだからN-2 回の交換で A 数列のすべての要素があるべき位置に納まってしまう

だから A 数列のすべての要素が唯一のグループを作って位置を交換していなければいけないその場合に最大 N-1 回の交換を要する

というのをコドにして提出したのだけどWA が半分>https://atcoder.jp/contests/nikkei2019-2-qual/submissions/8366469答えが二択なんだから惜しくもないっかんねーな

続く……


20191109() Google2段階認証の仕様を変更ャリアメールスへの送信が不可に |ド モバイル■本題とは直接関係ないんだけどスマホが唯一のデバイスであるなら二段階認証になにほどの意味があるだろうかという疑問がある自分は PC が基本だからセカドデバイスとして携帯電話で受信する SMS に意味があるけども(とはいえ送ってくるのは GitHub だけだ)■自己解決一段階目はデバイスの関与(記憶されたパスワ)は必ずしも必要なくてむしろ無関係な方が普通で漏れたパスワドリトなんかを使った不正アクセスが二段階認証で防げる


20191107() [C++]ーブセマンクスと右辺値参照未だによくわからないけどちっとヒトになりそうなことに気がついた(気がする)題材は自分も答えが欲しかったこの疑問誰も疑問を呈していないことに自分は疑問なのですがpush_backemplace_back トレドオフの関係はないのですか? emplace_back に利点しかないのだとしたらそもそも関数が分けられずにライブラリ側の push_back 自体の実装が効率の良いものに置き換わるだけで済んだように自分は想像しましたが……関数が分かれている以上は何かしら使い分けしてほしい意(ライブラリ側の意図ががあるものではないのですか?■よくわからない理由に右辺値というものの見え方がプログラマとコンパイラの間で180度変わることがあるんじゃないかと思った最初にそこを区別せずに右辺値があーだムーブがこーだという文章を読んでもそれぞれが矛盾することを書いているように感じられるのではない■右辺値というのはこれまで一時オブジ書き込みできない値プログラマの制御下にない値だったーブセマンクスをプログラマが表現できることになり右辺値でないものを右辺値であるとマークできるようになったそれはプログラマにとって値に対する制御を手放すという意思表示であるょうどコピーした auto_ptr が所有権を手放すがごとく■コンパイラから見ると従来の右辺値と右辺値であるとマークされた値は自身が破壊のタイミングを握っている(渡された)制御下にある値である■最初の疑問に戻るemplace_back(push_back のムーブ版だと思ってるけど実は知らない)を使用することはプログラマに引数となった値に対する制御を手放すことを要求するのでプログラマ自身が意図を込めて選ぶべきものになっているのだと思うpush_back にムーブ版のオーバーロドを追加することもできたと思うんだけどできないんだろうかできるけどやらない方がいいという判断なのだろうそれはどういう? オーバーロドがあれば T v; c.push_back(move(v)) みたいなコドを書いて呼び分けることになったと思う■たぶん std::move って書いても書かなくても同じな場面が多くあると思うーブしてきた値を受け取る側からしても&& と書いたからといって特別な何かが必ず期待できるわけではないらしいし俺は煩わしいからできるだけ書きたくないし書いた方がちっとだけ嬉しい場面でも書かずに済ませたいクチ■コトラクタと代入演算子がムーブとコピーがオーバーロドされる例かつての auto_ptr の所有権移転コドのようなものを書くみたいっかりリソースを共有した状態にすると二重解放の罠auto_ptr と違ってちっとわかりにくいのは値に対して所有権を持っていないというのがどういう状態か想像しにくいことポインタであれば値が NULL であるとか値はあっても弱参照でありいつまでデリファレスできるか不明であるとかが想定されるのだけど■おべんきC++のムーブと完全転送を知る - Fixstars Tech Blog /proc/cpuinfoドでもよく分る右辺値参照 - TXT.TXTgit もだいぶ時間がかかったけど(ものぐさなだけとも言う)だいぶ煮詰まってきたんじゃないだろうかつての C++ In-Depth シリーズのような本が読めないのが残念でならないそういう研究が必要ないというのならC++ が言語として進化したのではなく単に充実しただけであるということ進化がないのも研究書が読めないのもどちらも不満■ムーブってついつい一時オブジトの省略(※コピーや移動の終着地点に最初から一度だけオブジトを構築して済ませてしまう)と結び付けて効率化の手段だと考えてしまうけどプログラマが書いたムーブコトラクタが実行されるならそれはコピーコトラクタが実行されるのと変わりがないのでは? 利点があるとすればメンバとして保持する外部リソース(ープメモリドルなど)の確保が省略できる奪い取って間に合わせられるという点にしかないのでは?■俺は auto_ptr が大好きだしその制約も喜んで受け入れるしRust のメモリ管理も好きだけど(Rustは何が新しいの(基本的な言語機能の紹介 - いもす研 (imos laboratory))ーブは面倒くさいなあこれまで通りコンパイラの最適化に期待するだけにして面倒は避けたい必要に迫られるまでは


20191106() [B! コミュニケーシ]「事実」と「意見を区別して話せない人がいるの | Books&Apps■タトルから抱く期待と本文を読んだ感想が一致しないそういう意味でブコメの流れはもっともである■新聞の投書欄でたしか読んだけど医者にかか「風邪みたいなんです「それを判断するのは私です(ムスみたいなやりとりって感じ悪いじゃない(少なくとも投稿者はそう受け取っていた)言い方があるだろうと(「どうしてそう考えたのか話してもらえますか?)最初に対立関係や上下関係を作って得する人間が存在するのかと(医者も患者も上司も部下も得していないただし医者と上司の目的がマウンングである場合はこの限りにない)誰が改める?■人間は道具ではないし頭が付いてるしそれを活用できない上司が無能に見えるもちろんまだ信用して任せるには足りない新人かもしれなくて判断のプロセスをいちいち確かめる必要があったのかもしれないけどその場合でも上司に人を育てる視点がまるでないことがやはり無能に見せる勝手に育つ骨のない奴はやめちまえなんてのは人余り世代の甘えでし判断の機会を奪いそのプロセスを鍛えることもせず部下はいつまでも上司のためのテープレコーダーなのか?(ープ? IC と言い直しても同じだなボイスレコーダーが正解)


20191105() ミネルヴァの続刊をずっと待っていたのだけどそのせいで他のシリーズに手を出せないでいたのだけど(そういう気質あるよね)作家には続刊か新シリーズかのオプションが与えられており選んだ結果の新シリーズだったらしい。20190703のスラドの作者のツイッターからあいだに一人を挟んで再び名前を見かけることがなければそれまでだったそれは惜しい(っちが?)


20191104() ひこにゃん()のアイコンでツイッターをやっている人をブックマークしていてなんとなし歴史・理・漢字クラスタに分類していたのだけどふいに AGC(AtCoder Grand Contest)に参加した話が出てきたりもしてった一人の人間であっても底は知れない


20191031() 疑問に対する答え関心の分離や単一責任の原則に通じるところがあるんでしょうか?■もっとミクロな話で曖昧さを残さない惑わせないその余地を残さないってことだと理解している■今回の件で言えばヌル終端されないケースがあるのかないのかということ実際は固定長配列で間に合うのだから用意された配列にヌル文字が含まれないケースは存在しないと考えられるだから仕様でヌル文字の存在を仮定する存在しない場合を許さないし仮定しないそれが Assertive であるということ■曖昧な態度をとれば論理がつながらないしすべてのあり得るケースを十全にカバーしようとしたときに負担が増える想定ケースに対して念のために1だけ余分に対応できるようにしたコドに対応するためにさらに1の余分が必要になりそれに対応するコドはさらに……■カバーする必要性に気がつかずに論理のギップに対して2人の人間が異なる見方をすればそれがバグの始まり■追加された比較演算子のテトはヌル文字が存在しないケースにアイデンィテを与えて存在を認め仕様として規定しただとすれば今後(そして既存のコ) MYDEVMODEsz と名の付くメンバにヌル文字の存在を仮定することができなくなりたとえばメッセージボックスをはじめとする文字列関数にそのまま渡すことがバグの温床になる律儀にやるなら _MAX_PATH+1+1 のバッファに一時コピーしなければいけない正気か?■現実をテトケースにすれば実装をいじる必要はなかった実在しないケースをテトにして実装をそれに合わせたのがあの PR正気か?■俺は怠け者だから行動する者には負けるけど(うんこコ放置しててすまんです)その動きが右へ進み左へ進みその間に後退もしている(前進はしていない)というものではないかという疑いの目は向けている一応strncpy的な関数の使い方を誤るとNUL終端されない文字列を作れますので絶対要らない対応というわけでもないと思ってましたトに対する勘違いがあると思うヌル終端しないコドに対してこのテトと実装の修正で何ができるのかシナリオで示して欲しいもちろんそれを伝えはしない聞く耳ねーからな無駄無駄無駄■念のために書くけど「ヌル文字の存在を仮定するというの「ヌル文字の存在を信じて暴走すべき(それを許容すべき)であるなどと曲解されていては全く浮かばれないヌル文字の後ろを比較対象にするのがあるべき仕様の外であるなら(wmemcmp を使わない理由)構造体のために確保されたメモリの外を比較対象にするのもあるべき仕様からは外れている(wcsncmp を使う理由)どちらも否定していないし今は無関係混同している人間が誤っている


20191030() ぶん殴りたい共通の理解の上で意見が合わないのならそれは価値観の違いでありそれをどうこうすることはできないだけどある程度共通のものがないとどうしたって戦争が避けられないから批判に堪える出版物を引用する自分個人の考えや感覚でそれができるとは考えないしかし価値観以前に共通の理解をこの者との間に築くことができないせいで無駄に消耗する全くの無益。耳を塞いで他人にでたらめな要求を押し付けるふるまい犯罪的だというのだ自己の無謬性にそこまで確信を持てるとは大した自信家じゃない本物は違うとはこのことではない俺の方はといえば事実関係に白黒が付かないことに気も狂わんばかりになっているというのにhttps://github.com/sakura-editor/sakura/pull/1081#pullrequestreview-307582232 の指摘は最初から十分に理解できるものだった(なのに不備を詫びることができるのは報告者の人徳だ)ここにアクセス違反のおそれがあるとヒトを与えられても見つけられない者に最初から何が期待できるのかという考えもある万事この程度の理解度で弁明する者のいない既存コドをふんわりざっくりけなすようなまねをするから「お前が(わざわざ)言うなの念が募る■俺はこの者の人格に絶望している


20191029() 日曜日にあった ABCっと毛色が違った D 問題D - Water Bottle■難しポイsintan 間違えた弧度法から度数法への変換を間違えた高校数学では tan/sin/cos しか習わないので RubyMath モジールドキュメトを漁って atanatan2atanh のどれが自分の求めるものか確かめないといけなかった(しかも最初 sin 系の関数を試していて角度の変換も間違えた)これが難しいとか高校生に鼻で笑われる


20191026() もうはばかる理由もないので最初(sourceforge.net)から思っていたことを書くけど「定石だからってのは理由になりはしないそもそもそ「定石がローカルルールや迷信の類ではないのかという疑いがあるがそこをクリアしたとしてもやはり同じデザインパターンがそうだ広く流布し認められたパターンであってもパターンカタログに載っていること自体がパターンを採用する理由になるわけではないこれまで読んだどのパターン本でもパターンが適用できる具体的なシナリオとパターンが持つメリトとデメリトの両方と同時に比較考量すべき別のパターンが併記されていた「定石だからで留まるのは浅はかなんだ(手段を目的化してしまうと見失いがち手段は常に目的に対してテトされいつでも置き換えられなければいけない)盲信するならせめて対象として権威を選ぶくらいはしないと馬鹿なんだ