未分類

ABC146C – Buy an Integer

二分探索するだけやんけ・・・・ と思ったけどコーナケースとか諸々で死んだよ! #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i, n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).begin(),(a).end() template<class T> bool chmin(T &a, const T &b) { if (b < a) { a = b; return true; } return false; } template<class T> bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; } typedef long long ll; int main() { ll A, B, X; cin >> A >> B >> X; const ll start = 1e9; ll nowp = start / 2; ll now = nowp/2; while (now > 0) { // cout << "Now: " << nowp << "change: " << now; ll cost = (nowp * A) + (B * to_string(nowp).

HTTF2020予選 大戦記

お疲れ様です〜〜!!!! マラソン・・・?なんかめっちゃ難しそうだしパスって思ってたけど参加してみると楽しいね!あっという間に時間が溶けていくよ(白目) ということでHTTF2020の予選に参加してきました! もくじ 結果 敗因 よかったところ 思考回路 結果 結果はprint(0)すらしていないのでなんと後ろから四番目 敗因 MapをHTTF2019予選から作ったものを流用した。 色々別問題だから絶対最初からシミュレータ作った方が速かった DFSする思考回路に至れなかった。 これはもう普通に競技プログラミング力不足なので精進するしかねぇ 時間足りず。 のんびり出てれば上手になるじゃろ(楽観) その思考で茶落ちした事実はあるのですが・・・ よかったところ バグがほとんどなかった たまに出すもlogic_errorで捕捉出来ていたので大丈夫。デバッガーを使い出したので変数の値も見れて非常に便利 書いたコード 提出 #8259447 - HACK TO THE FUTURE 2020予選

ABC 138D Ki Python3で解く

Union-Findとかかと思ったら普通に考える問題だった。辛い 後、Pythonだとかなりきつい 書いたのがこれ 定数倍高速化しないと死ぬということと、PyPyで再帰は死ぬことを知りました 無限にはまりました チクショー!!!! 有効グラフにして片方だけ接続先を伝えたりしてもしねるしかなり難しい問題な気がしました 問題解くのに疲れすぎて解説が書けない!!! おしまい!!!!! (解説が結構考え方の方針が分かりやすいのでおすすめです。解説)

WIP: ぬきたし1+2 感想【ネタバレあり】

がっつりネタバレします ずっと欲しかったゲームが手に入るころには2が発表されていた。 きっかけはニコニコ動画でこのゲームの体験版のプレイ動画からだった。 あまりにも話がイカれてるし既プレイの人達はこのゲームがかなり面白いと大きな声で叫んでいた。 そんな魅力のあるゲーム。正しエロゲというのは高く、そもそもこのゲーム神ゲーすぎて中古が流通してないしぶっちゃけ新品買った方がましぐらいしか値段差がない。 また、その頃は某塾講師としてバイトしていたのもあって、大学生にあるまじき一か月2万とかで生きていた。 そら趣味にお金割けないわ・・・ そんなこんなでバイトが代わり神みたいな待遇で働かせてもらいお金も昔とはくらべものにならなくなった所、ぬきたし2の発表、およびぬきたし1+2の発表がされた。 1+2を予約した。発売日まで死ぬほど待った。 というわけでずっと欲しかったゲーム。エロゲーを初めてまともに楽しんだ僕であった。(シナリオ重視が初めてだったわけでしたが・・・) というわけで感想です。 思ったことや感じたことを垂れ流すだけなのでクソ記事です。 ぬきたし1 まぁまず1stOP見てね よくある感じのエロゲー。 まぁ世界観が抜きゲーみたいな島なので当たり前 抜きゲーみたいな島で強制的にセックスをさせられそうになってそこから逃げる主人公。逃げていく先にある基地を見つけ、基地に入ると老人が画面に出てきて「ドスケベ条例を潰すチャンスをやろう」 主人公は逃げ続けてるのをやめ、No Love No Sex,通称NLNSを結成し、島の悪しき条例であるドスケベ条例の崩壊を決意する。 その先で色々な仲間を見つけ協力していくという話。 最高だったので全ルートの感想追います。 攻略順でね。 もくじ 共通 奈々瀬√ 美岬√ ヒナミ√ 文乃√ Senzuripoint:Paccoman 共通 桐香√ 郁子√ 礼√ <li> <a href="#i-10">奈々瀬アフター</a> </li> <li> <a href="#i-11">美岬アフター</a> </li> <li> <a href="#i-12">ヒナミアフター</a> </li> <li> <a href="#i-13">文乃アフター</a> </li> <li> <a href="#09-07">09-07 (全ルート終了後に出現)</a> </li> 共通 体験版はここ全部遊べます。いやボリューム多すぎない?

VOYAGE GROUPの春の1dayインターンに行ってきた

あんまり写真撮ってなかったのでかなり短めの記事になります。記事出すの遅いのにこのクオリティで申し訳ない・・・ブログを書いたことにえらみを持ちたい・・・ どんなインターンに参加したの? 春のエンジニア向けインターンシップ2019開催のお知らせ~第二弾~ こちらです!GoとVueを使ってアプリケーション開発とチーム開発を行いました。 1dayインターンシップ当日は、サーバーサイドはGo, クライアントサイドはHTML, JavaScript(Vue.js)を利用し、クライアントサイドとサーバーサイド、DBとの連携など超広い知識を学べます。 感想 まずタイムスケジュールがえぐい 11:00 開始 11:00~12:00 チュートリアル 12:00~13:00 ランチ 13:00~15:30 講義・実装 15:30~18:30 チーム開発 ~ 21:00 懇親会 こりゃ最高に身につきますわ・・・ インプットが超絶多かった。Goの基礎的なところからGoRoutine,チャネルなど深いところまで行きました。 GoRoutineを学べたのがよかった・・・ そしてGitHubでのチーム開発の仕方も学びました。 issueを立てて・・・PRでissueをcloseして・・・・ この開発方法はかなりいいなと思いました。真似させていただきます tanosikatta そして 本当に楽しかったのでVOYAGE GROUPのサマーインターン「Tresure」にも申し込みました。受かったらまたよろしくお願いします。 めっちゃ行きたい・・・ 面接していただいた方と話が盛り上がって楽しかった

AGC 033 A-Darker and Darker (失敗

解けなかったので、復習していきたいです。 けんちょんさんの記事が非常にわかりやすいのでこちらを見てから ここはPythonの実装と個人的なメモみたいな感じで書き残していきたいと思います。 解けて無いです。 これがTLE解 setが遅いかな もう何もわからないよ・・・(完) def dig(tag,end): h=tag[0] w=tag[1] delta=[(1,0),(-1,0),(0,1),(0,-1)] next=set() for d in delta: if not h+d[0]<0 and not h+d[0]>=H and not w+d[1]<0 and not w+d[1]>=W and tag not in end: next.add((h+d[0],w+d[1])) return next H, W = map(int, input().split()) black_mass=set() for h in range(H): line=input() for w in range(W): if line[w] == '#': black_mass.

Raspberry Pi Zero W をVPNサーバーにする備忘録

やること Raspberry PiをPiVPNを使ってVPNサーバにします。これにより、外から自分の家のLANにアクセスすることができるようになります。PiVPNっていうけどざっくり言えばOpenVPNをラズパイに入れるって感じです。 他にも閲覧規制などが入ったWiFiの規制も超えられますが、やらないでね。やっても一切責任はとりませんよ この記事は僕の備忘録とするので色々ざっくり目の解説をします。 手順 もくじ OSインストール IPアドレスの固定 PiVPNのインストール ユーザの追加 OSインストール NOOBSを使ってサクッとインストールしましょう。OSはRaspbian Strech・・・にしようかと思ったけどRaspbian Fullとかいう面白そうなのがあったのでそれにします。 IPアドレスの固定 勝手に切り替えられると非常に困るので設定します $ ip a でipアドレスを確認しましょ。 nano /etc/dhcpcd.conf で編集 interface eth0 static ip_address=192.168.10.xxx/24 static routers=192.168.10.xxx この辺をいい感じに操作しておしまい PiVPNのインストール これ curl -L https://install.pivpn.io | bash ポート番号を決めたらルータ側でそのポートとIPアドレスを解放してあげましょ

Go+DockerをRaspberry Pi にデプロイ

ここを書いている途中に得られた知見のまとめ Raspberry Pi と他でアーキテクチャが異なる intelのCPUはamd64という命令セットで出来ている。それでラズパイはarmという命令セット。 いくらDockerのポータビリティが凄いと言っても命令セットが異なってしまえば、叶わず。 それに気づけず、エラーを量産しました。 “exec format error"が出てきたら疑うべきでしょう。 ということで命令セットが異なるアーキテクチャの間で実行する場合は docker build を行う際に別途環境変数として指定してあげましょう。 以下の例は --build-arg GOARCH="arm" をラズパイに指定してください。 --build-arg GOARCH="amd64" は他の環境で動かすときに指定してね FROM golang:1.12 WORKDIR . COPY . . RUN mkdir gopath ENV GOPATH /go/gopath # ARG GOARCH ENV GOOS=linux GOARCH=$GOARCH GO111MODULE=on RUN go build main.go CMD ["./main"] おまけ ここからはGo 1.

AtCoder Beginner Contest 119 C – Synthetic Kadomatsu 感想

ABC119C お疲れ様でした 僕はCが解けずに爆死しました。 ちゃんと解説を読んで理解をする必要があるため、ソースにひたすらコメントを打ってました。 理解しない限り同じ問題が解けないからねしょうがないね。 特に再帰処理での全探索が全く書けなかったため、非常に今回は辛かった・・・() そしてこのような感じで理解しましたとさ。 <br /# 入力 N, A, B, C = map(int, input().split()) L = [int(input()) for i in range(N)] INF = 10 ** 9 def dfs(cursor, a, b, c): # cursor:カーソル a,b,c:現在の竹の長さ if cursor == N: # cursorが最後まで行ったら終了する。 return abs(a - A) + abs(b - B) + abs(c - C) - 30 if min(a, b, c) > 0 else INF # abs(a - A) + abs(b - B) + abs(c - C) - 30 でなぜ30を減じているのかというと、 # dfs(0,0,0) # dfs(0,0,0,0)で始まる以上、最初に選ばれるa,b,cを決定する際にもコストが10増加してしまうからである。 # また、全探索を行う中で、a,b,cの初期値が0,0,0である以上、a,b,cのどれかが0のまま終了する場合が存在する。 # この場合はa,b,cに竹が対応してないと言えるため、解にはならない、そこで三項演算子を利用して # その場合についてコストをINFとしている # 以下は4**Nで展開される再起処理となる。 # カーソルの当たっている竹に対して、(A or B or Cに合成する) or (合成しない)の場合に分ける no_compound_pattern = dfs(cursor+1, a, b, c) compound_a_pattern = dfs(cursor+1, a + L[cursor], b, c)+10 compound_b_pattern = dfs(cursor+1, a, b + L[cursor], c)+10 compound_c_pattern = dfs(cursor+1, a, b, c + L[cursor])+10 # 結果的に以下の値が返るのはそれぞれのパターンのコストが決定されてからなので # 以下のコードは最終的なコストの最小値 return min(no_compound_pattern, compound_a_pattern, compound_b_pattern, compound_c_pattern) print(dfs(0, 0, 0, 0)) 個人的に一番大事だと思うところは、a,b,cのベースとa,b,c,に合成する素材で分けて考えていたのですが、