We will hold AtCoder Beginner Contest 319.
- Contest URL: https://atcoder.jp/contests/abc319
- Start Time: http://www.timeanddate.com/worldclock/fixedtime.html?iso=20230909T2100&p1=248
- Duration: 100 minutes
- Number of Tasks: 8
- Writer: MMNMM, leaf1415, Nyaan, chokudai, m_99, evima
- Tester: kyopro_friends, Nyaan
- Rated range: ~ 1999
The point values will be 100-200-300-400-450-550-575.
Until ABC 318, we used 8 problems per contest because there were many difficult tasks we wanted to use in ABCs. Since we have used most of them, from this ABC, we will use 7 problems per contest.
The difficulty of problems A-F will not be changed. The range of difficulty of new problem Gs will be wider, some of them can be as easy as current problem Gs, while others can be as hard as current problem Exs. Please check the point values of each contest for more accurate estimation of difficulties.
We are looking forward to your participation!
Number of Tasks:8
So where is the 8th problem???
This game only has 7 tasks, I don't know if this means the overall difficulty has increased
The post said:
The difficulty of problems A-F will not be changed. The range of difficulty of new problem Gs will be wider, some of them can be as easy as current problem Gs, while others can be as hard as current problem Exs.
What the hell is problem statement of C?
The atcoder crashed...
dude can you explain qC
I don't know what does C mean too.
I don't know what does C mean too.
I don't have any ideas about C-False Hope.
You can consider all permutations of the order Takahashi sees the grids, check if it satisfies the condition easily. I agree the statement is not so clear, and that reading is the hardest part in solving the problem xd.
How we're calculating the probability tough!
wdym? isn't the probability equal to "total number of permutations that satisfy condition"/(1*2...*9) ?
But I think it's harder than usual
C has the worst problem statement I've ever seen.
.
Literal False hope
After reading C:
The Problem statement and explanation for C is too bad
Task C was really a disaster.
Never seen such a bad description of a problem ,Even the Explanation of test cases are not clear.
Am I the only one who thought E >>> (F and G)
how F please
you can do bitmask dp (bitmask denotes consumed medicines), notice that it's always optimal to defeat any enemy as soon as you can defeat it
Thank you very much! I didn't see the medicine constraint during the contest :(
Probably because $$$G$$$ is a kinda-standard problem?
But I think E is easier than F. $$$1\leq P_i\leq 8$$$ gives it away.
How did you do E?
Consider lcm(1 ... 8) = 840, so all the starting time that have the same value after mod 840 has the same min time to transport from station 1 to n. Just preprocess the min time of station transportation starting at time x(mod 840) and answer the questions after this.
Could you provide with a proof for this?
sort of obvious rly... I am really sorry, but I dont know how to put the explanation into mathematical terms :(
but maybe you can figure out by examining all the time mod p[i] after visiting station i and you will see.
Let's say you have $$$2$$$ buses having $$$p$$$ $$$=$$$ $$$[5, 6]$$$ and $$$t$$$ $$$=$$$ $$$[3, 4]$$$
If you reach the first bus stand at $$$0$$$, you can take the first bus at $$$0$$$, reach the bus stop after $$$3$$$ units of time, start bus two at $$$6$$$, and reach the final bus stop at $$$10$$$.
You can find the same for different values when you reach the first bus stop. It will be different for starting times (in this case) $$$6, 11, 16, ...$$$
Now try to find the bus travel time if you reach the first bus stop at time equal to $$$lcm(5, 6) = 30$$$. You'll realize that the position of buses is exactly the same as it was at the time $$$= 0$$$. So the value is same and this pattern will continue.
$$$L = lcm(P_1, P_2, ..., P_N)$$$
The same configuration of bus availability repeats after every $$$L$$$ units of time.
Since $$$1\leq P_i\leq 8$$$, the value of $$$L$$$ is very small. You can simulate the whole process for time units $$$0$$$ to $$$L-1$$$.
Can anybody explain C ?
just find all valid orders by brute forcing over all permutations of length 9
how to solve D?
Binary Search
In D, what if the order of the words didn't matter, so would that problem be solved by dp ? How would we implement the solution in that case ?
First five problems without C, how awkward, and bad problem.
Laugh at A, get confused about B, and then give up understanding at C.
I request Atcoder to take some action against a mass group whose user name starts with "klu". These all students belong from a certain university and have clearly mass copied, this drastically pushed the ranks.
Even with mass cheating, these losers could solve only the easiest three.
wtf why do those Indian cheaters start invading AtCoder too?
Can someone explain the statement of C?
In problem C,Takahashi can see numbers in each cell in 9! different ways and we have to calculate valid permutations.A valid permutation is one in which for each row,column and diagonal which consists of two same values and one different value,he must visit the cell with different value before atleast one of the other two cells with same value. After that , the implementation is pretty much brute force.
But the definition of valid permutation (not disappointed) was not clear at all atleast for me personally, it took me 40 min to understand what question is asking us to do and 7 odd minutes to implement it.
Same with me.The problem statement should be more clear.
G is even easier than F
I think this can be called a ABC319C disaster.
Can't agree more. Many of my classmates give up solving D,E when seeing C.
What is C? Why is C?
Why there's no English Editorial?
When will the English Editorial be released
How to solve G? I used simple BFS with o(n^2*log(n)) solution using sets and got TLE.
Oh typical Turkish guys, $$$n \leq 2*10^5$$$.
I'm not turkish.
Azerbaijanis are Turks.
They're Azerbaijani Turks.
Is there any problem related to G? Very thanks!
Problem
Blog that explains this idea
Thanks a lot. I was able to solve the problem after reading the blog. Upvoted!
Can someone help me understand why my code for problem D doesn't pass all the tests? https://atcoder.jp/contests/abc319/submissions/45406059
I modified your code a bit. The submission is here: https://atcoder.jp/contests/abc319/submissions/45437738
C is the most shit problem
I have a strange solution for F:
Enumerate over all possible visiting orders of vertices with $$$t_i=2$$$. For each permutation, consider the following greedy strategy:
Repeat this step, until all monsters are cleared or there is no medicine available.
The overall time complexity is $$$\mathcal O(m!\times n\log n)$$$, where $$$m$$$ is the number of medicine vertices. So it can't fit in the time limit, but actually with some simple optimizations it ran in $$$800\mathrm{ms}$$$ (maybe can be hacked?).
However, I got
WA
x1 (submission). Did I make a mistake in the program or the idea is wrong?Oh,I found another one.Using
random_shuffle
instead ofnext_permutation
can get a higher probability to pass this task.I tried 3 times,and they all passed.Thanks. But my code tried all the permutations, without any randomization. I expected
TLE
, but why does it getWA
? Could you please have a look at my code?Some optimizations:
__gnu_pbds::priority_queue
instead ofstd::priority_queue
for a better constant factorYes
.I'am in China now,I can't download the testcase.But you can try it.And I found another thing:I'am wrong,I can reach the subtree of a medicine without taking it.But I passed!
Maybe the test cases are too weak?
And the test cases for ABC319 are't published yet (in fact, the latest public test cases from AtCoder is that of ABC311).
Can anyone give proof for E, how time taken for t1 and t2 will be same if t1%840==t2%840
$$$lcm(1,2,3,4,5,6,7,8) = 840$$$
So the state of the bus stops repeats after every $$$840$$$ unit of time.
In the F,the data may be weak
5
1 1 1 1
2 2 0 5
3 1 1 1
4 1 15 1
My AC code can be hacked
My submission https://atcoder.jp/contests/abc319/submissions/45439007
And the reason is that I don't consider the limit of ti=2 must take the medicine
it was originally came up with DJ2006 :-)
but it is not important. plz add this data into the problem, thx.
I was looking at the submission of hitonanode, which seemed to more or less implement the algorithm described in the second editorial, the correctness of which I had tried to understand and prove. Eventually, to my great surprise, I constructed the case
for which the answer should be
Yes
, on which the aforementioned submission outputsNo
.In my drawing of the corresponding tree below, the two multipliers are circled.
As for why it's
Yes
:1 -> 2 -> 3 results in 1*3+3 = 6, then 6*2 = 12, 12+2 = 14, 15 cannot be defeated. However, if one does 1*2 + 2 = 4, then 4*3 = 12, then 12+3 = 15, then 15 can be defeated.
Afterwards, I checked that the submissions of some other top contestants also output for this
Yes
.I had thought of private messaging hitonanode about this, but then, I felt a bit too shy to do so to such a highly rated coder for something as relatively unimportant as this. It is also not the first time I've seen solutions with more minor bugs AC. However, I do not think it is impossible that hitonanode or someone else could tell me thru what channel to submit an after contest case. Another thought is that maybe maspy, with whom I once had a minor exchange on GitHub, could point me to the right direction?
I'm really delighted to see that I forgot the $$$\pmod {998244353}$$$ in G. That's why I got WA.