[NKU]sweet @ Google && TopCoder && CodeForces

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            33 Posts :: 1 Stories :: 15 Comments :: 0 Trackbacks
          485做出一題,486作出兩題但是被系統掛掉一道……

          485 250:
          給出一個正數等差序列(長度>=4,<=50),但序列某位如果是偶數,則把他一直除2直到是奇數
          給你的是改造后的序列
          求該序列,如果多解則輸出字典序最小的
          乍一看沒想法,實際上可以這么分析,這個問題和奇偶性密切相關
          我們分析:
          首項為偶,公差為偶 -> 可以同除2,得到的答案一定不是字典序最小,可舍
          首項為奇,公差為偶:奇奇奇奇……
          首項偶,公差奇:偶奇偶奇……
          都是奇:奇偶奇偶
          總之,都有兩個奇數項,是和原序列相同的,這樣的話咱就枚舉那兩個,產生數列并且更新答案就行……

          rank:1283->1338,小漲一點

          486
          1:給出一個數A,讓你由若干步A+=A A-=A A*=A A/=A 得到B,如果多解要字典序最小
          這個題目我實現時有點2B,A-=A實際是廢的(1000000000>=A,B>=1),得到0就產生不了別的了;A/=A實際上只要一次(只是產生1,晚用不如早用),看某個小鬼子的代碼,就是用+=和*=去DFS擴展A,或者用+=和*=去DFS擴展1,然后求字典序最小的解輸出……我的BFS寫的貌似正確,也沒人敢Cha,實際上簡單的1->2就把我掛了……學習、增加經驗了……

          2:這題背景是Qsort,給你了這么個定義:選定基準P之后,這次的代價分為2部分:(有多少個本該<P的東西在P后+有多少個本該>P的東西在P前)+(左右兩部分遞歸求代價),給的數組范圍是50,并且元素個數不相同
          一時沒有想到好的做法,后來看人知道可以DP……實際上我用MAP水了一下……因為數字的絕對大小無關緊要,我們可以把這些數離散成1~N的,然后枚舉基準P,統計第一部分,并分出左右兩部分,接下來離散左右兩部分到1~left.size(),1~right.size(),并遞歸求解……
          為啥離散到1~n而不直接搞呢……是為了記憶化搜索,因為對1~n的一個排列,這個值是固定的,所以我用了一個Map<string,double>,把狀態塞進string里進行記憶化搜索,竟然過了……

          rank:1338->1416,又小漲一點

          總的來講,近日在TC上表現不錯……我要一點一點向上爬……
          另:TC可以學習他人的代碼,的確很有益
          另:我有時感覺有的人代碼的確有錯,實際上系統測試下來真有錯,但是沒敢Cha,也沒想好怎么構造讓他掛的數據,Cha人能力也要提高,只指望寫有時還是無力的……

          posted on 2010-10-27 01:37 sweetsc 閱讀(194) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 广州市| 娄底市| 青海省| 五大连池市| 焦作市| 峨山| 湛江市| 锦州市| 镇江市| 会同县| 扶绥县| 台中市| 海宁市| 桦川县| 长汀县| 凌源市| 九龙坡区| 潼南县| 昭平县| 蕲春县| 田东县| 葫芦岛市| 无极县| 尼勒克县| 阳新县| 子洲县| 宿松县| 蓬溪县| 河间市| 顺昌县| 临湘市| 西城区| 浦江县| 宁陵县| 纳雍县| 岑溪市| 岗巴县| 道真| 靖宇县| 东平县| 茂名市|