ACM-ICPC(Org).ppt-国立中央大学.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ACM-ICPC(Org).ppt-国立中央大学

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * Lucky貓的 UVA(ACM)園地的翻譯 (.tw/) Input 輸入的第一列有一個整數代表以下有多少組測試資料。 每組測試資料一列,第一個整數 r(0 r 500),代表他親戚的數目。接下來的r個整數s1,s2,......sr為這些親戚房子的門牌號碼(0 si?30000)。 注意:有些親戚的門牌號碼會相同。 * Lucky貓的 UVA(ACM)園地的翻譯 (.tw/) Output 對每一組測試資料,輸出從他的新家到所有的親戚的家的距離的和為最小為多少。2個門牌號碼si、sj的距離為si-sj的絕對值。 * 題目建模(抽象的重新描述問題) 給定一個陣列 A[i], i = 0,…,n 找出 k, 使得 S= 的值最小 輸出此最小值S * 作法簡介 找出中位數(median)為所選整數,再計算所有元素與中位數的差的總和即為解答 給定一個陣列 A[i], i = 0,…,n -1 當 n 為奇數時,中位數為 A[n/2]; 當 n 為偶數時,中位數為 (A[(n ? 1)/2] + A[(n + 1)/2])/2 。 不過因為題目的輸出為所有元素與中位數的差的總和,因此我們不論選中位數、A[(n ? 1)/2]或是A[(n + 1)/2] 所得到的輸出結果都相同。 當 n 為偶數時, A[(n + 1)/2]=A[n/2]。因此,我們以 A[n/2] 為所選整數,如此不管 n 為奇數或是偶數都可以產生正確解答。 * 中文Java程式碼: Vito.java * Java程式碼: Vito1.java * C++程式碼: Vito.cpp * C++程式說明 以上Vito.cpp程式中,我們使用C++ 語言 STL 的vector 集合變數(collection variable)解題。 我們並使用執行速度比sort 函式還快的nth_element 函式來找出中位數。 透過使用nth_element(begin, begin+n, end) 函式呼叫,可以使排序為n 的元素處於位置n(排序從0 開始計算),並且比這個元素小的元素都排在這個元素之前,比這個元素大的元素都排在這個元素之後,但是這個元素前後的元素並未依序排列。 透過使用sort(begin, end) 函式呼叫,可以將所有的元素依序排序,因此排序為n 的元素自然會處於位置n。 * C++程式說明(續) 一般而言,排序演算法的時間複雜度為O(s log s),而nth_element 函式的時間複雜度為O(s),其中s為輸入規模(input size),也就是需要處理的元素總個數。 (一般輸入規模使用n 來表示,在此處我們使用s 來表示以避免與nth_element 函式中的n 產生混淆。) * UVa Judge 操作畫面 UVa Judge由西班牙 University Valladolid維護,是最古老也是最知名的Online Judge。 題庫目前約有4000多題,除了收集自行舉辦比賽的題目之外,也收錄ACM ICPC與世界各地重大程式設計比賽題目。 有許多相關書籍與相關網站: Steven S. Skiena and Miguel Revilla, Programming Challenges, Elsevier, 2003.? Lucky貓的ACM園地、Lucky貓的 ACM 中譯題目 Mirror * * * * * * * * * * * * * * QA * * * 電腦協會(Association of Computing Machinery, 簡稱ACM)是一個世界性的電腦從業員專業組織,創立於1947年,是世界上第一個科學性及教育性電腦學會。 * * * * * * 計算機協會 國際大學生程式設計競賽 Association of Computing Machinery International Collegiate Programming Contest (ACM-ICPC) ICPC宗旨: 腦力之戰 (Battle of the Brains) 目的: 促進國際各大學學生之間的交流。 提供學生一個機會,在有限的時間之內,藉由解決精心設計的複雜難題,以鍛鍊和展現其本身解決問題、程式設計,以及團隊合作的能力。 發現和培養計算機科學頂尖學生。 * 歷史 競賽的歷史可以上溯到1970年,當時在美國德克薩斯農工大學(The Agricultural and Mechanical College of Texas)舉辦了首屆比賽,其主辦單位為the

文档评论(0)

busuanzi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档