第一次部落格

2021-09-29 01:10:38 字數 2650 閱讀 4542

話不多說,上題:

5、聯絡員(contact.cpp)

【題目描述】

superoj 已經一歲了,**也由最初的幾個使用者增加到了上萬個使用者,隨著 superoj

**的逐步壯大,管理員的數目也越來越多,現在你身為tyvj管理層的聯絡員,希望你找

到一些通訊渠道,使得管理員兩兩都可以聯絡(直接或者是間接都可以)。superoj 是乙個

公益性的**,沒有過多的利潤,所以你要盡可能的使費用少才可以。

目前你已經知道,superoj 的通訊渠道分為兩大類,一類是必選通訊渠道,無論**

多少,你都需要把所有的都選擇上;還有一類是選擇性的通訊渠道,你可以從中挑選一些

作為最終管理員聯絡的通訊渠道。資料保證給出的通行渠道可以讓所有的管理員聯通。

【輸入格式】

第一行 n,m 表示 superoj 一共有 n 個管理員,有 m 個通訊渠道。

第二行到 m+1 行,每行四個非負整數,p,u,v,w 當p=1時,表示這個通訊渠道為必選

通訊渠道;當p=2時,表示這個通訊渠道為選擇性通訊渠道;u,v,w 表示本條資訊描述的

是 u,v 管理員之間的通訊渠道,u 可以收到 v 的資訊,v 也可以收到 u 的資訊,w 表

示費用。

【輸出格式】

輸出最小的通訊費用。

【輸入樣例】

5 61 1 2 1

1 2 3 1

1 3 4 1

1 4 1 1

2 2 5 10

2 2 5 5

【輸出樣例】

9看到這道題,不難想到最小生成樹。只需要將必選通訊通道先取出建立樹後,選擇性的通道就與普通模板無異了。題解**方法為kruskal。

上**:

#include

using

namespace std;

int n,m,ans,cnt,father[

2010];

struct node

e[10010];

bool

cmp(node x,node y)

intfind

(int x)

void

together

(int x,

int y)

intmain()

else

}sort

(e+1

,e+cnt+

1,cmp)

;for

(int i=

1;i<=cnt;i++)}

cout<}

接下來是第6題

6、攻擊路線(forest.cpp)

【題目描述】

經歷千辛萬苦,tom終於來到了愛琳大陸的怪物森林。 怪物森林是乙個n*m的矩陣,從上到下一共有n行,從左到右一共有m列。 對於每個位置(x,y)都有乙個怪物,每個怪物都有一定的攻擊力。 現在tom想要從左上角(1,1)移動到右下角(n,m)。 tom可以往上下左右四個方向移動,當然前提是不能移動出邊界。 對於一條從(1,1)到(n,m)的移動路線,由於森林的特殊性,tom只能選擇該路線中攻擊力最小的乙個怪物進行攻擊,並定義該怪物的攻擊力為該路線的重要度。 現在tom想要選擇一條重要度最大的路線,請你回答tom的詢問。

【輸入格式】

第一行有兩個數n、m,表示森林的大小,用乙個空格隔開。

接下來n行,每行m個數,第i+1行j列的數表示位置為(i,j)的怪物的攻擊力。

【輸出格式】

第一行輸出乙個數表示重要度最大的路線的重要度。

【樣列輸入】forest.in

2 27 5

3 4【樣列輸出】forest.out

4【樣列解釋】

選擇(1,1)->(1,2)->(2,2)的路線可獲得最大的重要度。

【資料規模】

對於20%的資料:1≤n,m≤10

對於70%的資料:1≤n,m≤500

對於100%的資料:1≤n,m≤800,所有怪物的攻擊力在int範圍內

#include

using

namespace std;

const

int maxn=

1005

;int n,m;

int a[maxn]

[maxn]

;const

int size=maxn*maxn;

int q[size][2

],head,tail;

bool v[maxn]

[maxn]

;inline

voidpb(

int x,

int y)

bool

check

(int x),,

,};memset

(v,0

,sizeof

(v))

; head=tail=0,

pb(1,

1);while

(head}return v[n]

[m];

}int

main()

printf

("%d\n"

,ans)

;return0;

}

部落格第一次

2017年11月23號,今天是我第一次寫部落格。之前老師一直要求新生要開始寫部落格了,拖了這麼久,是時候開始把平時學習和生活拿來寫寫了。從進實驗室也有20多天了,在這20多天裡,我感覺實驗室的氛圍非常好。在這裡我不僅可以學習c語言,而且還可以學習英語,學習高數。剛進實驗室的時候,在迎新會上,學姐和學...

第一次 部落格

第一次接觸信奧,以前都未聽說過,很神奇的樣子。而且,難的一匹。我的天,當別人80 選大王 時,我還在50徘徊!唉!程式設計是電腦的基本的操作,也就是電腦的大腦 我現在再也不信人工智慧可以稱霸世界了,if 可以 就黑掉 第一次過題的時候就別提有多麼的興奮了!選擇的if語句總體而言,還算好理解,但是有很...

第一次部落格

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...