塩見周子の徒然日記

自分のことを塩見周子と思い込んでいるオタクです

復習 4/18,4/19

O(n)で前計算することで、各nCrをO(1)で求められるようにする。 mod = 10**9+7 MAX = 10**5+1 #nは10**5までを想定 fact = [1]*(MAX+1) for i in range(1, MAX+1): fact[i] = (fact[i-1]*i)%mod inv = [1]*(MAX+1) for i in range(2, MAX+1): inv[i] = inv[m…

復習 4/9,4/10,4/11

atcoder.jp1からkまでのiに対して、 ・「i回目に働くのは一番早くて何日目?」 ・「i回目に働くのは一番遅くて何日目?」 というのを格納した配列A,Bを考える。いずれも、oxの列を前から、後ろから見ていくことで可能。結論から言うと、A,Bについて、A[i] ==…

復習 4/2,4/3

atcoder.jp必勝法ゲー。dpで遷移を見る。「j枚目で回ってきたときに勝てるか?」をdp[j]で管理する。 取れる枚数がn種類(a_1...a_n)あったとき、dp[j-a_i]が全て「win」であれば、必ず相手に「勝てる」状態で回してしまうことになるため、dp[j] = lose 逆…

復習 3/31,4/1

atcoder.jpまずは美味しい順にソートして上からK個取る。そこから、残りのN-K個のうちでどれかと交換することで満足度が上がるかどうかを見ていくわけだが、この時、すでに取っているネタの種類がi種類であれば、そこから種類を減らすことによって満足度は決…

セグメント木、BIT(反転数)

・セグメント木 書きようによっては任意の区間のGCDを求めたりもできるっぽいけど、とりあえずは任意の区間の最小値を求めることにする。 n = int(input()) #配列の要素数をnと置く。 L = list(map(int,input().split())) #配列 t = 1 while t <= n: t *= 2 …

復習 3/30

atcoder.jp逆元使ってn_C_k(を10**9+7で割った余り)を高速で求める、それはそうみたいな問題なんだけど、流石にテンプレをペタって貼り付けてn=10**5,kを1~10**5まで計算するのはしんどい(factorialの都合上)n_C_k-1からn_C_nまでを一気に求める問題であ…

復習 3/26, 3/27

atcoder.jp桁DP的な発想 解説読んでパッと理解できなかったatcoder.jpこれも桁DP的発想atcoder.jp提出した後で「2,8とかの組み合わせの時無理じゃね?」とか気付く。ちゃんと考察をしましょう。atcoder.jpグラフの用語を知った。 ・直径:一番遠い点間の距離…

復習 3/21

atcoder.jp総和が不変であり、その約数がgcdの候補であることは気づけた。そしてその後に分配するフェーズで余りを横に並べて右側はプラスされる側、左側はマイナスされる側と分けてそれぞれをチェックするところまでは発想できた。 (例) 約数=5で割った…

復習 3/19,3/20

atcoder.jp数字が「ある」ところを探すんじゃなくて、「ない」ところを探すという発想の転換。難しい。atcoder.jp発想の問題じゃなくて、大きな数字を扱うときは注意しましょうねという話。基本的にpythonは大きな数字はメモリの許す限り扱えるけど、例えば …

復習 3/16,3/17

atcoder.jps = 10**100とかいう良く分からん表現に振り回された感がすごいやることとしては、いっぱいつなげる方(s)に対し、sのi番目(iは0~len(s)-1、つまりsの各文字)の文字に対して、そこから数えてa,b,c....が次に最短でいつ出てくるかを数える(これをや…

復習 3/15

クッソサボってた しょうがないねatcoder.jp s = 'AAA' s = 'B' + s #s = 'BAAA' 上の例みたいに、文字列の先頭に新たな文字をくっつけるのは、末尾にくっつけるよりもかなり時間がかかるので注意すべしatcoder.jpサイズ付きUF木で一撃 こういうのが普通にで…

桁DP

桁DPは、例えば「0以上N以下の数字で、ある条件を満たす数字がいくつあるか」などを数えるのに便利な手法である。発想が単純なものと、複雑なものの2パターンある。<単純な方> 例えばこの問題↓ atcoder.jp?はワイルドカード(0~9のいずれでもいい)の時、?…

復習2/6,2/7

atcoder.jp <ずる> O((HW)**2)とは分かったものの一個だけTLEが取れない。全部道である場合のみ特例で除外したら通ったけどこれPythonの正攻法はなんなんやろね。atcoder.jp <解説AC> ロボットアームの動ける範囲の右端でソート→右端が小さい方から順番…

http://pr.cei.uec.ac.jp/~terada/lectures/comporg/2018/08.pdf

チュウニズム 15.75になりました

タイトルの通りです。 NAOKIの神威リミが収録されたのでやってきたら意外に出来たので、その勢いでレートを15.75に乗せてきました Surrogate Lifeはいい曲 4000クレも突っ込んでました ベスト枠は以下の通りです ベ枠が15.74になってからもう2ヶ月が経ち、な…

IM

2015 2014 2013 2007 2005 2004

今年の総括

一年のまとめ 1月 まあなんだかんだテストに向けて頑張ってた気がする 2月 小説一作目を販売開始する 3月 金恋カフェに行く 小説二作目を発表 4月 ウニのレートが15.5になる 5月 B4UT退部 まあ一人でも音楽ゲームはできる 6月 無 7月 オタクを家に泊める メ…

アルゴリズムとデータ構造 第5章(有向グラフ[最短経路/トポロジカルソート])・第6章(無向グラフ[最小全域木])

第5章5.1 ダイクストラのアルゴリズムある1つの頂点から、各頂点に向かう最短経路を求めるアルゴリズム。 コストが非負の時のみに動作することに注意。頂点の数をN、辺の数をEとして、O(N**2)とO((N+E)logN)の2つのやり方がある(正直N**2の方は競プロ向けで…

Logisimで遊んだ

Logisimたらいう回路を作って実際にその挙動を確かめられるシミュレータをインスコしたので、これまでのハードウェア構成法の復習(?)も兼ねて遊んでみた。というか挙動をこの目で確かめられてないのでこの際に確かめてみようってワケ。 作ってみたのはこ…

浮動小数点

・シミュレータ tools.m-bsys.com・共用体を用いて変換 qiita.com ・NaN、INFなど exlight.net

risc-vでアセンブリ

2つの整数を受けとり、大きいほうを返す関数maxof2をアセンブリで実装せよ。 int maxof2(int x, int y); とりあえずmainはこんな感じになる(と思われる) #include <stdio.h> //main.cに保存 int maxof2(int x, int y); int main(){ int x,y; scanf("%d%d", &x, &y);</stdio.h>…

チュウニズム Devastating Blaster 鳥支援解説

デバステ鳥取ったので意識したことをメモっとく。 ※画像は全てCHUNITHM譜面保管所様よりお借りしました。ありがとうございました。 CHUNITHM譜面保管所 3~4,7~8小節 ノーツ同士が結構近いのでアタが出やすいです。慎重に捌きましょう。 9~10小節 1/8ノーツ×2…

チュウニズム Glorious Crown (tpz over-Over-OVERCUTE REMIX) 鳥支援解説

こんばんは。今日は新曲の追加日ですね。そろそろCHUNITHM AMAZONも終わり名前も変わるかというところで最後の曲追加?になるのでしょうか。追加される2曲とも13、13+と高難度で今からとても期待しています。ゲーセンに開凸したいので早く寝たい。グロクラと…

近況報告

生きてます

夏休み やったこと

やった 理情内定 帰省してバイト ss販売 読んだ TCP/IP スクレイピング/機械学習(途中まで) 予想どうりに不合理 ヒト夜の永い夢 スティーブンソン短編集 O・ヘンリー短編集 史上最強の哲学入門 ソラリス ファンタジスタドール イヴ 観た 天気の子 ブレード…

Pythonでスクレイピング 2-4,2-5/Web API,cron

2-2,2-3をなんで飛ばしたかというと、開発中止になったPhantomJSの話が割とメインだったからです。2-3,2-4でもPhantomJSを使わない部分をかいつまんでやっていきます。2-4OpenWeatherMapから天気の情報を取得するコード import requests import json apikey …

Pythonでスクレイピング 2-1/requestsモジュール

2-1・HTTP通信 基本的に「要求に対して応答を返す」方式。ステートレス通信(同じURLのアクセスに対して、同じデータが返される通信)であり、前回どんなデータがやりとりされたかの情報を保持することはない。・クッキー WEBブラウザを通じてサイトの訪問者…

Pythonでスクレイピング 1-3,1-4/CSSセレクタ,再帰処理でリンク先を丸ごとダウンロード

1-3DOM(Document Object Model)の話。正直HTMLとの違いがわかりません......。DOMの要素を引っ張ってくる為の話をしてました。ブラウザを利用したセレクタの利用例(青空文庫で公開されている夏目漱石の作品一覧を取得するプログラム)1:「ページのソース…

Pythonでスクレイピング 1-2/BeautifulSoup

1-2Pythonでスクレイピング(HTMLやXMLから情報を抽出)をするときの便利なライブラリにBeautifulSoup(綺麗なスープ!!!!???????!?!?!!??!!??!?!)がある。 ※「データ抽出」のみの機能であり、ダウンロードの機能はないので、そこ…

Pythonでスクレイピング 0-1,1-1/urllib

https://www.amazon.co.jp/Pythonによるスクレイピング-開発テクニック-BeautifulSoup-scikit-learn-TensorFlowを使ってみよう/dp/4802610793コマンドラインから実行してるけど普通にjupyter notebook入れた方が早いと思いました。まる。 0-1・スクレイピン…