ABC345挑戦記(C問題)

↓問題のページ↓ AtCoder Beginner Contest 345 C - One Time Swap ※本記事は0-indexedを前提として記載する。 <内容の振り返り・解法> 方針はすぐに思い浮かんだものの、C++の言語仕様を知らなかったために80分近く無駄に時間を失い、低いパフォーマンスに…

ABC335挑戦記(C問題)

↓問題のページ↓ AtCoder Beginner Contest 335 C - Loong Tracking <内容の振り返り・解法> 更新クエリがやって来るごとに全パーツに対して座標の情報を更新する方針しか思い浮かばず、TLEしない解法を全く見出すことができず本番AC取得失敗に終わった。解…

ABC332挑戦記(C/D問題)

C問題の実装に若干手間取ったのと1か所の考慮漏れにより1WAを食らったことが大きく響いた。解説で示された内容自体は比較的容易に理解できるものだっただけに、本番中にD問題でACを獲得するための勉強が足らず4000位代という結果に終わったのが頗る悔やまれ…

ABC331挑戦記(C問題)

↓問題のページ↓ AtCoder Beginner Contest 331 C - Sum of Numbers Greater Than Me ぱっと見ですぐには解法を思い浮かべられなかったので体感C問題にしてはやや難しい方かなと思ったが、AtCoder Problemsの統計を見ると灰色なのでさっさと解けなければなら…

ABC326挑戦記(D問題)

↓問題のページ↓ AtCoder Beginner Contest 326 D - ABC Puzzle 最終的にはこの問題に敗北し、終了後に kyopro_friends氏による公式解説 の通りに実装した(これに伴い、 既存の順列全探索用ライブラリ を改良し、複数の順列に対しても全探索を実行可能とした…

Java向け競プロライブラリ(構成文字で並べ替えた文字列)

以下の問題を解くための手法として「2つの文字列S, Tについて、Sの各文字を並べ替えてTに一致させられるかを考える場合、SとTの各文字を昇順に並べ替えてできる文字列どうしを比較して一致しているかどうかを判定する」と公式で解説されており、ライブラリを…

Java向け競プロライブラリ(一致文字列長)

以下の問題を解くための手法として「2つの文字列を順方向・逆方向それぞれに走査し、一致する部分の最大長を求める」というものが公式解説に用意されており、ほとんど典型手法と見なされている(諸説あり)にもかかわらず、ライブラリを用意していなかったの…

Java向け競プロライブラリ(ランレングス)

文字列をランレングス圧縮すると解きやすい問題向けのライブラリです。なお、本記事では自前ライブラリのPairを利用しています(以下参照)。 Java向け競プロライブラリ(ペア) - JunKobayashi’s diary 例えば以下の問題で役に立ちます。 AtCoder Beginner Co…

Java向け競プロライブラリ(順列)

まずは、1つの順列のみを必要とする問題で使用するクラス(ただし、 \begin{align} 10! &= 3628800 < 3.7\times 10^6\\ 11! &= 39916800 < 4\times 10^7\\ 12! &= 479001600 > 4.7\times 10^8 \end{align} を考慮すると、探索範囲の大きさが1つの順列のみに…

Java SE 11 Gold 自分用メモ(3)

並行処理:シングルコアのCPUで見られる。実行すべき複数の処理が存在する時、一定の時間(0.1秒とか0.01秒とか)が経過するごとに実行する処理を切り替えることにより実現する(ある瞬間だけを切り取ると実行している処理は当然1つのみ) 並列処理:マルチコア…

Java SE 11 Gold 自分用メモ(2)

java.util.functionパッケージの関数型インタフェースのうち、名前が「Bi」で始まっているものは、「Bi」を取り去った名前の関数型インタフェースが、引数を2つ受け取り、それらを処理に使用するように変わったもの(命名パターンに関しての例外:UnaryOperat…

Java SE 11 Gold 自分用メモ(1)

インナークラス・staticインナークラスともに、全アクセス修飾子(public/protected/private)、final、abstract付与可能 ローカルクラス(メソッド内で一時的に定義されるクラス)はfinalとabstractのみ付与可能、匿名クラスはアクセス修飾子、final、abstract…

Eclipse・GitHub間の連携手順(新規プロジェクトの初回プッシュ)

function scrollToId(elementId) { var destination = document.getElementById(elementId); destination.scrollIntoView(); } いろいろな設定を噛み合わせるのにかなり苦労したため、途中でつまずいた点も併せて備忘録として残しておきます(ここで使ってい…

Java向け競プロライブラリ(ペア)

ソート可能なペアとして入力値を取り扱うと解きやすい問題向けのライブラリです。必要ならば、問題の条件に適合するようにソート条件を変更して使います。 例えば以下の問題で役に立ちます。 AtCoder Beginner Contest 256 D - Union of Interval 2023/09/18…

PleiadesによりEclipseを日本語化する手順(Windows 64bit OS)

function scrollToId(elementId) { var destination = document.getElementById(elementId); destination.scrollIntoView(); } Pleiadesプラグインの公式ページ になぜか掲題の作業手順が記載されていなかったため(私が見落としているだけだったらごめんなさ…

Java向け競プロライブラリ(素数)

素数が絡んでくる問題向けのライブラリです。 問題の制約に合わせて適宜sieveSizeの値を変更して使用します。 例えば以下の問題で役に立ちます。 AtCoder Beginner Contest 250 D - 250-like Number AtCoder Beginner Contest 254 D - Together Square impor…

Java向け競プロライブラリ(最大公約数・最小公倍数・約数洗い出し)

最大公約数・最小公倍数が絡んでくる問題向けライブラリです 例えば以下の問題で役に立ちます AtCoder Beginner Contest 162 C - Sum of gcd of Tuples (Easy) AtCoder Beginner Contest 253 D - FizzBuzz Sum Hard final class GcdLcmCalculator { /** * ユ…

Java向け競プロライブラリ(Bit全探索)

要素数が20以下程度の配列で入力される場合に思い浮かべておくと得につながりがちな気がします。 例えば以下の問題で使用するとよいです。 AtCoder Beginner Contest 249 C - Just K final class BitWholeSearchHelper { public static String getBinaryStri…

Java向け競プロライブラリ(幅優先探索)

幅優先探索を使用する問題向けのライブラリです。例えば以下のような問題に対して使用すると有用です。 AtCoder Beginner Contest 007 C - 幅優先探索 AtCoder Beginner Contest 204 C - Tour import java.util.ArrayDeque; import java.util.ArrayList; imp…

Java向け競プロライブラリ(二分探索)

java.util.ArraysクラスにbinarySearchメソッドは実装されていますが、「keyで指定された要素を複数持つ場合にはどれが返されるか保証されていない」という使い道に困り果てそうな実装であるため、自前でライブラリを持っておくべきかと思われます Arrays (J…

Excelメモ:数式によりシート内の範囲を図として挿入

※タイトルのことを実現したい時の手順を何度も忘れてしまって非生産的すぎたため備忘録として残しておきます(ほとんど自分用のメモです) 1)「挿入」→「図の挿入」を使い、貼り付け先のシートにダミーの図を挿入 2)上記手順1)でセットした図をクリックして…

ルータを認識しているのにネットに繋がらない現象の解決

(解決まで1日まるごと苦しんだので備忘録として残しておきます) 結論としては、アクセスする側のマシンやルータ自身の設定値が狂っていたわけでも何でもなく、ルータにケーブルを繋ぎ直す際、誤って「INTERNET」ポートにモデム以外のケーブルを繋いでしま…

Javaで日付を表す文字列がカレンダーに即しているか判定する

見出しの通りの機能を持つクラスです。必要に応じてYMDのパターンと正規表現を追加していけばいい感じに使えると思います。isOnCalendarメソッドを呼び出せば判定できます。 import java.text.ParseException; import java.text.SimpleDateFormat; import ja…

EclipseとWebSphere Libertyを使ったWebアプリケーション開発環境構築

※自分用のメモも兼ねています 1.Eclipseをインストール Pleiades All in Oneダウンロードを使ってFull Editionを取得(ゆとりとか言うのはNG) https://mergedoc.osdn.jp/ Fig. 1 Pleiadesを利用しEclipseを取得 Fig. 2 各人のOSに合わせて取得(私は64bit Wi…