Hi,

We would like to invite you to participate in the live (with 30-minute delay) online mirror contest of The 2019 ICPC Asia Jakarta Regional Contest (our regional website, our regional in ICPC website, official contest portal) this weekend. The online mirror contest will start on Oct/27/2019 06:30 (Moscow time).

The contest consists of several problems and you can solve them in 5 hours.

See you on top of the leaderboard.

**UPD1:** Thanks for participating. The problems should be available for upsolving. The soft-copy of the problem analysis (the same as the one distributed to all contestants during the awarding ceremony) is available here.

**UPD2:** The full problem repository is available here. The full problem repository for Indonesia National Contest (INC) 2019, which is the national programming contest that serves as the online preliminary round for Indonesian teams to advance to The 2019 ICPC Asia Jakarta Regional Contest, is also available here. The problems are also available for upsolving in TLX (INC and ICPC)

Too bad that it clashes with my FHC schedule. Anyway, I think Jakarta had the finest problems in East Asia ICPC last year. It would be a good practice opportunity.

Thanks for the kind testimony, and congrats once again for winning it last year! :)

Ah, I just realized that FBHC finals clashes with the regional. Maybe I should be thankful that I missed it by penalties now, otherwise I would have a big dilemma.

Good luck for the finals! :)

Just curious, what do you think about problems in Vietnam regional last year? And Vietnam 2017 problems.

Sorry for off-topic comment :D

About 2018, I didn't like harder problems (except G). But problems in 2016/2017 was good, so I can recommend Vietnam contest :)

The link to timeanddate.com redirects to 27th October of 2018. I guess someone is still living in 2018.

Sometimes I am wondering why I can be a red coder when I still make this kind of careless mistakes. This is why we shouldn't copy-paste things (I copy-pasted the timeanddate URL from last year).

Anyway, thanks for pointing it out. It is fixed now. Take my upvote!

Please change the link to https://codeforces.com/contests/1252 instead of https://codeforces.com/contest/1252 . Right now it shows "contest has not started".

People can directly register by visiting the first link.

Maybe I'm a new of Codeforces ... Could you tell me if I participate as a team member , will my personal rating change after the contest ... ?

I think it's unrated.

Just curious if it is rated? if rated how would the rating mechanism work for a team against individual?

I was just considering this question and wanted to know how rating will be calculated. Obviously it should be fairer if unrated. Thank you :-).

Is it rated?

no

I am getting this message please fix it "Can't read or parse problem descriptor"

Can we see the resolver?

How to solve problem E? We attempted to solve it using system of difference constraints with SPFA and got TLE. Thanks in advance.

Try to maintain feasible intervals backward and then get result forward based on the feasible intervals.

Thanks. I think I nailed it. Orz%%%

[deleted]

Can anyone explain the solution to J? I implemented a greedy idea only to get WA on testcase 20.

The main complexity in J is how to place the type-3 blocks. I decided to iterate over number of type-3 blocks to place, and then for each possibility place the blocks so that we get the fewest number of odd segments of soil using a dp (because we can fill even segments with type-2s completely, they are strictly better than odd segments).

After the type-3 blocks are placed you can place type-1 and type-2 greedily.

I have another idea. Consider all parts of consecutive cells not containing rocks. There are exactly $$$r + 1$$$ parts. Let $$$dp[i][j][1]$$$ be the maximum number of ghosts that can be repelled using at most $$$j$$$ blocks of type $$$1$$$ and last cell of this part covered by a block of type $$$3$$$. Similarly $$$dp[i][j][0]$$$ be the maximum number of ghosts that can be repelled using at most $$$j$$$ blocks of type $$$1$$$ and last cell of this part not covered by a block of type $$$3$$$. Then the dp transitions are given by

Similarly, we can come up with dp transitions for $$$dp[i][j][1]$$$. Computing these dp values would give time complexity $$$\mathcal{O}(rk^2)$$$. But key observation is that, if we separate $$$j$$$ term and $$$k$$$ term and convert it into a range max query. So, the run time becomes $$$\mathcal{O}(rk)$$$.

My code

We need at most O(number of rocks) type-1.

It turns out the test cases are weak, lol.

may i look at your code? i couldn't see the other's code. it's for learning purpose since i keep stucking on test case 23 after debugging on test case 11,19 & 22

[deleted]

How to solve problem K?

For a subsequence $$$[l,r]$$$, you can count how many $$$A$$$ and $$$B$$$ in first element and second element of $$$f(l,r,A,B)$$$. Let them be $$$x_1,y_1$$$ and $$$x_2,y_2$$$. For example, with substring $$$ABA$$$, $$$x_1=2,y_1=3,x_2=1,y_2=2$$$.

For query type $$$2$$$, use segment tree to calculate $$$x_i$$$ and $$$y_i$$$ of subsequence $$$[l,r]$$$. To build the tree, we need to combine $$$x_i$$$ and $$$y_i$$$ of two segment, which could be figured out by draft.

For query type $$$1$$$, use lazy update on segment tree. When we flip a segment odd number of times, simply $$$swap(x_1, y_2)$$$ and $$$swap(x_2, y_1)$$$.

Can I see your code ? Thank you very much!

YesCan you explain the

`x1 y1 x2 y2`

in detail? Thanks in advance!Look at the function in the statement. The return value is $$$(A,B)$$$. $$$x_1,y_1$$$ are number of original $$$A$$$ and $$$B$$$ in $$$A$$$ returned, $$$x_2,y_2$$$ are number of original $$$A$$$ and $$$B$$$ in $$$B$$$ returned.

Thank you ！The

`x1 y1 x2 y2`

is like a`2 x 2`

matrix . I try to use the segment tree to maintain the multiplication of the matrix,but I don't know how to change the matrix when the we flip a segment odd number of times. Now , I know it. If we flip a segment odd number of times , actually it's the transpose of this matrix. Thank you.ok but i can't understand the transition or combinations of nodes in Segment Tree.ej why ( a.x1 = (b.x1 * c.x1 + b.y1 * c.x2) % MOD; )

For a segment $$$[l,r]$$$, $$$f(l,r,A,B)=(x_1\times A+y1\times b, x_2\times A + y_2\times B)=(A',B')$$$

When combine segment $$$[l_2,r_2]$$$ next to $$$[l_1,r_1]$$$ and , $$$A'$$$ and $$$B'$$$ of the first segment become $$$A$$$ and $$$B$$$ of input of $$$f(l_2,r_2,A,B)$$$. You can make some drafts to figure out the equations.

use sqrt decomposition!

Can I see your code ? Thank you very much!

[deleted]

how and where to submit the solutions if we want to upsolve???

Could someone give me advice on how to solve problem G ?

EDIT: Solved using segment tree

i keep getting WA on test case 2. could you please help me to find my mistake? i couldn't find my bug.

EDIT: Solved, i did a silly mistake, i thought that Ai would be in decreasing order, i didn't read the problem carefully

Could someone provide insights on problem H? I got stuck on test case 5 with my solution: https://ideone.com/at2GS0 .

I think it is the accuracy problem of floating point numbers.

can you review this.. Stuck on test case 5 Code

I think you made the same mistake as I: relying on a floating point value instead of sticking with integers, which led to some rounding error. This is a diff of my AC code and a previous version of it which also got WA on test case 5: https://www.diffchecker.com/sckBvjUO .

you need long double

Can you tell why we needed to use long double instead of double?

this test data: 1 999999999 999999999 if you use double,your answer will lose 0.5

Thanks a lot for this example test case. Can you give some insights about knowing when to use normal double and when to use long double and is it good if we start using only long double from now on? I am really curious about this precision thing here. The double value can have a precision of up to 10^(-11) but still, it is going wrong for a single decimal, any reason why?

can anyone give me one small test case for k? I use square root decomposition .

here my solution

This test case ,your output is different with mine.

Click me

Sorry if I misunderstood something. But this contest was not in gym, right? So why I could not see another team 's code?

where can I find the solution

Will the submissions be visible?

pls someone write editorial blog, it will help in upsolve the problem..

The judge has shared problem analysis of the contest in their github. The link is already added below the Contest Material tab when you open a problem from the contest.

https://github.com/jonathanirvings/icpc-jakarta-2019/blob/master/problem_analysis.pdf

How to solve problem I?

The annoying problem, no innovative idea. The obvious thing we notice is just find the way to reach the border. Other thing I can see is that to go through two touching circles we need to follow their tangent. So we can draw lines between each pairs of circle then get some intersections,...

You can draw something like voronoi diagram (but not really) by defining a half-plane using a separator between two circles (for example, a line that's exactly between two circles). By using this you can find some point from this graph you can get to and then traverse it until you can get to the end point.

explain me solve problem H?? please

sorry. I'm not use long double type so WA test 5

in fact,before i found the problem，i had WA 5 times

Auto comment: topic has been updated by jonathanirvings (previous revision, new revision, compare).Please make the test cases visible.

Please make testcases and other's solutions available

Can you please make all sources visible?

I try a different DP way to solve problem B but it cant pass the test 5. Can anyone make the test cases visible QAQ.

I need help on problem H, got WA on test 40. Here is my code. I have tried on my own test case with 8000 numbers of N, but did not spot any mistake. what do i miss?!!

Line 64, why do you compare with only the last one?

Why are the test cases and solutions still not visible!?

why TLE? problem K

is that because of using vectors in representing the matrices or what?

Codej

Test cases for problem F cannot be more broken. You don't need to consider subtrees isomorphism in any way. Basically, if you're a tree centroid, then you're okay. Just maximize with its number of children, and you'll pass.

What's wrong with this code. It fails on test-5 of Even Path. https://codeforces.com/contest/1252/submission/64762718

jonathanirvings Test cases or other's solutions are not visible, please fix

MikeMirzayanov Please fix

Hi, sorry for late reply.

I am not sure how to fix this, since I am not seeing a button in the contest admin panel to enable/disable viewing testcases or others' solutions. Please advice if you know how to do it.

Meanwhile, as suggested in UPD2, the full problem repository of this contest has been published. You can refer to it to see the testcases. The uploaded testcases in the problem repository and in Codeforces is exactly the same (including the order).

Auto comment: topic has been updated by jonathanirvings (previous revision, new revision, compare).May I know why in this contest we cant see other's solution.

jonathanirvings why tree's in the forest do not need to be isomorphic?? [test case 17]