Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

# | User | Rating |
---|---|---|

1 | tourist | 3778 |

2 | Benq | 3592 |

3 | ecnerwala | 3521 |

4 | Um_nik | 3423 |

5 | jiangly | 3375 |

6 | Petr | 3342 |

7 | Radewoosh | 3337 |

8 | scott_wu | 3313 |

9 | maroonrk | 3265 |

10 | yosupo | 3259 |

# | User | Contrib. |
---|---|---|

1 | Errichto | 201 |

2 | 1-gon | 200 |

3 | rng_58 | 194 |

4 | SecondThread | 193 |

5 | awoo | 186 |

6 | vovuh | 183 |

7 | Um_nik | 182 |

8 | antontrygubO_o | 177 |

9 | Ashishgup | 175 |

10 | -is-this-fft- | 171 |

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial is loading...

Tutorial of Technocup 2021 - Elimination Round 2

↑

↓

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/24/2021 18:23:37 (h3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|

Good!

Why?

For Div2 B solution. Using Set and iterate all. https://codeforces.com/contest/1457/submission/99918608

That's cool.

Thanks Mate

For problem Div2 E, 99886275 is just so cool.

Thank You.

Nice Problemset — problems were to the point and good.

I really liked it.

I used dictionary tree to passed the div2 D, I can guarantee its correctness, but I can't guarantee its time complexity,can anyone hack my solutions? https://codeforces.com/contest/1457/submission/99900717

In Div2D, why is n<=60 if the given condition is true?

Because if n>60 , We can always find a contiguous triplet (a,b,c) such that a > b^c.

Why we can always find that?

In case $$$n > 60$$$ There will be three numbers $$$(a, b, c)$$$ all having the same msb (Most Significant Bit) set to 1. You can do one operation with numbers $$$b, c$$$ this will turn off the msb therefore $$$ a > (b \oplus c)$$$.

Thanks

Because a_i <= 10^9 ~ 2^30. So of numbers which are k digits long in binary, we can have at most 2 to not get a triplet. And there are only 30 different sizes before we hit the cap of 10^9.

edit: I may have answered the wrong question

Thanks

Because these three numbers share the same highest bit $$$1$$$. And $$$1 \oplus 1=0$$$. Let's consider these three numbers as $$$a,b,c$$$ where $$$a<b<c$$$ , then the highest bit will become $$$0$$$ after we do $$$b \oplus c$$$, so $$$a > b \oplus c$$$ holds. Then we can always find that.

Thanks

to avoid the case of having 3 or more consecutive numbers with the same heighest set bit equal the array length have to be <=60 because we have 30 bits to represent the numbers and 2 consecutive numbers with the same highest set bit is allowed then 2 * 30 = 60 — max array length

now imagine that we have such array and we want insert a new number X be aware that the array has to be in non-decreasing order and we have consecutive segment of the array like the following

a, b, c, d "without loss of generaility for the specific heighest set bit"

a highest set bit is the 3rd bit

b and c both have the same highest set bit which is the 4th bit

d highest set bit is the fifth bit

X has the the 4th bit as the heighest set bit so X have to be placed before d and after a which mean a, b and x have to be consecutive.

Me when doing normal rounds: So I will try to do problems in order, if I can't do A in 30 minutes then I will consider B...

Me when doing russian rounds:

For Problem B, n is <=10^5, test cases are <=10^4 and no. of colours are <=100. How is 10^11 (that's what I can interpret) solution works??

If some one has any explanation and would like to correct where I am wrong, it will be great :)

It is guaranteed that the sum of n over all test cases does not exceed 10^5.So when value of n is 10^5 then no. of test cases will definitely be 1. When test cases are 10^4, then value of n in all test cases are such that their sum will be atmost 10^5.

There is a statement, "Sum of $$$n$$$ over all test cases doesn't exeeds $$$10^5$$$". That basically means $$$t*n<=10^5$$$. So, overall operations doesn't exeed $$$100*10^5=10^7$$$ which is acceptable in the given time limit.

Oh okay! Thanks. Will take care next time :)

I did not see that B had only 100 colors :/

I am still confused in Div 2D.

plzz anyone can explain div2 D. why n<=60

For n <= 1e9, There can be atmost two numbers having same most significant bit. Therefore the bound will be atmost twice the number of bits i.e. 2 * log2(1e9) which is 60.

thanx bro!

Thanks for detailed explanation of Div2E!

My bad

Jurys anser is 1 1 2 0 1 0 and yours is 1 2 3 0 1 0

For Div 2 Problem A, this is my code

CodeI have calculated the Manhattan Distance of the cell (r, c) from each of the corner cells, and printed the max distance. My code is giving wrong answer on test 2. Can anyone tell what's wrong in my code?

abs(a — b) + abs(c — d) is not equal to abs((a+c) — (b+d)).They both are different.

can you give an example case where devamg's logic would fail?

find abs of (row) and col seperate for all four corner

int ans=Math.max(row-1+col-1, Math.abs(n-row)+Math.abs(m-col));

for D, I brute forced subarrays of size <= 31, then brute forced again on the "split point". for example, if i have a subarray i...j and a split point of k, we xor the range from i...k and k+1..j. then, we check if the sequence we made decreases at any point. why does this work? I used the claim that there does not exist a construction where we have to make > 29 moves.

https://codeforces.com/contest/1457/submission/99871104

Nobody found the $$$O(N)$$$ for div1D?

how to solve div1D in $$$O(N)$$$ ?

For each situation where you just took the $$$i$$$-th thing, find the set of positions of the clone. For each situation where the clone just took the $$$i$$$-th thing, find the set of your positions. In the first case, it's a contiguous range, which means it has to be up to 2 contiguous ranges in the second case. There's a lot of possible transitions from $$$i$$$ to $$$i+1$$$ but it's a constant number and each takes constant time.

Can anybody explain the prefix suffix method used in division 2 in D-problem?

Is it only me or Div1 E editorial is cryptic.

"Let call low bits that we don't need to care free bits." — can you maybe give an example.

What is A there?

For example, assume you have segment $$$(10, 20)$$$ and you set your number $$$011??$$$, your number will be in the segment whatever you set two lowest bits, then they are free.

in div2C,why the answer of 2 2 1 10 11 1 is 11,if i make the 0 to 1,it just take 1 second

Here x is 11, which is the time required to add a platform.

ok,i mixed x and y

This is your test case:

n = 2, p = 2, k = 1; s = "10"; x = 11, y = 1.

x is the cost of adding a platform, y is the cost of removing the first cell. In your case, there is only 1 option: that is to add a platform at position 2, giving 11 as your answer.

thanks,i have known the ball must first land on the p-th cell

KAN For div2 D, the editorial states the following:

Indeed, there are no two integers with the same highest bit set. It is much easier to solve the problem in such constraints.

I think it should be stated as: there are at most two integers with the same highest bit set. Right? Because for input [1, 6, 7], the highest set bit of all numbers are different but 6 and 7 have the same highest set bit.

Ya! Exactly. I too think it's a typo.

Thanks, corrected! I missed "more than".

How is the space complexity for div2B O(N) ?

You are essentially keeping a separate index list for each possible color. The total houses is N, so the total entries in all index lists sum up to N.

yeah, it should not be. I mean we don't require any extra space. https://codeforces.com/contest/1457/submission/99854109

The only space that is variable with input is the array used to store doors colors.

nothing else will change with the input.

It is good tutorial.

Kindly do mention the code also. Sometime explanation is not sufficient

Could someone please explain the dp approach to div2 C?

https://codeforces.com/blog/entry/85081#comment-727466

SpoilerI will explain more the 4 and 5 hints. - Given that the first cell on which the ball will land is cell i, we know it will visit cell i, i+k, i+2k, ... , i+xk<n, right! so we want to count how many index j in {i, i+k, i+2k, ..., i+xk<n} such that s[i] = '0'. In other words, we need to how many cell in the group of cells the ball will visit, does not have a platform. we will of course need to put a platform in each one of them. we have no choice.

Let cnt[i] denote the min number of platforms we must add if the ball starts the journey at index i.

Let's consider the bruteforce first. It's a simple for loop.

we simply iterate over indecies i, i+k, i+2k, ... and if no platform we increment a counter. right!

Now, we need to optimize this code using DP

Thank you!

Thank youso much for this Awesome Explanation.In div2 A, I misunderstood the problem at first. I thought that result equal sum of the min distance between each cell and the target cell. What is the closed formula to calculate this, if one exists ?

It seems that the standard program to the Div.1 D has something wrong

https://codeforces.ml/contest/1456/hacks

Fixed, some testers' solution got hacked too.

What would be the difficulty level of XOR gun?I bet 1800

Sorry for my stupid, it's a little hard for me to understand Div1E solution, can someone explain it easily? thanks!

1415B - Перекраска улицы

Can somebody explain why test case 3 in test 2 (below) says right answer is 2 days? If we choose any color (e.g. 1), there are only 6 houses, which are not this color. So, with capacity k=6 one day should be enough to paint. Looks I am missing something, but don't get what.

$$$K$$$ means a range that must be consecutive.

So in the test,you can choose [1,6] or [2,7] or [3,8] or [4,9] to change the color.

Thank you Chinaxjh

bro because we can choose from i to i+k-1 element and we should not choose 1 in them because they r of same colour before itself so 2 days required

Thank you man

Can anyone explain how to use precomputation of weighted prefix and suffix sums to sped up specifically

Hey guys, here is my video proof for "Genius Greedy" in Problem E using induction hypothesis. Anyone who is interested can take a look

Hello guys I am a beginner and my solution shows WA on 5th test case of div2B, I cannot find the mistake can anyone please help? my solution — https://codeforces.com/contest/1457/submission/104735453