問題解決の宝石箱

競技プログラミング/数学ネタ置き場

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

JOI春合宿 2012年 Day3-B カンガルー

今度こそ*1 今年最後の記事。 問題 JOI春合宿 2012年 Day3(PDF) 【JOI春合宿 2012年 Day3-B : カンガルー】 $N$ 匹のカンガルーがいる。それぞれの体の大きさは 、ポケットの大きさは $B_{i}$ である。 カンガルーたちは、以下の条件を満たす限り、カンガル…

Wunder Fund 2016-F : Double Knapsack

おそらく今年最後の記事。 問題 Wunder Fund 2016-F : Double Knapsack 【Wunder Fund 2016-F : Double Knapsack】 長さ $N$ の正の数列が 2 つ与えられる($A, B$ とおく)。 数列に含まれる数は 1 以上 $N$ 以下の整数である。 $A, B$ から空でない部分列を…

鳩の巣原理特集

Competitive Programming Advent Calendar 2016 23日目の記事です。 鳩の巣原理と、競技プログラミングでの使われ方を紹介します。 鳩の巣原理とは 昔々あるところに、5羽の鳩がおりました。彼らをすべて巣箱に入れたいのですが、あいにく巣は4つしかありま…

SRM700 Div1Medium. CrazyFunctions

SRM700 Div1Medium. CrazyFunctions 整数 , が与えられる。以下の条件を満たす関数 を数え上げよ。 の定義域および値域は 1以上n以下の整数である。 を満たす。関数 の定義は以下の通り。 は の最小値を返す関数。 は任意の非負整数。 は 集合 の要素数。 は…

CODE FESTIVAL 2016 予選B E. Lexicographical disorder

日本語につき問題文は略。 code-festival-2016-qualb.contest.atcoder.jp 解法を2つ紹介する。

指定区間の最大値/最小値のインデックスを求めるクエリにたくさん答えたい part2

hama-du-competitive.hatenablog.com 前回の記事の最後で紹介した練習問題の解答編。問題を整理して再掲する。 長さ の数列 が与えられる。クエリに 個答えよ。 全ての問題において、制約は以下の通り。 数列の長さ: 要素の値: クエリの数: 問題1 i 番目…

Codeforces Goodbye 2015 D. New Year and Ancient Prophecy

Codeforces Goodbye 2015 D. New Year and Ancient Prophecy 桁の数が与えられる。桁の間にいくつか*1線を引いて分割し、新たな数列を得ることを考えよう。 例えば、数 314159265358979 を 3 | 141 | 592 | 6535 | 8979 のように分割すると、数列 が得られる…

指定区間の最大値/最小値のインデックスを求めるクエリにたくさん答えたい part1

区間内の最大値/最小値のインデックスを求めるRMQの実装を求めています。— tookunn (@tookunn_1213) October 6, 2016 この問題を以下のように定式化した。効率よく解けるだろうか? 長さ の数列 が与えられる。以下のクエリに 個答えよ。 クエリ1 : i 番目の…

AGC #005-D ~K Perm Counting

日本語につき問題文は略。 agc005.contest.atcoder.jp

与えられた数列の区間中の種類数を求めるクエリにたくさん答えたい

長さ の数列 が与えられる。以下のクエリにたくさん答えよう。 クエリ : 区間 中に出現する数の種類数を求めよ 以下の制約で、効率的に解くことはできるだろうか? 数列の長さ: 要素の値: クエリの数: 以下、解法を3つ紹介する。