7K12 blog

猫でも分かるアルゴリズム解説

文字インデックス変換 LIB::CharIndex

LIB::CharIndex 文字からインデックス (0-index) を取得する アルファベットは26文字なので a=0 から z=25 のインデックスが得られる 関数定義 ll ascii(char c): アスキーコードを取得 ll i_abc(char c): 小文字のインデックスを取得 ll i_ABC(char c): 大…

文字列の複数分割 auto string_split

auto string_split 文字列の複数分割 文字長N のとき計算量 1-indexなので注意(例 0文字目と1文字目の境界で分割するときはpos=1を渡す)pos=0だけを指定したときは分割なし #include <bits/stdc++.h> using namespace std; using ll = long long; using setl = set<ll>; using</ll></bits/stdc++.h>…

NyaaLIB_XXL (XXライブラリまとめ)

尺取法 (Two Pointers) 探索列から条件を満たす部分列を求める 計算量 利便性のため内部で {index, element} のペアに変換している 参考 https://qiita.com/keroru/items/6e0a22e8c9bf2a24dc68 右手と左手について 右手は auto& [ri, re] = psub.back(); 左…

django 本棚アプリケーションまとめ

プロジェクト URL https://github.com/tkr987/bookproject5 django 3-10 アプリケーション作成 https://9871225.hatenablog.com/entry/2022/06/18/064705 django 4-13 本棚アプリケーション1 https://9871225.hatenablog.com/entry/2022/06/19/004607 djang…

django 6-4 デプロイ

WEB3層 WSGIはWEBサーバー機能も持っているが、リバースプロキシとしてnginxを置くのが一般的 参考 https://blowup-bbs.com/webserver-interface-summary/ 参考 https://devcenter.heroku.com/ja/articles/python-gunicorn Heroku アカウント作成 アカウント…

django 5-14 本棚アプリケーション2

プロジェクト URL https://github.com/tkr987/bookproject5/ トップ画面の作成 from django.shortcuts import render (略) def index_view(request): object_list = Book.objects.order_by('category') return render(request, 'book/index.html', {'objec…

django 4-13 本棚アプリケーション1

初回操作 $ mkdir test $ cd test $ python3 -m venv venv $ source venv/bin/activate $ pip install django==3.2なお次から開発するときも毎回 $ source venv/bin/activate だけはコマンドする必要がある from django.contrib import admin from django.ur…

django 3-10 アプリケーション作成

初回操作 $ mkdir test $ cd test $ python3 -m venv venv $ source venv/bin/activate $ pip install django==3.2上記は仮想環境の構築とDjangoのインストールコマンド なお、次から開発するときも毎回 $ source venv/bin/activate だけはコマンドする必要…

web71 firebase デプロイ

参考 https://www.flutter-study.dev/host-web-app/hosting https://qiita.com/fukusin/items/c5f5592b50101dfaea25特に2個目の記事が参考になる たぶん順番が大事で手順前後すると失敗するhttps://web72b.web.app/#/

web54最新 Cloud Firestore

project url https://github.com/tkr987/web54 参考 https://www.flutter-study.dev/firebase/cloud-firestore-try https://zenn.dev/maropook/articles/f82c98a56b14ca https://note.com/hatchoutschool/n/na654d6dc5a53pubspec.yaml dependencies: flutter…

web54改 Cloud Firestore

参考 https://www.flutter-study.dev/firebase/cloud-firestore-try https://zenn.dev/maropook/articles/f82c98a56b14ca https://note.com/hatchoutschool/n/na654d6dc5a53pubspec.yaml dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 fireb…

web54 Cloud Firestore

参考 https://www.flutter-study.dev/firebase/cloud-firestore-trypubspec.yaml dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 firebase_core: ^1.0.1 cloud_firestore: ^3.1.13 cloud_firestore_web: ^2.6.13dependenciesに firebase_core…

web52 Authentication概要

開発環境 windows10, vscode 参考 https://www.flutter-study.dev/firebase/authentication https://zenn.dev/maropook/articles/f82c98a56b14ca 試したこと エラー"FirebaseOptions cannot be null when creating the default app." の対処 Firebase.initia…

web43 todo list 追加画面

debugShowCheckedModeBanner: false デバッグモードでは指定しないとバナー非表示にできない(リリースモードではデフォルトで非表示) home: TodoListPage() StetelessWidget に StetefulWidget を載せる import 'package:flutter/material.dart'; void mai…

web31 テキスト表示

const MyApp({Key? key}) : super(key: key); おまじない constなクラスにはconstをつけるとワーニングが消える import 'package:flutter/material.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? …

flutter + vscode

chrome で実行 https://www.flutter-study.dev/introduction/about-flutter Bad UTF-8 encoding 対処法 https://zenn.dev/kakimoty/articles/2b480c6f97fb88 flutter build windows Building with sound null safety Bad UTF-8 encoding (U+FFFD; REPLACEMEN…

vs code c++

上手く行ったように見えて上手く行かなかった参考記事 https://qiita.com/uk714/items/a3ee7407b928153113da https://qiita.com/k_maki/items/140f7c14482488891cf9 https://webkaru.net/clang/mingw-gcc-environments/ https://pavement1234.net/vscode_c_c…

ダイクストラ法(単一始点最短経路) auto dijkstra LIB::Dijkstra

ダイクストラ法 単一始点から全ての終点までの最短経路を求める ダイクストラの経路は木になる(最短経路木) https://snuke.hatenablog.com/entry/2021/02/22/102734ダイクストラの処理は一次元DPの応用と認識することが出来る 計算量は 計算量は天才でない…

NyaaLIB::GT_GridGraph

グリッドをグラフに変換するコンストラクタ GT_GridGraph(ysize, xsize, exsize = 0): (ysize, xsize) のグリッドをグラフに変換(exsizeは超頂点の数) メンバ関数 Vertex(y, x): グリッド座標 (y, x) に対応する頂点インデックスを返す ExVertex(ll ex): …

NyaaLIB::DS_FenwickTree

Fenwick Tree (Binary Indexed Tree) 点加算クエリと区間合計取得クエリを で処理するメンバ関数 operator[i]: 要素[i]の値を取得 resize(size): sizeにリサイズする add(i, x): 要素[i]に値xを加算 sum(l, r): 半開区間[l, r)の合計を取得 関数詳細 T sum(l…

数学ライブラリまとめ NyaaLIB_NTL

素数判定 任意の値 x が素数かどうか で求める #include <bits/stdc++.h> namespace NyaaLIB_NTL { namespace IsPrime { using ll = long long; auto is_prime = [&](ll x) -> bool { // x が素数か判定 O(√x) if (x <= 1) return false; for (ll i = 2; i * i <= x; i++) i</bits/stdc++.h>…

NyaaLIB::DS_DynamicList

動的リスト ユニークな要素を扱うリストで要素の相対位置をO(1)で取得できる リストという名前を付けたけど、内部で使ってるデータ構造は unorderd_map 注意点: イテレータは存在しないので全要素を出力するときは下記のようにする DS_DynamicList<long long> dlist(LLO</long>…

NyaaLIB::StaticList

静的リスト ユニークな要素を扱うリストで要素の絶対位置をO(1)で取得できる リストという名前を付けたけど、内部で使ってるデータ構造は deque と unorderd_map deque interface T& operator [](ll i): 値[i]を取得 O(1) T back(): 末尾要素( end の1個前…

NyaaLIB::DS_RLE

ランレングス圧縮 (Run Length Encoding) Run(seq): 列 seq をランレングス圧縮する 戻り値 struct RLE_RES cnt: 連続部分列集合の個数 x: 部分列の要素 size: 部分列の長さ sub: 部分列集合 range: 部分列と対応する列の半開区間 (0-index) #include <bits/stdc++.h> names</bits/stdc++.h>…

NyaaLIB::GT_SCC

Strongly Connected Components(強連結成分分解)計算量 https://atcoder.github.io/ac-library/production/document_ja/scc.html run(void) 有向グラフを強連結成分分解する 戻り値 g: 強連結成分分解した隣接リスト groups: 閉路毎の頂点集合(トポロジカ…

NyaaLIB::GTL_BFS

BFS(幅優先探索)計算量 BFS開始頂点は複数になることも多いので配列を渡す 昇順に頂点を遷移したいときは queue を priority_queue にする std::queue<long long> q; → std::priority_queue<long long, std::vector<long long>, std::greater<long long>> pq; #include <bits/stdc++.h> namespace NyaaLIB { struct BFS_ARG { using</bits/stdc++.h></long></long></long>…

DAGの性質まとめ

【木のDAG】 木に単一の方向性を持たせるとDAGになる 割り振り直した頂点IDは降順あるいは昇順になる このようなDAGは木でもあるので元の頂点IDはユニークでもある 頂点の割り振り直し方法 ・DAGの最長経路=木の根からの深さ=末端からMAXのBFS、で頂点IDを…

フィボナッチ数列の計算ライブラリ(メモ化再帰のテンプレート)

フィボナッチ数列の計算(メモ化再帰のテンプレートとしても使える) #include <bits/stdc++.h> using namespace std; using ll = long long; using vl = vector<ll>; auto mf = [&](auto self, ll now, vl& memo, ll inf) -> void { if (now == 1 || now == 2) { // 末端は定数</ll></bits/stdc++.h>…

LIB::WaveletMatrix

ウェーブレット行列 任意区間のK番目の要素を高速に取得するデータ構造 https://ei1333.github.io/library/structure/wavelet/wavelet-matrix.cpp.html前計算 クエリ WaveletMatrix(v): 各要素の高さ v を初期値として構築する. access(k): k 番目の要素を返…

NyaaLIB::NT_TwelvefoldWay

写像12相ライブラリ ただし写像12相以外の組み合わせ計算も含む Pow(x, n): 繰り返し二乗法 P(n, r): 順列 C(n, r): 組み合わせ H(n, r): 重複組み合わせ IEP(n, r): 包除原理 Stirling(n, r): 第二種スターリング数 Catalan(n): カタラン数 #include <bits/stdc++.h> names</bits/stdc++.h>…