POJ3411 Paid Roads 解題報告

2021-06-28 05:36:05 字數 761 閱讀 3169

這題參考了他人的題解

這題是dfs ,因為路徑有要求如果經過某個點,費用不一樣,所以有可能多次經過同一點,資料是10條邊,所以最多可以經過乙個點5次(不是一些題解中說的3次)

如圖,目標點是e,但是為了求最小費用,要經過f點5次,所以當乙個點經過次數大於5次時,代表出現環,退出dfs

#include#include#includeusing namespace std;

struct node

a[210];int len,first[210];

int n,m , answer = 99999999;

int v[210];

void ins( int x,int y,int c,int d1,int d2 )

void find( int x,int pay )

v[x] ++;

if( v[x]<=5 )

for( int k=first[x];k;k=a[k].next )

v[x] --;

}int main()

find( 1,0 );

if( answer != 99999999 ) printf( "%d\n", answer );

else printf( "impossible\n" );

return 0;

}

poj 1033 Defragment 解題報告

距離從1000處子題,已經過了好些日子了,終於突破20題了,但是還沒有進入前1w 中國的人真多啊 一直在做動態規劃的題,實在是被動態規劃的強大折服。最近開始找些搜尋的題來做,剪那個sticks,一直剪不過tle,於是決定換道題,看網上的推薦說這是一道搜尋題,於是開始切!題意 磁碟整理,按照從第乙個檔...

poj1007 DNA Sorting解題報告

題目要求的是一條dna序列的逆序數,求逆序數可以考慮使用歸併演算法來進行求解。我們來設想這樣乙個場景 相鄰的a b兩塊進行公升序排序,各自都已經是排好序的了,且b排在a右邊。那麼當把b中的某數t放到已排序的數列中,那麼a序列中剩下的數就是比數t要大的,但我們要注意到 在原序列中,由於b序列在a序列右...

poj 1007DNA Sorting解題報告

默默的說真的是水題 題目大意 序列 未排序程度 的乙個計算方式是元素亂序的元素對個數。例如 在單詞序列 daabec 中,因為d大於右邊四個單詞,e大於c,所以計算結果為5。這種計算方法稱為序列的逆序數。序列 aacedgg 逆序數為1 e與d 近似排序,而序列 zwqm 逆序數為6 它是已排序序列...