上週花了一周多的時間看了最小生成樹,最短路,並查集這一塊內容,這是上週新學的知識點,時間拉的確實有點長,尤其是1875那一題卡了很久,用兩種方法寫比較混亂,雖然也是花了一周多的時間,但是也只會寫寫這些模板題,而且對於這些容易把**摻雜在一起寫,思路邏輯不清,這一點需要自己多去找找原因,理清思路。
ac**:
#include#include#include#include#include#includeusing namespace std;
#define inf 0x3f3f3f3f
struct edge
e[110];
int n,m;
int f[110]=;
int cmp1(edge x,edge y)
// }
// }//單源
for(k=0; ke[i][k]+e[k][j])
e[i][j]=e[i][k]+e[k][j];}}
}// int ans=0;
// for(i=0; iac**:
#include#include#include#include#includeusing namespace std;
int f[1010],n,m;
void init()
int getf(int x)
void merge(int x,int y)
int main()
int ans=0;
for(i=1;i<=m;i++)
printf("%d\n",ans-1);
}return 0;
}
ac**:
#include#include#include#include#include#includeusing namespace std;
#define inf 0x3f3f3f3f
int f[10030]=,i,n;//這裡陣列開小了會出現tle
struct e
e[10030];
void init()
int getf(int x)
int merge(int x,int y)
return 0;
}int cmp1(e x,e y)
int main()
}for(i=1; i<=n; i++)}}
for(i=1; i<=n; i++)
for(i=1; i<=n; i++)
book[1]=1;
int flag=0;
for(i=1; ie[u][k])
dis[k]=e[u][k];// dis[k]=dis[u]+e[u][k];這裡的錯誤注意一下}}
//// for(i=1; i<=n; i++)
//
// }
// if(flag==1)
//
if(flag==0)
printf("%.1lf\n",sum*100);}}
}
並查集+最小生成樹寫的ac**:
//並查集+最小生成樹
#include#include#include#include#define inf 0x3f3f3f3f
using namespace std;
int dis[110],e[110][110];
int a[110],b[110],f[110]= ,n;
double ss(int i,int j)
void init()
return ;
}int getf(int x)
int merge (int x,int y)
return 0;
}struct node
dd[110100];
int cmp1(node x,node y)}}
sort(dd,dd+k,cmp1);
double sum=0;
int countt=0;
for(i=0; i<=k-1; i++)
if(countt==n-1)
break;
}if(countt==n-1)
printf("%.1lf\n",sum*100);
else
printf("oh!\n");}}
}
ac**:
#include#include#include#include#includeusing namespace std;
#define inf 0x3f3f3f3f
int m,n,f[110];
struct e
e[5000];
void init()
}int getf(int x)
int merge(int x,int y)
return 0;
}int cmp1(e x,e y)
int main()
}sort(e+1,e+n*(n-1)/2+1,cmp1);
for(i=1;i<=n*(n-1)/2;i++)
}int ans=0,countt=0;
for(i=1;i<=n;i++)
if(ans==1)
int sum=0;
for(i=1;i<=n*(n-1)/2;i++)
//這題資料有點水,應該再合併一次,但這題也過了
if(countt==ans-1)
break;
}printf("%d\n",sum);
}return 0;
}
暢通工程系列
對於這題,現在還是有點蒙。不過第二題把條件轉換成 若道路已修建,則費用為0 剩下的就是查詢最小生成樹的問題 瞬間思路就清晰了。感覺還是最小生成樹沒有掌握好。如下 include include using namespace std int pre 105 int cost 105 struct n...
軟體工程系列 詳細設計
目錄 詳細設計階段是邏輯上將系統的每個功能都設計出來,並保證設計出的處理過程應該盡可能的簡明易懂。結構化程式設計 定義 如果乙個程式的 塊僅僅通過順序 選擇和迴圈這3種基本控制進行連線,並且只有乙個入口和乙個出口,則稱這 個程式是結構化的。結構化程式設計的3種基本結構 順序 選擇 迴圈。程式流程圖 ...
工程系列 利用VSCode進行C 開發
vscode 跨平台,輕量,外掛程式多。能夠在windows上編譯的內容直接遷往linux,反之依然。所以淺了解了下 以下內容均為單源文字編譯,debug,撰寫等。1,外掛程式安裝 cpptools,code runner,include autocomplete 2,基本功能 2.1 最開始一步,...