りにゅうしょく

競技プログラミング 日常

Codeforces Round #634 (Div. 3) バチャ参加記

https://codeforces.com/contest/1335
A, B, C, Dの4完でした。

A. Candies and Two Sisters

N個のキャンディを、a>bになるようにaとbに分配するときの組み合わせの数。\frac{(N+1)}{2}-1が答えになる。

B. Construct the String

Aは答えに関係ない。条件を満たす文字列を作るとき、最初のB文字はabcde……みたいにばらばらにする。以降、B≤i≤N文字目は、i-B文字目と等しいものをつなげていけば、どの連続するB文字を取ってもちょうどB文字バラバラになって、Bより大きい連続部分列Aでも条件を満たせる。

C. Two Teams Composing

a_iの数字の出現回数をmapで管理して、そのvalueの最大値が2チーム目のメンバーの最大数候補になる。mapのsize>valueの最大値のときはvalueの最大値が答え、そうでないときはmapのsizeとvalueの最大値-1のうち、小さいほうが答えになる(valueの最大値から1引くのは、2チーム目に含まれる数字を全部2チーム目に使った場合1チーム目に入れることができないから)。

D. Anti-Sudoku

嫌な見た目(??)をしてる。
数独の仕組み的に、縦・横・3*3のハコ全部が異なるところから1つずつ適当に選んで、選んだ数字を+1すれば通る(9の場合は1にする)。

E1以降もupsolveしたら追記していきたいと思います。ねむい!