We will hold AtCoder Regular Contest 133.

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

The point values will be 300-500-500-700-800-1100.

We are looking forward to your participation!

Another maroonrk round!

Good.

Yeah!

someone who did Problem B using bipartite matching ?

Is there a solution using bipartite matching?

UPD: the answer is no, why downvotes?

I was thinking of doing something using Hopcroft but was not able to implement, asking here if somehow someone was able to figure out how to cancel out alternating edges to find maximal matching

Problem B reduces to a previous atcoder problem called "cross-free matching" https://atcoder.jp/contests/arc126/tasks/arc126_b

I don't get why in c the sum of A mod K should be equal to sum of B mod K.

Because if you add 1 to (x, y) in the square, then A[x] and B[y] will also add 1 (without the limit of modulus K).

C — Row Column Sums. please anyone explain.

how to aproach this.i can't understand from the editorial.Can anyone explain why we sorting as (i,-j) in B.

Consider another defintion of the dp:

If we go from left to right in p[], we want to pair the current element p[i] with one of the q[j]. We previously searched all indexes in q[] where we find multiples of p[i], let pos[i] be the list of indexes in q[] that are multiples of p[i]

So, let dp[k]=max possible length of an common subsequence ending in q[k]. Then

dp[pos[i][j]]=max(dp[0..pos[i][j]-1])+1 for all positions j and current i

We can solve this with an extra structure like a segment tree. Or, we just sort all the indexes in pos[i] biggest first, and create the LIS on that list.

Edit: Changed LCS to LIS

What is LCS referred to? Can you explain by taking an example.

Actually I wanted to write LIS here, as mentioned in the tutorial, the longest increasing subsequence.

I think I mixed it because the problem is related to the LCS, the longest common subsequence, see LCS

I have a different approach for C.

If we write the sum as $$$\sum_{i=1}^nA_i+K*w_i$$$. I claim that $$$w_1,w_2,...w_{n-1}$$$ must be maximized, we can use adjustment to prove it. Under this constraint, we want to maximize $$$\sum_{j=1}^{m-1}a_{n,j}$$$, this is a simple greedy problem.

Someone please explain C in simpler terms.

For problem F, how to compute $$$w$$$ that mentioned in the editorial?

Now I know this. But I'm still confuse about how to compute it by divide and conquer. His code is too hard to understand.