Ctsc2010 星際旅行(退流思想)

2022-05-06 23:54:07 字數 882 閱讀 7678

傳送門

思想很重要,題目給出了每個星球的hi大於等於與該星球直接相連的星球數(即度數)。

就說明從0點出發,一定可以再回到0點。

在第一次dfs中把一些還可以加的流加入使得答案更大。因為圖此時已經連通。

然後對於相鄰的兩個點,就一定至少有乙個的度數為0。

在第二次dfs中運用「退流」思想,對於每乙個點求出它的ans,即如果最終旅行結束在這個星球,最多可以使用時空隧道的次數。

(摘自這兒)

#include#define n 50003

using

namespace

std;

intread()

while(s>='

0'&&s<='9')

return x*f;

}struct

edgew[n*2

];int tot=0,sum=0

;int

h[n],head[n],r[n],ans[n];

void add(int a,int

b)void dfs1(int x,int fa)//

在已經確定了可以走乙個來回後加入多的流

}void dfs2(int x,int fa)//

對於每乙個點求ans }

intmain()

dfs1(

1,1);

dfs2(

1,1);

for(int i=1;i<=n;++i)

printf(

"%d\n

",ans[i]);

}

view code

ctsc2010 星際旅行

題意很簡單 給定一棵樹,問從根分別走到每個節點的最長路程,其中每個點給定lim,即最多從該點出發lim次,保證lim大於等於該點的度數。特別 鳴謝 ldl在他的模擬題中出了這道題。當題解講這要用樹形dp解網路流模型時,都被驚異了,完全沒有想到網路流,也完全沒有必要網路流,atm在考場上直接有樹形dp...

CTSC2010 效能優化

ctsc2010 效能優化 迴圈卷積快速冪 兩個注意點 n 1不是2 k p 1形式,任意模數又太慢?n 2 k1 3 k2 5 k3 7 k4 多路分治!深刻理解fft運算本質 分治,推式子得到從下往上的迭代公式 最後求的是w n i的點值 快速冪 迴圈卷積快速冪比較特殊,就是g f,n的項的係數...

CTSC2010 產品銷售

先考慮流。s i 連流量 d i 費用 0 i t 連流量 u i 費用 p i i i 1 連流量 inf 費用 c i i 1 i 連流量 inf 費用 m i 維護當前點到前面是否是反向邊可以用差分陣列。在當前點增廣完後,使用差分陣列判定當前點到前面的反向邊流量。分析複雜度 一條邊在被向右增廣...