マガジンのカバー画像

文系出身ソフトウェアエンジニアが競プロをやる

16
文系出身のソフトウェアエンジニアが競技プログラミングコンテスト(AtCoder)を行って思ったことや備忘録を公開しています。 GitHubにコードは全て置いてあります。 http… もっと読む
運営しているクリエイター

記事一覧

#15 - 文系出身エンジニアが競プロをやる

#15 - 文系出身エンジニアが競プロをやる

IntroAtCoder Beginner Contest 127です。
正解については公式の解説を参照ください。
やっていきます…!

A - Ferris Wheel
問題

年齢Aに応じて、金額Bが通常・半額・無料になる。与えられるAとBから適切な金額を出力しなさい(13歳以上はB円、6歳以上12歳以下はB/2円、5歳以下無料)。

解答(コード)
#include <iostream>u

もっとみる
#14 - 文系出身エンジニアが競プロをやる

#14 - 文系出身エンジニアが競プロをやる

Introこんちは。
2019/05/19 21:00 - 22:40に「AtCoder Beginner Contest 126」が開催されました。
参加したので、レポートを書いていこうと思います。

AtCoder Beginner Contest 126
今回から設問が6問に増えました。前回参加したABC125と比べると2問増えています。

Rated対象が拡大したのと、知名度が上がっている

もっとみる
#13 - 文系出身エンジニアが競プロをやる

#13 - 文系出身エンジニアが競プロをやる

※このマガジンは不定期投稿です。

Introちわ。今日も過去問を解きます。
今日取り組んだのは、AtCoder Beginner Contest 123のC問題です。
ジムに行きたい vs 競プロやりたい vs ギター弾きたいの三竦みになっており、1日24時間だと足りずに睡眠時間を削るハメになってます。
もっと寝たい。

C - Five Transportations問題概要

配点: 300

もっとみる
#12 - 文系出身エンジニアが競プロをやる

#12 - 文系出身エンジニアが競プロをやる

※このマガジンは不定期投稿です。

Introちわ、今日も競プロをやっていきます。
本日解いた問題は、AtCoder Beginner Contest 121のA-C問題です。
AとBは難しくないので、コードだけぺっと貼って進めます。

A - White Cells提出

問題概要

行と列の数値が2回与えられます。1回目はマス目の大きさで、2回目は塗りつぶす範囲です。塗られなかったサイズを答え

もっとみる
#11 - 文系出身エンジニアが競プロをやる

#11 - 文系出身エンジニアが競プロをやる

ABC122の過去問をやりました。
特に累積和という概念に触れて、頭に落とし込むまでに時間がかかりそうだったので考えたことを以下に言語化しておきます。

AtCoder Beginner Contest 122

C - GeT AC【問題概要】
'A', 'C', 'G', 'T' からなる長さNの文字列Sが与えられます。
以下のQ個の問いに答えてください。

Sのl文字目からr文字目までに"A

もっとみる
#10 - 文系出身エンジニアが競プロをやる

#10 - 文系出身エンジニアが競プロをやる

お久しぶりです。
実家に帰省して、堕落を極めていた結果投稿がおろそかになっていました。

令和も何卒よろしくお願いします。

投稿はおろそかになっていたものの、AOJやAtCoderの問題は解いていたので内容には困らないと思います。
1月毎の振り返りは、ブログにでも書こうと思ってます。
2019/4/7にスタート始めたので来週末ぐらいかな。

さて、それではいつもの通り進めていきます。

今回取り

もっとみる
#9 - 文系出身エンジニアが競プロをやる

#9 - 文系出身エンジニアが競プロをやる

こんばんは、GW2日目です(既に3日目に突入しました)。
俺はGWに特に予定がないので(関東ITSやその他宿が取れなかった)、勉強しつつ体を休めています。

前回の投稿では初コンテストである、ABC125について書きました。

累積GCDがツイッターのトレンドになっていたのが記憶に新しいですね。

さて、今回はStackとQueueについて学習したので書いていきます。
自分でアルゴリズムを実装する

もっとみる
#8 - 文系出身エンジニアが競プロをやる

#8 - 文系出身エンジニアが競プロをやる

GW初日、いかがお過ごしでしょうか。
本日2019/4/27の21:00から22:40にかけて初コンテストに参加したので、それについて書いていきます。

このnoteは一部問題の解説を含むため、初見で解きたいという方はブラウザバックを推奨します。

AtCoder Beginner Contest 125A: Biscuit Generator問題文

ビスケット生産装置を起動すると、起動してから

もっとみる
#7 - 文系出身エンジニアが競プロをやる

#7 - 文系出身エンジニアが競プロをやる

GWに突入しましたね。皆さん10連休どのように過ごしますか?
これだけ大型連休だとどこへ行くにも混みそうなので、僕は何も予定を入れられなかったです(思考停止)。
休日は、ギターの練習と競プロと自分の開発環境の整備にでも当てようと思います。

さて、「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」を読み進めていきます。
僕は週頭に買ってしまいましたが、GWセールで半額程度で購入するこ

もっとみる
#6 - 文系出身エンジニアが競プロをやる

#6 - 文系出身エンジニアが競プロをやる

昨日もそうでしたが、今朝は寝起きから信じられないぐらい頭痛でダメでした。さあ張り切ってプロコンをやっていきましょう。

今回は、昨日書ききれなかった選択ソート(Selection Sort)です。
この選択ソートは、実行を行った結果必ず要素の実行を行うため、安定ソート(Stable Sort)ではありません。

ALDS1_2_B: Selection Sort比較的簡単なアルゴリズムです。

もっとみる
#5 - 文系出身エンジニアが競プロをやる

#5 - 文系出身エンジニアが競プロをやる

今日もアルゴリズムの本を読み進めながら、問題を解いていきます。

まずはじめに出てきたアルゴリズムはバブルソートです。
バブルソートは安定ソート(Stable Sort)です。

配列の末尾から隣接している要素を順番に比較し、求める順序へ置き換えていきます。

バブルソートはその名前が表すように、泡(Bubble)が水面に上がっていくように配列の要素が動いていきます。バブルソートは次のようなアルゴ

もっとみる
#4 - 文系出身エンジニアが競プロをやる

#4 - 文系出身エンジニアが競プロをやる

今日からは先日購入した以下の書籍を読み進めつつ問題を解きます。

『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』

そのため、今回使うコンテストサイトは AOJです。

PCの言語設定が英語なためか、URLに言語パラメータを渡しても日本語になってくれない問題があったりはしますが進めます。(どうやら問題の言語設定は別のところで見落としてたみたいです…)

ALDS1_1_D: Ma

もっとみる
#3 - 文系出身エンジニアが競プロをやる

#3 - 文系出身エンジニアが競プロをやる

夜分遅くにこんばんは。
AtCoder beginners selectionの最後の問題を解きました。
なんか1時間以上かかった気がします。
C問題は結構壁を感じる…。時間かかったので詳細に書いていきます。

問題文シカのAtCoDeerくんは二次元平面上で旅行をしようとしています。 AtCoDeerくんの旅行プランでは、時刻0に点 (0,0)を出発し、1以上N以下の各iに対し、時刻tに対し、時

もっとみる
#2 - 文系出身エンジニアが競プロをやる

#2 - 文系出身エンジニアが競プロをやる

ABC085B - Kagami Mochi下から順に大きい鏡餅だけ積み上げられるから、最大で何枚積めるかを問う問題です。
#include <iostream>#include <algorithm>#include <vector>using namespace std;int main() { int n; int stairs = 0; scanf("%d", &n);

もっとみる