道路的標號是一門有趣的學問,把繁雜的物理世界變成井然有序的數字,需要花一點心思。順便把中國和美國解決同樣的問題的方法比較一下。
主幹道的編號
中國剛剛誕生的高速公路體系在編號上面,和美國50年代開始修建的艾森豪威爾高速體系基本上是一致的。奇數表示南北方向,比如上海附近的g15(沈海高速), g25(長深高速),洛陽附近的g55(二廣高速)等,偶數表示東西方向,比如上海附近的g40(滬陝高速), g50(滬渝高速), g60(滬昆高速)等。美國一樣,西雅圖那裡的東西的i-90,南北的i-5;舊金山那裡東西的i-80和南北的i-5等等。。。總體說來,本著5結尾就是南北骨幹,0結尾就是東西骨幹的方式,中美一致。中國特色的是從北京開出來的幾條一位數字的放射線,比如g1京哈, g2京滬 – g7京烏的7條線。
和主幹道相連的高速
考慮到和主幹線相交的地區幹線,中國採納了和美國不同的編號方式。中國使用四位編號,和主幹線相交的環線,在主幹線後面加乙個0(好似乙個環的樣子),然後再加乙個數字編號。比如上海的郊環線(a30)就因此編成了g1501,過了杭州灣跨海大橋以後,在寧波畫了第二個圈,就是g1502。g25在南京畫的乙個圈就是g2501等等。如果是和主幹線平行,第三位就是乙個1,好像一條線。比如g15在經過山東時候的g1511,在寧波附近的g1512。。。
美國則所有的主幹線的支線都用3位數表示,後兩位是主幹道的編號,第一位如果是偶數,表示平行線,就是沿著這個枝杈還可以回到主幹線的那種,如果第一位是奇數,就是垂直線,離開了就再也回不來的意思。比如在矽谷,主要的高速全是80結尾,比如i-80, i-380, i-280, i-680, i-880. i-80是從西海岸的舊金山到東海岸的紐澤西一條筆直的跨越北美大陸的高速,也是那麼多n80的命名之源。i-280, i-680, i-880組成了一組圍繞灣區有重新回到i-80的旁接線。在洛杉磯,因為城市裡面交錯著i-10和i-5兩條大路,結果就有了和i-10垂直的i-110, i-710(都是南北線),和它平行的i-210(東西向),還有和i-5這條南北線垂直的i-105(東西),和平行的i-405(南北)。
和老系統相容
中國和美國除了新生的高速公路體系,都有一套已有的國道體系。美國的就是us開頭,比如矽谷形成依賴的us-101,以及被稱為美國的母親路的us-66(《汽車總動員》所描述的那條)。中國則是國道,比如上海到**的318國道,上海到新疆的312國道等。
兩套數字編號系統,很容易發生標號的混亂。中國避免這種問題的方法是採用了不同的位數。一位,兩位,四位數字,就給新的高速公路體系,而三位數字,留給了老的國道。
美國則用另外的辦法。他們的us國道體系是兩位到三位之間,順序增加,而高速公路體系也是兩位到三位之間。如何在乙個命名空間裡面和平共處呢?為了分開,新的高速體系從東南角,就是聖地牙哥開始,向北,向東逐漸增加,而老的系統從東南角開始,向南,向西逐漸增加。這樣保證了在乙個區域,不會有兩條名字相同,卻屬於不同體系的道路。比如矽谷的us-101和i-80和稍遠一點的i-5,就一大一小。為了避免在美國中部(東西的中部,和南北方向的中部),都會編到5左右,他們的新高速徹底跳掉了50號和60號以及之間的編號。這下大家就不會碰到了。比如在亞利桑那州裡面,碰在一起的兩條路分別是us-66和i-40。
出口編號
除了大的編號以外,中國的新的高速公路體系的出口開始採用了里程編號體系,就是從開始處的公里數的整數命名這一段上的出口,比如從北京出發,在上海段的203出口就到上海了,也就是1203公里的地方(超過1000,只取後三位)。美國的高速也大抵如此,卻沒有全國的規範。
雖然韓寒對於編號的必要性進行了有理有據的質疑,我依然喜歡新的全國編號系統。開在延安路高架上,看到g60,好似前方就是昆明,到了g15的交界口,左轉是海口,右轉是瀋陽。編號的統一,的確為全國的出行提供了方便。當然,我這裡討論的僅僅是編號。如果考慮到出行的成本,那又是另外一篇文章了。比如上上個月,從洛杉磯兩個人飛到las vegas,機票要300多美元,如果開車過去,5個小時,30塊錢美金油錢就到了,沒有任何路上的費用。之後我們一口氣開了2000多公里,經過大峽谷,sedona,鳳凰城,墨西哥邊境,到聖地牙哥,再回到洛杉磯,就是200美元。油便宜和路便宜當然是乙個重要的因素。在上海,去一趟南通回來,油加過路費就已經六七百塊錢了。。。
ccf 高速公路
問題描述 某國有n個城市,為了使得城市間的交通更便利,該國國王打算在城市之間修一些高速公路,由於經費限制,國王打算第一階段先在部分城市之間修一些單向的高速公路。現在,大臣們幫國王擬了乙個修高速公路的計畫。看了計畫後,國王發現,有些城市之間可以通過高速公路直接 不經過其他城市 或間接 經過乙個或多個其...
201509 4 高速公路
鄰接表存圖 include include include define maxn 200010 using namespace std int dfn maxn low maxn int clock,top 當前元素是被訪問的序號,模擬棧的首部 bool instack maxn intstack...
CCF高速公路
新學了tarjan演算法,今天中午之前還沒聽過,用dfs硬寫加了點優化得了70,對路的演算法還是給力,直接滿分。回頭整理一篇關於強連通分量的部落格,另外這次往後就慢慢全用c 了。include include include include define maxsize 10005 using na...