We will hold AtCoder Regular Contest 156.

- Contest URL: https://atcoder.jp/contests/arc156
- Start Time: http://www.timeanddate.com/worldclock/fixedtime.html?iso=20230218T2100&p1=248
- Duration: 120 minutes
- Number of Tasks: 6
- Writer: chinerist, nok0
- Tester: maspy
- Rated range: — 2799

The point values will be 400-500-600-700-800-1000.

We are looking forward to your participation!

I hope the problems of this contest have fewer corner cases.

Narrator: Alas, crazy_sea was wrong.

A had edge cases, B and C didn't have any.

trash round

Amazing round.

hope everyone get good rating

Amazing round.

cpp 20 when

Good luck! (I still have $$$+\infty$$$ homework)

!!!

Amazing round.

Probably you can not write checker in O(N) for the third?

2: Maybe it's because of the checker complexity.

I believe the checker for C is not easy when $$$N$$$ is large. (In fact, it's not obvious even for $$$O(N^2)$$$ time.)

My solution of C is $$$O(n^2)$$$.

How to solve the problem B?

Hint 1:Think in terms of mex of final multiset.

Hint 2:How can you relate it to the stars and bars concept ?

Assume, the mex of the final set is $$$x$$$. In this case, all numbers less than $$$x$$$ are in set. The ones, that are not, have to be added. Assume, we added $$$y$$$ of such numbers.

Now, we have to add $$$k - y$$$ more numbers. These are numbers from $$$0$$$ to $$$x - 1$$$. We are counting number of sets, so we have to "find number of non-decreasing arrays of length $$$k - y$$$ with elements from $$$0$$$ to $$$x - 1$$$". Now, not easy combinatorial step: we have to put $$$x - 1$$$ stages into $$$k - y + 1$$$ positions. This is number of "combinations with repetitions": $$$C_R(k - y + 1, x - 1)$$$. Rewrite as usual combinations: $$$C_R(a, b) = C(a + b - 1, a)$$$.

How to solve C ?

For an $$$x$$$, define $$$q_x$$$ as the number such that $$$p_{q_x}=x$$$.

The minimum similarity has to be at least 1, as one can choose path $$$(x,q_x)$$$ to make it 1. So consider constructing a permutation that makes the answer 1.

Let's consider a leaf $$$x$$$. If this node makes a contribution of 1 to the final answer, than the final path must contain path $$$(x,q_x)$$$. As $$$x$$$ is a leaf, $$$x$$$ will be the first element in the LCS. Then we only need to ensure that there is no other same element after $$$q_x$$$. One simple way to do this is to make $$$q_x$$$ the leaf. Then we get the idea to shuffle the indexes of the leaves. It's not hard to prove that if we do this, any LCS with a leaf will have length of at most 1.

Then return to the original problem. Note that since leaves will not make any further contribution, we can simply delete them and do the same thing on the resulting tree again and again, until there's only 0/1 nodes left. Then we can do some trivial assignments and the whole process is finished. It can be proved that in this case, the answer is at most 1, which is obviously the best answer we can get.

INF corner cases in A

B was good problem

can you provide failing test case

The output is supposed to be

thanks!

i'm really dumb

Sorry, there was a mistake in the output, just fixed it. TC 3 in my input seems fine in your code.

yeah but i got my mistake thanks again.

anybody cares to explain problem B question not solution ?

yet another weird screencast

:) Видео недоступно Оно содержит материалы партнера SME. Он заблокировал ролик в вашей стране из-за нарушения авторских прав.

use VPN then

Did u find a test case on problem F where your code dosen t work, because i had WA on the same tests an was wondering where the mistake could be.

It doesn't work on the second sample. I need to choose which elements to delete in trees more carefully, I don't yet know how exactly.

Hi, is there a name for dp code in D? Is it some kind of trick for powers of 2?

The dp itself is ad-hoc here, it's not something standard. If you want to categorize it, I would say it is similar to knapsack, but it's not just textbook.

The idea of the whole solution is from Lucas's theorem. I think that my solution is the same as the one in the editorial.

I read the editorial and understood the first part. And that we need to do a weird knapsack on 60 bits. But the dp itself is not obvious

Linear time solution to E. It's nothing inspiring compared to a quadratic time solution, just beating up the quadratic code till it falls in place.

How does the computing of inverses modulo MOD work in this editorial precomputation?

Where does this equation

`inv(x) mod MOD = -inv(MOD mod x) * floor(MOD/x) mod MOD`

come from?click

A, B and C are easy. UPD: Just a joke, why so many downvotes :-}

Could anyone explain the editorial solution for problem D? It would be of great help...

Why the problem F can be solve in $$$O(n\sqrt{n})$$$ time.