おはやし日記

テーマ……バイク←プログラミング←旅

2020-01-01から1年間の記事一覧

DP(動的計画法)で最長増加部分列(LIS)問題を解くまでの過程メモ

なんか連載みたいになってんな 前回はDPでナップザック問題を解きました。 AOJでその次にあった最長増加部分列を解きました。 というか、解けなかったので検索して最長増加部分列(LIS)の長さを求める - Qiitaを見てなるほど〜ってなったのを自分なりにまとめ…

DP(動的計画法)でナップザック問題を解くまでの過程メモ

0-1 ナップザック問題 この0-1ナップザック問題が解けたので動的計画法初心者がその思考過程を記録しておく。 その後、簡単な書き換えによって一般ナップザック問題(命名: おはやし)が解けたので追記している。 先にコイン問題 前段階としてコイン問題(何…

DP(動的計画法)でコイン問題を解くまでの過程メモ

これは、https://o-treetree.hatenablog.com/entry/DPL1B(明日投稿)の前段階の記事です。動的計画法(どうてきけいかくほう、英: Dynamic Programming, DP)で「コイン問題」を解いていますが、DPとはなんぞや、みたいなところには触れておらず、解説を見…

Automateで現在地取得 [Location get]

Automate で現在地を取得する方法についてまとめました。 環境 : Android 9.0, Automate Version 1.23.1 llamalab.com 現在地取得 今回紹介するのは Location :: Location get ブロックです。 現在地の座標等を取得し変数に入れます。 このブロックを利用す…

vector<pair>のソートの覚書き [C++]

なんとなくpairをソートしてみたら面白かったのでメモする。 pairにも大小関係があるのでソートできる マクロばっかで申し訳ないがとりあえず昇順ソート #include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; #define mp make_pair #define ff first #define s</int,></bits/stdc++.h>…

AtCoder ABC138 C - Alchemist のわかりやすい解説

atcoder.jp 解説PDFわかりにくすぎてタイトルに「わかりやすい解説」って書いちゃった 問題概要 $N$ 項の数列 $ \{ v_1, v_2, v_3, \cdots , v_N \} $ がある。ここから2つの数字 $v_a, v_b$ を取り出して、その平均 $ \frac{v_a+v_b}{2} $ を戻す。 この操…

AtCoder ABC139-E を有向グラフ初心者がC++で解く

ABC139 - E に挑戦します。 最初は、n日目に出場する選手のリストを作って探索しようと思いましたがうまくいかず、解説を読む。 https://img.atcoder.jp/abc139/editorial.pdf 「$N(N-1)/2$試合のそれぞれを頂点に見立て、(略)有向グラフを考えます。」「…

Automateで選択肢を出す [Dialog choice]

Automate で選択肢の提示をする方法についてまとめました。 環境 : Android 9.0, Automate Version 1.23.1 llamalab.com 選択ボタンを表示させる 今回扱うのは Interface - Dialog choice ブロックです。 選択肢を提示し、いずれかが選択されたらYESへ、CANS…

AtCoder ABC168【ABCD=AC】

こんにちは。ABC168でした。 今回は48分でDまで解けました!しかもWA無し! Eはまだ無理ですね、見当もつかない。 A 提出 AC #include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ int N; cin>>N; N %= 10; switch(N){ case 2: case 4: case 5</bits/stdc++.h>…

AtCoder ABC165-Cをスタック利用DFSで解く

概要 atcoder.jp これをc++で解く。 概要 解答 コード 詳細 初期状態 スタックについて ABC165-Cの条件に合わせる 得点計算 提出コード 一応おしまい 失敗 参考 この問題を解くには、生成しうる数列を全て作って各々数列の得点を求め、最大値を見つける。(…

cとc++で最大公約数、最小公倍数を求める

gcdとlcmの実装 最大公約数(GCD : Greatest Common Divisor)と最小公倍数(LCM : Least Common Multiple)を求めるプログラムをc言語で書いてました。競プロ(AtCoder)で使うためです。最近使用言語をc++に乗り換えたのでcからc++に書き換えていたら色々…

競プロABC問題風記事の解説

これの解説記事です。先に↑を見てください。ちなみに「ABC問題」は数学の難問「ABC予想」のことではありません。競技プログラミングの「AtCoder Beginner Contest」の略称です。 なお、この解説が正しいかどうかは(全文に渡って)保証しかねます。多分あっ…

ABC(AtCoderBeginnerContest)問題風のぼやき

C - Great Person 実行制限時間: 4 sec/ メモリ制限: 1024 MB 配点: $300$ 点 問題文 とある界隈には $ N $ 人の人がいます。界隈の人の趣味は $ M $ 種類であり、それぞれ趣味$ 1 $、趣味$ 2 $、……趣味$ M $ と呼びます。界隈の $ i $ 番目の人は趣味 $ j $…

AtCoder ABC167【3完】

こんにちは。 ↑これは昨日の僕。今日が当日です。 今回はAからCまで、1発ACでした。Dは時間的に無理だったし細かい実装もわからんので諦めた A atcoder.jp 提出 AC #include <bits/stdc++.h> using namespace std; int main(){ string s, t; cin>>s>>t; int l = s.size(); f</bits/stdc++.h>…

Automateについて書いた方がええんか

なんか、このブログ初めて初期にAutomateというAndroidアプリについてちょっと書いてたんですけど、アクセス解析を見るとgoogle検索に「Automate」だとかなんとか入れてここにたどり着いている人が多いらしく………… 試しに検索してみたら公式の次に2番目くらい…

ナンプレ攻略プログラムがWebで使えるようになりました

大概のナンプレを解けるプログラムをC言語からJavaScriptに移植してweb上で使えるようにしました!

ABC165, 166反省会

ABC165 A 提出 B 提出 C ABC166 A 提出 B 提出 C 提出 D ABC165 ダメでした A A - We Love Golf 提出 AC #include <stdio.h> int main(){ int K, A, B; scanf("%d%d%d",&K,&A,&B); int bl = 0; for(int i=A; i<=B; i++){ if((i%K)==0)bl++; } if(bl){ printf("OK\n");</stdio.h>…

黒岩知事の緊急速報に苦言を呈しているやつはバカ

今朝10時ころ、神奈川県の黒岩知事からエリアメールが届きました 【賛否】神奈川県が「緊急速報」、外出自粛の徹底を要請https://t.co/wWVoIaBZef黒岩知事名で緊急メッセージを配信。納得する声もある一方、「心臓によくない」「地震かと思って身構えた」な…

makefileを利用して簡単にmac,VSCodeでbits/stdc++.hを使う

こんにちは。 競プロではC++が強いそうですね。 C++ではインクルードファイルとして #include <iostream> //入出力 #include <string> //文字列 #include <vector> //配列 ... 等々書くそうですが、面倒なのでAtCoderでは<bits/stdc++.h>を使うと良い、という話になっています。 これは、gccに付属する</bits/stdc++.h></vector></string></iostream>…

ABC164【A, B完】

ABC164でした。 atcoder.jp 今回はダメだった。 生活リズムガバガバすぎて18時頃にはクソ眠かった 20:40にアラームかけて寝落ちしたけど起きるのに時間かかったりしたので30分ほど遅刻してスタート A atcoder.jp 提出 AC Submission #12371389 - AtCoder Beg…

XMLHttpRequestとlocalhostの覚え書き

最近はHTML+CSS+JavaScriptに手を出しています。 そこでXMLHttpRequestを使ってみた時、「localhostがどうのこうの」、というシーンがありました。 その挙動についてメモ。 基本設定 フォルダ設定 ファイル 簡単な内容 index.html main.js oha.txt 追記(2020…

AtCoder始めました【abc163】

こんにちは。 競技プログラミングの、AtCoderを始めました。 atcoder.jp そういうのって、ガチ勢じゃないと歯が立たないのかと思ってたら、初心者でもできるレベルから問題があると知ったので。 今まで3回やりましたが、Cまでは解けて、Dは、言われればそう…

プログラムにナンプレを解かせたい - その7

最終回。↓のつづき。 o-treetree.hatenablog.com プログラムがパワーアップした後の要点は、 o-treetree.hatenablog.com ここ↑で書いたcalc.cの計算部分と o-treetree.hatenablog.com ここ↑で書いたfileio.cのファイル入出力です。 今回は、なんとなく作った…

プログラムにナンプレを解かせたい - その6

相変わらず暇なので書きます。ナンプレ攻略プログラムについて。 o-treetree.hatenablog.com ↑の続き。今回はファイル入出力とメニュー表示。 fileio fileio.h ファイルの形式 数字のみ 候補情報含む16進数 fileio.c menu.c まとめ fileio ファイル入出力を…

プログラムにナンプレを解かせたい - その5

コロナで暇なので書きます。 o-treetree.hatenablog.com ↑の続き。とりあえず根幹の計算部分から。要点、というかコード見てすぐにわかりそうにないところを抜き出して解説、というかメモを加える。 プログラムはgithubにあります。 GitHub - oha-yashi/sudo…

我流ナンプレ解法

ナンプレ、数独。有名なパズルです。 3x3のブロックに分けられた9x9のマス目があり、行・列・ブロックの中に1~9の数字を重複しないように入れていくパズルです。 ナンプレの解き方、ネットで調べるとなんか難しいのばっかりで、そんなレアケース見つかんねぇ…

プログラムにナンプレを解かせたい - その4

プログラム(C言語)にナンプレ(数独)を解かせる↓の続編です。 o-treetree.hatenablog.com パワーアップして、それなりに満足できるクォリティに仕上がったので。 丁寧なメモ・雑な説明、という感じで連載します。 使用方法 ダウンロード・インストール 操…

ブログの内容がブレブレな件

このブログ、書いていることがバラバラすぎる 日記 o-treetree.hatenablog.com 旅 o-treetree.hatenablog.com C言語 o-treetree.hatenablog.com 本当はandroidアプリ「automate」についてもっと書いて広めたいと思っていた o-treetree.hatenablog.com 正直長…

ナンプレのマス走査方法メモ【C言語】

最近、C言語にナンプレ(ナンバープレイス)(数独)を解かせるのにはまっています。 プログラムにナンプレを解かせたい - その1 - おはやし日記 プログラムにナンプレを解かせたい - その2 - おはやし日記 プログラムにナンプレを解かせたい - その3 - おは…

1024分の1の確率で"mazai"を出力するプログラム

遊んでたら出来たので書く。C言語初学者に重要なエッセンスがあったりなかったりする(知らんけど(責任逃れ)) プログラム 解説 #include #define 自作関数 mazai_susiki ポイント ちなみに パワーアップ main関数 時間界隈 乱数界隈 rand() srand() その…

プライバシーポリシー ・お問い合わせはこちら