今天做了幾道關於暴力遍歷的問題,share之。
1.題意解釋完即為:給定一系列的矩形的長和寬,要求排序,後面的矩形的長寬要都比前面的矩形的來的大,問需要排幾次。
乍一看之下,沒有什麼很好的思路,最先想到的是,將矩形的長和寬對映到座標上。建立乙個足夠大的陣列a[10000][10000],假設某個矩形為3x5,則 a[0][0],a[0][1]....a[2][4]都+1.以此類推,這樣遍歷一遍陣列,就能把矩形的重疊情況記錄下來了。但是似乎到此還是沒有解決問題的思路。參考,這似乎是解別的問題的思路。
最終的方案還是暴力遍歷,先按長排序,然後從邊長最短的矩形開始,查詢後續的能夠完全覆蓋他的矩形,以此類推。
這個思路其實還是有點類似於基數排序的思路的。
偽**如下:
//對l 從小到大排序,同時調整w 和l 保持一致
selectsort(l);
//對於l[i]相同的時候,再對w排序
int startindex=0;
for(int i=0;iselectsort(startindex,i,w);
startindex=i;
}
int nodecount=0;//記錄已經訪問了多少矩形
int max=w[0];
while(nodecount < n)
}
if( onlyone)
}
2.n 個人有序,m 的空間(n>m),問給出的序列能否滿足出空間的順序。
例子:5個人,3個空間,則問1,3,5,4,2 是否可能
首先,n個人是有序的,則3個空間先被1,2,3 個人佔滿,然後第1個人出去,4進來佔據空間,3出去,5進來佔據空間,5出去,4出去,2出去。
則出空間的順序為:1,3,5,4,2 即給定的順序為可能的。
這個問題,乍一看,覺得可能是和棧或是佇列有關的題目,但是實際情況是,並沒有限制只有從一頭才能出去。再乍一看,還以為是拓撲排序相關。還沒溫習完圖譜排序的知識。
todo:
圖中任意點對的距離和問題。--deadline 04.11
GDI 水印 很簡單很簡單的版
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...
很簡單的問題
宣告 切勿以此為筆試題。我們很多時候都會激烈的討論演算法 資料結構 設計模式 n層架構 某某框架 系統架構,可是真的在實戰當中,才會發現原來有些很簡單的問題我們會不知道答案。比如說 private static void dowhilecontinuetest while false 上面的輸出是什...
1001 好像很簡單的
time limit 1 sec memory limit 128 mb submit 101 solved 17 submit status web board edit testdata 給出乙個整數s,另外給出n個數,判斷是否可以從中取出2個數,使得這兩個數的和是s。第一行有個整數t 1 t ...