傳送門
思想很重要,題目給出了每個星球的hi大於等於與該星球直接相連的星球數(即度數)。
就說明從0點出發,一定可以再回到0點。
在第一次dfs中把一些還可以加的流加入使得答案更大。因為圖此時已經連通。
然後對於相鄰的兩個點,就一定至少有乙個的度數為0。
在第二次dfs中運用「退流」思想,對於每乙個點求出它的ans,即如果最終旅行結束在這個星球,最多可以使用時空隧道的次數。
(摘自這兒)
#include#define n 50003view codeusing
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]);
}
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 維護當前點到前面是否是反向邊可以用差分陣列。在當前點增廣完後,使用差分陣列判定當前點到前面的反向邊流量。分析複雜度 一條邊在被向右增廣...