読者です 読者をやめる 読者になる 読者になる

競技プログラミングをするんだよ

ICPC国内予選突破を目標に一日一問題以上解いていきます。

UVa 111 - History Grading

UVa

- 問題概要 n個の整数が与えられます。 これはi番目のイベントが番目に発生することを示している。 学生の提出したテストが続いて与えられ、 i番目のイベントが番目に発生したと記述されています。 最も長い正しい年代順の部分列長を答えよという問題です。 …

UVa 110 - Meta-Loopless Sorts

UVa

-問題概要 Pascalのソースコードを出力するソースコードを書けという問題です。 メタプログラミングといってもいいのかな? 条件としては変数名をアルファベットとして宣言し、readlnを使って入力処理。 繰り返し分を使わずにif文のみでソートを行うプログラ…

UVa 109 - SCUD Busters

UVa

今までで一番読みづらい英文でした。 幾何ライブラリを作るべきだと思った問題です。 - 問題概要 王国同士が戦争をしています。 一つの王国は発電所一つと複数の民家で構成され、王国の領地は最も外側の民家もしくは発電所で囲まれています。すなわち、発電…

UVa 108 - Maximum Sum

UVa

- 問題概要 N*Nの重みつき正方形、もとい行列が与えられます。 考えうる部分行列の要素の和の最大値を求めてください。 - 解法 部分累積和問題の基礎中の基礎の問題です。 入力で与えられる行列のi行j列目の要素をm(i,j)とし、 (1,1)から始まるi*jの大きさの…

UVa 107 - The Cat in the Hat

UVa

今回からfor文のマクロを一新してみましたが結局repを使っております。 慣れたものを使うほうがやはり早いのでしょうかね - 問題概要 猫のお話です。 ある身長の猫がいます。その猫は自分が働く代わりに身長が自身のの猫をN匹働かせることができます。 同様…

UVa 106 - Fermat vs. Pythagoras

UVa

C++でinlineというテクニックを覚えました。 再帰をしないが何度も使用する関数に用いるとメモリの許す限り高速化が図れるということなので意識していきたいと思います。 繰り返しのマクロ文が何が適切なのか定まらなくてもやもやします。 今まではrep(i,a,b…

UVa 105 - The Skyline Problem

UVa

ようやく当日投稿が間に合いました。 ABCが全て終わってしまったのでとりあえずUVaを解いていこうと思います。 - 問題概要 ある町があって、ビルが並んでいます。 ビルのx座標の左端、右端、z座標の高さが与えられ、y軸上の十分に遠いところから町を眺めたと…

UVa 104 - Arbitrage

UVa

WA出しても正答率が分からない恐怖。 問題の読みとばしが原因のWAだったので反省。 - 問題概要 Arbitrage、すなわり価格差を利用して利益を得る取引のことです。 裁定取引や鞘取引といったりもするそうです。 ある物品A,B,Cがあって、 AをBに交換、BをCに交…

UVa 103 - Stacking Boxes

UVa

UVa第3回です。 今回は英語がパッと見理解不能だったので翻訳に英文丸ごと突っ込んだのですが 余計わけわからなくなったので結局自力で読みました。 - 問題概要 n個の数字が入った箱がk個存在します。 二つの箱(c,dは整数)について、 を並び替えてできたがを…

UVa 102 - Ecological Bin Packing

UVa

UVa第二回目です。今回はBackGround読んでいません。 - 問題概要 3つの器に3色のビンがごっちゃになって入ってます。一つの器に一色のビンだけ入るようにしたいのですがビンを移動させる本数の合計を最小にしなければなりません。 出力はどの器にどの色を入…

UVa 101 - The Blocks Problem

UVa

UVa第一回目です。 100の3n+1は以前解いているのでまた今度。 UVaは英語なので簡単な訳と例を交えながら。 - 問題概要 BackGroundにごちゃごちゃと書いてありますが要するにブロックを扱うロボットのプログラムを作るというお話です。 ロボットは入力で与え…