130308 階段總結

2021-06-12 23:19:22 字數 1006 閱讀 7401

開學兩周了,一切漸漸重回正軌,電氣專業的四大天書之二的模電和電機也漸漸聽不懂了……

放假前的目標只能說是初步達到,對基本的貪心和動態規劃有了了解。

最近又雜七雜八的學了些知識,回顧了一些學過的演算法,記錄如下:

求次小生成樹的兩種解法

**:1:用求最小生成樹的方法,求出最小生成樹,並記錄下該最小生成樹上的所有邊!

對該生成樹上的所有邊都進行列舉。對邊集中,除了生成樹上某條邊的集合,構造最小生成樹,並記錄下最小值!

當生成樹上的邊列舉完,得到的值的大小就是次小生成樹的大小!

2:首先求出原圖最小生成樹,權值之和為min

列舉新增每條不在最小生成樹上的邊 ,加上以後一定會形成乙個環。

找到環上除了(u,v)以外的權值最大的邊,把它刪掉,計算當前生成樹的權值之和。

列舉完所有邊之後,得到的最小值即為次小生成樹的權值。

具體實現時,更簡單的方法是從每個節點i遍歷整個最小生成樹

定義f[i][j]為在生成樹上,從i到j的路徑上最大的邊的權值。通過bfs,求出f[i][j]的值

然後對於新增每條不在最小生成樹中的邊(i,j),並刪去該環中的原生成樹的的最大邊。

新的生成樹權值之和就是min + w(i,j) – f[i][j]

記錄其最小值,則為次小生成樹。

next_permutation
stl中的這個全排列庫函式十分強大,導致poj1833直接成了水題……我的**如下:

#include #include using namespace std;

int data[1030];

int main ()

{ int t;

scanf("%d",&t);

while (t--)

{ int n,k,i;

scanf("%d%d",&n,&k);

for (i=0;i

130106 階段總結

2013年的第一篇博文。為期一周的期末考修羅場終於結束了,終於活著回到acm的戰場了,目測沒有掛科的風險 接下來又是兩周的金工實習,這不科學!回顧前幾周的學習進度 計算幾何部分還有 pick定理 三角剖分 三維凸包 座標變換 沒看。poj貌似還有不少計算幾何的神題,目前水平不足,留待以後學習。準備利...

2011 07 31 階段性總結

這個blog好久沒有上來看了,看到原來寫的一些文章,發現現在的 風格完全變了個樣兒,大半年沒有寫博文了,主要還是比較忙的原因,現在發現對於一些題目的理解,不能只侷限於對某一題的做法的理解,要把相似問題轉化為模型,這樣我們才能在比賽中獲得比較好的成績。這半年可以說自己的 風格完全變了,我覺得 要有可讀...

day16 階段總結

課程概要 在之前的課程中,我們學過global關鍵字。name root def outer name 小明 def inner global name name 123 inner print name outer print name 其實,還有乙個nolocal關鍵字,用的比較少,此處作為了解...