after 2 days, found DP solution, and AC with 0.046 s. Edited by author 15.08.2012 16:07 I think in this test there is some big loop with small weight. So u need go through cicle many times to decrease (increase) population of cockroaches. I will try tomorrow and will be in one of two parties As for me, this problem has quite unusual idea. BTW, I heard what famous "hard life" has fairly simple solution :) May be you one of the best coders:) an it's simple for you? Could'n found very simple solution. In final version calcul z1(k)= min [F(0,0,a1)+F(0,a1,a2)+ F(a1,a2,a3)+...+F(ak-1,ak,0)+F(ak,0,0)- a1-...-ak] for all [a1....ak] k=1,.... z2(k)=min [-F(0,0,a1)-F(0,a1,a2)+ -F(a1,a2,a3)+...-F(ak-1,ak,0)+F(ak,0,0)+ a1-...+ak] if (z1<0)&&(z2<0) <> and so on. k from 1 to 10000 but functional depend only ak-1,ak and z1(k-2). History fogotten this is "fishka" in my prog Ac(1.3 cek) Ho make 0.015 don't now . AC(0.109) using DP, but i was really surprised, when my program got AC dp with bfs - i think it is very standart algo My method also standart. It is Bellman-method for shortest path when functional of length rather specific but have main property of fogotten history I think, this method is DP It's quite obvious DP. Search for positive/negative loop around (0,0) in graph with transfers (i,j) -> (j,k) Be careful! Sample input and output #2 have changed. F(0,0,0)=0 in all tests in this problem. |
|