網路上的資料傳輸是共用資料線的,當一台主機傳送傳輸請求時網路上有其他主機在傳送資料,就不能成功傳送只能等待。如果網路經常處於占用情況,平均等待時間過長,可能說明網路負載過重、拓撲結構不好或延時演算法有問題。為了檢測是否有這些問題,可以在伺服器之間傳送一些資料檢視響應時間。
不過現在,我們姑且簡化問題,將網路看做是一維的線段,各個主機看做線段上的點。當主機i向主機j傳送資料時,i->j視窗所有的主機此時都不能傳送資料。每次資料傳輸為1單位時間(由於網線上資料傳輸速度很快,不計距離影響)。
下面給出一組測試,求完成所有傳輸請求需要使用的最少的時間。
多組測試資料,每組n+1行。
每組第一行數為題目描述中一組測試的請求數n
接下來n行,每行2個整數i,j,表示一次資料傳輸i->j。
1<=i,j<=n<=10000
對於每組資料,輸出一行,為最小用時。
3
1 33 4
5 1
3
解題思路:找到網路傳輸中最擁堵的地方,由於是單位時間的傳輸,因此擁堵的程度也就是最短的傳輸時間。
網路拓撲、aov網路、aoe網路.
aov網路:通常把計畫、施工過程、生產流程和程式流程等都當作成乙個工程。除了很小的工程外,一般都把工程劃分為若干個成為「活動」的子工程。完成了這些活動,這個工程也就完成了。簡稱為aov網路(activity on vertices)
aoe網路:如果在無有向環的有向帶權圖中用有向邊表示乙個工程中的各項活動,用有向邊上的權重表示活動的持續時間,用頂點表示事件,則這樣的有向圖叫做用邊表示活動的網路,簡稱為aoe網路(activity on edges)
在本題中,需要求出最少時間.本網路一共包括了n個操作,我們為了求出最短時間只需要確定操作的順序.但是如果暴力的話,一共有n!種操作順序,因此這種思路不可以。
分析:1.數軸上一共有n條線段,需要找到相交處最多的地方。
2.由於網路傳輸資料本一定是按照從小到大的順序,可以在每次輸入資料之後進行判斷i,j的大小,然後將i->j上的每個點(整數點)擁堵頻率都遞加1.
3.找到最擁堵的地方,採用sort時間複雜度為o(nlgn),但是由於只需要找到最大的擁堵,也就是順序統計量的查詢.最大值查詢的時間複雜度為線性時間.
給出**:
1 #include 2#define max 1001034
using
namespace
std;
5int
a[max];
6int
n,t,i,j,f,l,r,num;//l,r減小迴圈區間長度78
intmain()925
if(l>i)
26 l=i;
27if(r28 r=j;
29for(f=i; f<=j; f++)
3033}34
for(f=l; f<=r; f++)//找到最大值
3539 printf("
%d\n
",num);40}
41 }
最大重疊區間大小
在標準輸出上列印出輸入資料檔案中最大重疊區間的大小,如果所有行都沒有重疊區間,則輸出0。具體如下 將輸入的區間按起點從小到大排列,然後對每個區間判斷從當前區間起點到目前的end的距離,此距離即為覆蓋距離,當覆蓋距離大於最大的距離時則更新最大距離。每次迴圈都要判斷是否需要更新end,end表示目前所有...
關於網路傳輸中最大傳輸報文MTU的思考
一般tcp的書都會說在網路傳輸中最大傳輸報文mtu一般為1500位元組,但是在一次區域網的測試卻發現了如下問題 首先從後兩張我們可以確定c s兩端都是相互確認了mss為1460個位元組的,但是為啥第一張圖卻出了乙個2962位元組的包了呢,這明顯這是跟書上觀點相違背的。經過一段痛苦的查究下,發現原來網...
網路最大傳輸單元與粘包
對於 網路最大傳輸單元與粘包 沒有引起學習者的重視在這裡我給大家簡單的介紹介紹 一 mtu和mss的含義 1.網路.上層呼叫send 1024kb 下層會把這1024kb封裝成多個tcp包進行傳送。單個tcp包每次打包1448位元組的資料進行傳送。2.乙太網ethernet最大的資料幀是1518位元...