We will hold Mynavi Programming Contest 2021(AtCoder Beginner Contest 201).
- Contest URL: https://atcoder.jp/contests/abc201
- Start Time: http://www.timeanddate.com/worldclock/fixedtime.html?iso=20210515T2100&p1=248
- Duration: 100 minutes
- Number of Tasks: 6
- Writer: chokudai, kyopro_friends, penguinman, QCFium
- Tester: kyopro_friends, tatyam
- Rated range: ~ 1999
The point values will be 100-200-300-400-500-600.
We are looking forward to your participation!
How to solve today's D ?
I have uploaded a video solution for the D problem (DP and Game Theory): https://www.youtube.com/watch?v=4YvP747OUUk&t=5s
Thank you, but I dont know about minimax, how can I learn it from basic ?
Minimax is just a type of problem in Game Theory and the best way to learn it would be to solve problems related to it. (A lot of Minimax problems are also Dynamic Programming.)
You can solve LeetCode problems on Minimax first — https://leetcode.com/tag/minimax/
The above list also includes the problem "Predict the Winner" which I mentioned in the video.
There are also a few Geeks for Geeks articles which you can read on Minimax starting from this one — https://www.geeksforgeeks.org/minimax-algorithm-in-game-theory-set-1-introduction/
Thank you with much respect !
How to solve E in faster than O($$$n^2$$$)? If LCA is intended, why ask dist to be calculated as XOR?
Edit: Thanks Matua, Corrected the error
Same problem
Oh man it is exactly same. I spent much time in finally getting the transitions of distribution of bits in paths from a node to any other in its subtree.
Thanks for that TL on E. Reminded yet again how dangerously slow vector push_back can be smh
I got three TLE because of this.
what we have to use instead.?
Were you working with many small vectors?
How to solve D ? Could only do A,B,C,E :(
Here are my solutions,
UPD: I was getting DM's to explain my approach in E here it is,
Notice that there is only 1 path from u to v in a tree.
Next this path is passes through the LCA of u,v in that tree.
So $$$d(u,v)$$$ $$$=$$$ $$$d(u,ROOT)$$$ $$$\oplus$$$ $$$d(LCA(u,v),ROOT))$$$ $$$\oplus$$$ $$$d(v,ROOT)$$$ $$$\oplus$$$ $$$d(LCA(u,v),ROOT)$$$
The LCA term gets xorred twice and becomes 0 and we are left with only ROOT distances which can be precomputed.
So essentially we have to find :
$$$res$$$ $$$=$$$ $$$\sum\limits_{i=1}^{n}\sum\limits_{i=1}^{n}{{d[i]}\oplus{d[j]}}$$$
Which is a standard contribution technique problem.
Notice that it will count pairs (d[i],d[j]) and (d[j],d[i]) twice so in the end multiply $$$res$$$ by modular inverse of 2.
For D I thought of some dp of pairs but could not get it to work.
UPD : Thanks for sharing your approaches in D :D
D is a dp problem. Try to think with states row and column where you start and dp[row][col] stores the maximum difference you can get from there. This can be easily correlated to maximum differences from the row+ 1,col and row, col + 1.
D
dp[i][j]: max{score of first — score of second } starting from (i,j)
Can E be solved using Centroid Decomposition?
Also, E was available online. Link
Thanx got the mistake.
Probably overflow on line 117. The term $$$aa$$$ could go upto $$$10^{10}$$$ (when half the bits are zero, half are odd). You are multiplying $$$10^{10}$$$ with $$$2^{60}$$$ without applying modulo first.
thank you.
Its a very bad mistake.
I took a much longer route for E. I used dp. Calculated the number of times a bit can occur and not occur in the paths from node to other node in its subtree. This can be related to the bit distributions from child. Using this, here I calculated the number of times a bit occurs if we consider one node from two different child subtree. Also, the contribution if we consider the present root and any other node in its subtree.
and then adding the contribution from each node, will give the ans. Submission
Can someone tell me Why I am getting WA on E? I had used same approach as Editorial. Submission
Edit: got it. Changed "ans=(ans+z*(dp[i]*dp1[i])%mod)%mod;" to ans=(ans+(((z*dp[i])%mod)*dp1[i])%mod)%mod; to get AC, Overflow maybe happening
Can anyone tells what's wrong with my solution with problem D,I think that the idea is similar to the editorial,I fail even I change the direction of iterating. My submission's link:https://atcoder.jp/contests/abc201/submissions/22620773
how to solve C using Permutations and combinations?
I tried it with PNC and was getting many cases. I guess this problem was meant to bait with PNC and the solution was brute force instead.
If there is a PNC solution , please tell
.
Did anyone manage to pass TL in problem E with Centroid Decomposition?