2019-11-01から1ヶ月間の記事一覧

Nuxtでデータフェッチする

vue

Nuxtで自前でapiサーバー建てつつ、コンポーネントのasyncDataでデータをフェッチするっていうのがやりたかった。 はじめに、プロジェクトディレクトリ直下に、apiというディレクトリを用意して、json用のルーティングを用意する。 // project/api/index.js …

Maximum-Cup 2018 C 嘘つきな天使たち

最近努力が足りていないえぬわいです。 qiita.com 続きです。 atcoder.jp 2 部グラフで解けた。塗った時の数を記録していけば、おk。連結であることが保証されていないので、その点は気をつけた。自分で考えてACできるとちょーきもちー。 from collections i…

CODE FESTIVAL 2017 qualB C 3 Steps

俺ガイルとゲーマーズの最終巻が読めていないえぬわいです。今週は、全然解けてないですね〜。もっと解かないとな〜。 qiita.com 続きです。 atcoder.jp ワカンねぇな〜って思って、解説見たら問題の解釈が間違っていたみたい。 思い出した2部グラフの特徴と…

AtCoder ABC 126 D - Even Relation

ぼくがかんがえたさいきょうの生活習慣を送っているえぬわいです。3 日だけですけど。これから続けていくんだという気持ち。 qiita.com 続きです。 atcoder.jp ARC 036 D 偶数メートルのとっかかりの部分みたいな感じでした。たまたま偶数メートルの解説を読…

2部グラフ判定

アニマエールのOP・EDを聞いたら、見返す機運が高まってるえぬわいです。 今日は、蟻本に載ってる2部グラフ判定を自分で実装して理解しました。 ポイントとしては、 とりあえず、塗っていって判定する 塗ってる最中でダメだと思ったら打ち切る 色は、符号を…

ABC 087 D People on a Line

ストライク・ザ・ブラッドで好きなキャラクターは藍羽浅葱。えぬわいです。 qiita.com 続き。 atcoder.jp 重み付きUnionFind木というのがあるらしい... ノード間の重みを保存しつつ、縮約していくアルゴリズムらしい。 qiita.com けんちょんさんの記事を参考…

ARC 036 D 偶数メートル

qiita.com 続き。 atcoder.jp ARC D だけあって解答の読み応えがちげぇぜ(解答見た) UnionFindを使うと、状態管理をすることができる例。 UnionFindで N 個の頂点間を偶数距離で移動できるかの判定に使っている。解答みておったまげた。 class UnionFind(): …

ARC 097 D Equals

ポスター発表が終わりました。えぬわいです。 qiita.com 続きです。 atcoder.jp 概要 1 から N までの数列をシャッフルする。ある数字の組みが与えられるので、その組みの位置をスワップして、最大何個まで元の位置に戻せるかという問題。 考えたこと 組みと…

ABC 049 D 連結

qiita.com 続きです。 atcoder.jp 考察まとめです。 Union-Find木を使って解いてみる。まずTLEになったやつ。 class UnionFind(): def __init__(self, n=None): if type(n) == int: self.par = [i for i in range(n)] self.rank = [0 for i in range(n)] els…

ATC 001 B Union Find

人間は愚か。えぬわいです。 qiita.com atcoder.jp Union-find木の講座用の問題らしい。 Union-Find木とは グループの併合と判定ができるアルゴリズム 併合するのは、グループ同士、判定できるのは、ノード。つまり、グループは木で表される。 初期化 はじめ…

ABC 085 B Kagami MochiとABC 091 B Two Colors Card Game

setとmapを使う問題。 c++で set と map を使ったことがなかったので、調べてやってみる。 #include <cstdio> #include <set> using namespace std; // auto は型推論 int D[100], N; int main() { scanf("%d", &N); set<int> st; int d; for (int i = 0; i < N; i++) { scanf(</int></set></cstdio>…

DPのメモ

個人的なDPのメモ。 DPでだいたい最後にdp[0][K]みたいな感じで、0 添字で参照してるので、これをdp[N][K]みたいに書けるようする。というのが目的。 単純なナップザックの問題だと、dpテーブルの添字が何を表しているのか、読み取りづらい。結果的に、漸化…

aximum-Cup 2018 D Many Go Round(3)

結局こんな感じのDPを書いた。 INF = 10**9+7 def rec(pos, j): if pos == N: if j == L: return 0 return INF # pos 番目を使わない ans = rec(pos+1, j) ans = min(ans, rec(pos+1, (j+a[pos])%M)+(j+a[pos])//M) return ans ans = rec(0, 0) print(ans) p…

Maximum-Cup 2018 D Many Go Round(2)

前回の続き 解答通りに、dp[i][j] := i番目までの燃料タンクを使って番号jの休憩所に止まるための周回の最小回数で再帰関数を作ってみる。 INF = 10**9+7 def rec(pos, j): if pos == -1: if j == L: return 0 return INF # pos 番目を使わない ans = rec(po…