chacoderのブログ

競技プログラミングそのほか

2020-08-01から1ヶ月間の記事一覧

三分探索を考えた

はじめに 凸関数(もしくは凹関数)の極値を求める三分探索という方法を学びました。今回は、f(x)=x^2+2.3-5の極値を三分探索を使って求めることに挑戦します。ちなみにグラフはこんな感じ。 関数部分 関数部分をfuncで準備します。 ためしに-5から5の範囲で…

ARC024B 赤と黒の木

問題 考察 コード 問題 B - 赤と黒の木円周上に赤と黒の木が並んでいて、両隣が同じ色の木は翌日に色が変わります。 色が変わらなくなるまでの日数を出力します。 変わり続ける場合は-1を出力します。 考察 まずすべての木が同じ色の場合はすべての木が永久…

ABC045C/ARC061C - たくさんの数式

問題 考察 実装のポイント ACしたコード 問題 C - Many Formulas1以上9以下の数字からなる長さ10までの文字列の好きな場所に+を挿入します。 1つも入れなくてもかまいません。 できた文字列を数式とみてその値の合計値を求めます。 考察 2か月ほど前に…

ABC177 参戦記

成績と簡単な感想 A問題 B問題 C問題 C問題のWAしたコード 検討 書き直したコード 更に検討 D問題 E問題 復習など 2020.8.29 21:00-22:40に開催されたABC177に出場しました。atcoder.jp 成績と簡単な感想 ABCEの4完 99分49秒 9ペナ でパフォーマンスは…

ABC131E -Freindship

問題 検討 下準備 pairの使い方 pairを要素とするvectorの入力と出力 違う書き方 ACしました。 pairの入力について {}でくくる 型名pairをつけて入力 make_pairを使う 問題 atcoder.jpN頂点の単純かつ無向グラフで最短距離が2であるような頂点対がちょうどK…

第12回日本情報オリンピック 予選(オンライン )D-暑い日々(Hot days)

問題 考察 書いてみた ACしたコード 問題 atcoder.jpJOIの難易度5の問題です。 考察 ぱっと見でDPか貪欲かという感じですが日数と服の種類の制約がそれぞれ200なのでDPで書いてみました。i日目に服jを選んだときのスコアの最大値をdp[i][j]とおいてみま…

M-SOLUTIONS プロコンオープン D - Maximum Sum of Minimum

問題 考察 コード 前半 構築に苦しむ デバッグ続き ACしたコード atcoder.jp 問題 木の各頂点に与えられた数列の要素を書き込みます。 辺には両端の頂点の数字のうち小さい方を書き込みます。 辺に書き込んだ数字の合計(スコア)が最大になるようにしたとき…

ABC106D - AtCoder Express 2

問題概要 検討 ACしたコード atcoder.jp 問題概要 駅(N 2つの駅間で完結する列車の数を求めるキュー(M 検討 昨晩のバチャで初挑戦した問題ですが,どう解いていいのかわかりませんでした。 多数のキューがある問題なので愚直にやるとTLEしそうです。 累積…

エイシングプログラミングコンテスト2019 C-Alternationg Path

最初の検討 解説読んで AC! 考えたことなど エイシングプログラミングコンテスト2019 C-Alternationg Path 最初の検討 検討中です。 なかなかうまくいきません。 もう少し考えてみます。 #include <bits/stdc++.h> using namespace std; int H,W; char E[410][410]; int dx[</bits/stdc++.h>…

ABC176D

検討1 検討2 検討3 検討4 atcoder.jp一昨日のABC176D Wizard in Mazeにトライしました。 怖がって手をださないでいると永久に怖いので思い切って書いてみました。 検討1 自力で考えて書いてますがどうにも解けません。 もう少し悩みます。 #incl…

ABC100バチャ

早解きのためバチャで練習します。 今日はABC100のバチャをやりました。結果は40分3完でパフォは1080くらい。すべて1回解いたことのある問題なのに手間取りました。 特にDは解ききれませんでした。練習を重ねます。

第11回日本情報オリンピック 本選(オンライン) JJOOII

問題 提出コード 解答例 問題 https://www.ioi-jp.org/joi/2011/2012-ho-prob_and_sol/2012-ho.pdf#page=2 提出コード 問題文のとおり実装するだけなのですがだいぶ手間取りました。 なんとかAC. #include <bits/stdc++.h> using namespace std; int main(){ string S; cin></bits/stdc++.h>…

第11回日本情報オリンピック 予選(オンライン) D-パスタ(Pasta)(検討中)

atcoder.jpトライ中ですがDPの組み方に悩んでいます。 後日の検討のためWAしたコードをあげておきます。 #include <bits/stdc++.h> using namespace std; int main(){ int N,K; cin>>N>>K; //DPテーブルの設定と初期化 long long dp[110][3]; for(int i=0;i<N;i++){ for(int j=0;j<3;j++){ dp[i][j]=0; } } //既決分の入力 int a,b; for(int i=0;i<K;i++){ cin>>a>>b; a--; b--;</n;i++){></bits/stdc++.h>…

原始ピタゴラス数を捜す

原始ピタゴラス数 コード 出力 考察 更に考察 更に先へ www.amazon.co.jp 原始ピタゴラス数 数学ガール フェルマーの最終定理 問題2-1 原始ピタゴラス数は無限に存在するか を検討するため,原始ピタゴラス数を探索するプログラムを書いてみました。ピタ…

ABC176参戦記

はじめに A問題 B問題 C問題 D問題 E問題 最初の方針 次の方針 真の課題 コンテスト終了後のトライ 反省と次回に向けて atcoder.jp はじめに 2020年8月22日21:00からABC176に出場しました。結果は14分43秒 3完で9496人中4400位、パフォーマンスは705でレーテ…

ABC032C - 列

問題 考察 ACしたコード atcoder.jp 問題 長さNの数列の連続する部分列の要素の積がKを超えない最長の部分列の長さを求める問題です。 考察 サンプルで数列の要素に0が含まれる場合があり,この場合はすべての積が0になるのでNを出力します。そのほかの場…

NOMURA プログラミングコンテスト 2020 C - Folia

考察 ACしたコード atcoder.jp 考察 NOMURA プログラミングコンテスト 2020 C - Folia 解説ACです。木というだけで何となく苦手な意識をもってしまいがちでしたが、解説を理解しじっくり取り組んでACできました。ポイントは構築段階の最大ノードのカウントの…

AGC029 B.Powers of two 考え中

atcoder.jp見た目はとっつきやすい問題ですが難しいです。二重ループを回して組み合わせを全探索することを考えましたが,①データが2*10e5あってそのままではTLEする,②同じ要素を重複して使わないようにする処理が難しい,という2つの課題が残りました。も…

天下一プログラマーコンテスト2014予選A B.がぶりん!

がぶりん!をACしました。特別なアルゴリズムがでてくるわけではない実装するだけの問題ですが,がぶりんを投げて帰ってくるところをどう処理するか,コンボのカウントをどう処理するか,など悩みながら実装しました。 余計なことを考えて無駄に複雑にしてい…

EDPC

基本的なDPの復習をしました Flog 1 Vacation さらにがんばります 基本的なDPの復習をしました 今日は基本的なDPの復習をしました。以前(約半年前)に初めてけんちょんさんの記事で勉強したときには、DPについて理解は進みましたが、まだ配るDPと貰うDPの違…

CODE FESTIVAL 2014 予選B C - 錬金術士

1 WAしたコード ACしたコード 1 WAしたコード 簡単に考えて書いてみましたがWA。 #include <bits/stdc++.h> using namespace std; int main(){ string s1,s2,s3; cin>>s1>>s2>>s3; int len=s1.length(); map<char,int>mp1; map<char,int>mp2; map<char,int>mp3; for(int i=0;i</char,int></char,int></char,int></bits/stdc++.h>

惑星探査 (Planetary Exploration)  第 10 回日本情報オリンピック 2010/2011 本選 第1問

https://www.ioi-jp.org/joi/2010/2011-ho-tasks_data/2011-ho.pdf#page=2 二次元累積和の問題が続きます。 わりとスムーズに書けましたが20分ほどかかりました。 #include <bits/stdc++.h> using namespace std; int MDN[1010][1010][3]; int main(){ int M,N,K; cin>>M></bits/stdc++.h>…

ABC005 D -おいしいたこ焼きの焼き方

atcoder.jp 問題文を誤読していたりしてバグり散らかしましたがなんとかAC. がりがりの探索でTLEが心配でしたが実行時間5sec!に助けられて間に合いました。 高速で通している人も多いのでもっと工夫はできそうです。 二次元累積和の考え方もだいぶ定着。 け…

第10回日本情報オリンピック 予選 D-1年生(A First Grader)

WAになったコード ACしたコード 感想 先日に続いて1年生に挑戦です。自分なりのDPで書いてみました。 WAになったコード i番目の数まで足したときの値が0~20の範囲なので、i番目までとそこまでの計算結果をdpの配列にしてみました。 足し算の結果の場…

ABC175D Moving Piece

ABC175Dとりあえず書いてみましたが何ケースかWA。 だいぶ苦労してACしました。70行弱の自分的には重実装。最後に気づいたのはサループする場合に余りのところだけでなくループの最後の一周分も回さなければならないところ。自分でつくったケース 5 10 2 3…

自分でランダムケースをつくってバグとりをする方法(Chokudaiさんのツイートから)

Chokudaiさんのツイートからこの一連のツイート、まぁ流れちゃうので誰かQiitaとかにパクって書いてくれてもいいのよ。https://t.co/5HHCbR90KD— chokudai(高橋 直大) (@chokudai) August 16, 2020 回答部分と入力部分の分離 まずこんな感じで、回答部分と入…

2010年 日本情報オリンピック春合宿OJ contest - コンテスト (Contest)

問題文 https://www.ioi-jp.org/camp/2010/2010-sp-tasks/2010-sp-day4_23.pdfコンテストの得点システムのシミュレーションです。 考察 一見して面倒そうだなと思いましたが丁寧に実装していくと難しいところもなくできました。いろいろなテーブルをつくるの…

AGC018B Sports Festival

問題概要 考察 提出コード その他 問題概要 N人がM種類のスポーツについて好きな順位を持っています。参加者は、スポーツ大会が開かれた場合に一番好きなスポーツのみに参加します。参加者が最大になるゲームの参加者の最大値が最小になるように実施するゲー…

ABC175で冷えたこと

はじめに コンテスト経過 コンテスト中の感想 A問題 B問題 C問題 D問題 Ε問題 冷えにこそ成長の糧あり はじめに みなさんこんにちは。 ABC175で緑化するつもりで色変記事のドラフトまで準備して臨んだのにみごとに冷えたchacoderです。勝ちに不思議の勝ちあ…

1年生 (A First Grader)  第10回日本情報オリンピック 予選4

問題の概要 1桁の数字の羅列(2 計算の途中で負になったり20を超えたりする場合はエラーです。等号がなりたつ数を回答します。 入力例 11 8 3 2 4 8 7 2 4 0 8 8 出力例 10 bit全探索で書いてみた 最初、問題文をN 当然N 小さなケースの部分点20点だけを…