Someone Please Explain D,E solution(English)?It's in Japanese

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

1 | tourist | 3539 |

2 | Radewoosh | 3464 |

3 | V--o_o--V | 3338 |

4 | Um_nik | 3307 |

5 | Petr | 3297 |

6 | ecnerwala | 3282 |

7 | LHiC | 3266 |

8 | wxhtxdy | 3264 |

9 | Vn_nV | 3182 |

10 | xyz111 | 3147 |

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

1 | Radewoosh | 207 |

2 | Errichto | 176 |

3 | neal | 159 |

4 | Ashishgup | 158 |

5 | PikMike | 157 |

6 | Petr | 156 |

6 | majk | 156 |

8 | rng_58 | 155 |

9 | Um_nik | 154 |

9 | 300iq | 154 |

Someone Please Explain D,E solution(English)?It's in Japanese

↑

↓

Codeforces (c) Copyright 2010-2018 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/19/2019 20:44:54 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|

Auto comment: topic has been updated by sguu (previous revision, new revision, compare).My solution for D: It can be observed that the whole game consists of two phases: In the first phase Takahashi will take the greatest numbers, which Aoki will take some numbers around

x. In the second phase the two will alternately take the greatest number. One should binary search on the position such where the transition between two phases happen. To check it one may need another binary search to count the numbers taken. After that the sum can be computed inO(1) if precalculated the partial sums and partial sum on even indices. The solution takes time.Can u explain the two phase in above test case.Thanks

5 5

3 5 7 11 13

1

4

9

10

13

I'll explain the third query. I'll use T for Takahashi and A for Aoki. First T takes 13, A takes 7, and then T takes 11. Then A was supposed to take 11, but it is already taken by A. This is where the transition happens: the two players' territory(I don't know if this is clear enough) intersects. From now on, A and T will alternately take the greatest number remaining, which is: A takes 5 and T takes 3.

Okay Got it thankss :D

I had a similar idea: a suffix of A will be taken by Takashi, some part (same length or one less) before that by Aoki and the remaining prefix alternatingly. Then I processed the queries sorted decreasingly and kept pointers to the borders, so it's .

edit: It's

Oh yes, this can be done more efficiently if processed offline. But I think that's due to the sorting process :D

Yeah, I added the in the wrong place :D

How to find the position of transition?

In fact, I binary searched on the suffix that was taken by Takahashi. which requires the length of the region of Takahashi to be at most one more than the length of the region of Aoki. This may be hard to explain, you may refer to my code. Code

why l=pos-1 in ur code?

and ll numl=mid-(lower_bound(a,a+n+1,2*x-a[mid])-a) what it does?

The first one is because I choose

ras the final answer, andposis an valid answer. The second one implies the amount of numbers in Aoki's region.My solution for E: Let

dp_{v, j, 0}denote the minimum sum ofA_{i}in the connected component ofvif we cutjedges in the subtree ofv, and the connected component ofvonly consists of batteries. Anddp_{v, j, 1}denote pretty much the same thing, but allows the connected component ofvconsists of computers. The DP should be calculated in an ordinary manner, which may seem to have a complexity ofO(N^{3}), but is actuallyO(N^{2}). There are many proofs given on this kind of problems, e.g., Barricades in Algorithmic Engagements 2007, which can be found in the booklooking for a challenge