485做出一題,486作出兩題但是被系統(tǒng)掛掉一道……
485 250:
給出一個(gè)正數(shù)等差序列(長(zhǎng)度>=4,<=50),但序列某位如果是偶數(shù),則把他一直除2直到是奇數(shù)
給你的是改造后的序列
求該序列,如果多解則輸出字典序最小的
乍一看沒(méi)想法,實(shí)際上可以這么分析,這個(gè)問(wèn)題和奇偶性密切相關(guān)
我們分析:
首項(xiàng)為偶,公差為偶 -> 可以同除2,得到的答案一定不是字典序最小,可舍
首項(xiàng)為奇,公差為偶:奇奇奇奇……
首項(xiàng)偶,公差奇:偶奇偶奇……
都是奇:奇偶奇偶
總之,都有兩個(gè)奇數(shù)項(xiàng),是和原序列相同的,這樣的話咱就枚舉那兩個(gè),產(chǎn)生數(shù)列并且更新答案就行……
rank:1283->1338,小漲一點(diǎn)
486
1:給出一個(gè)數(shù)A,讓你由若干步A+=A A-=A A*=A A/=A 得到B,如果多解要字典序最小
這個(gè)題目我實(shí)現(xiàn)時(shí)有點(diǎn)2B,A-=A實(shí)際是廢的(1000000000>=A,B>=1),得到0就產(chǎn)生不了別的了;A/=A實(shí)際上只要一次(只是產(chǎn)生1,晚用不如早用),看某個(gè)小鬼子的代碼,就是用+=和*=去DFS擴(kuò)展A,或者用+=和*=去DFS擴(kuò)展1,然后求字典序最小的解輸出……我的BFS寫(xiě)的貌似正確,也沒(méi)人敢Cha,實(shí)際上簡(jiǎn)單的1->2就把我掛了……學(xué)習(xí)、增加經(jīng)驗(yàn)了……
2:這題背景是Qsort,給你了這么個(gè)定義:選定基準(zhǔn)P之后,這次的代價(jià)分為2部分:(有多少個(gè)本該<P的東西在P后+有多少個(gè)本該>P的東西在P前)+(左右兩部分遞歸求代價(jià)),給的數(shù)組范圍是50,并且元素個(gè)數(shù)不相同
一時(shí)沒(méi)有想到好的做法,后來(lái)看人知道可以DP……實(shí)際上我用MAP水了一下……因?yàn)閿?shù)字的絕對(duì)大小無(wú)關(guān)緊要,我們可以把這些數(shù)離散成1~N的,然后枚舉基準(zhǔn)P,統(tǒng)計(jì)第一部分,并分出左右兩部分,接下來(lái)離散左右兩部分到1~left.size(),1~right.size(),并遞歸求解……
為啥離散到1~n而不直接搞呢……是為了記憶化搜索,因?yàn)閷?duì)1~n的一個(gè)排列,這個(gè)值是固定的,所以我用了一個(gè)Map<string,double>,把狀態(tài)塞進(jìn)string里進(jìn)行記憶化搜索,竟然過(guò)了……
rank:1338->1416,又小漲一點(diǎn)
總的來(lái)講,近日在TC上表現(xiàn)不錯(cuò)……我要一點(diǎn)一點(diǎn)向上爬……
另:TC可以學(xué)習(xí)他人的代碼,的確很有益
另:我有時(shí)感覺(jué)有的人代碼的確有錯(cuò),實(shí)際上系統(tǒng)測(cè)試下來(lái)真有錯(cuò),但是沒(méi)敢Cha,也沒(méi)想好怎么構(gòu)造讓他掛的數(shù)據(jù),Cha人能力也要提高,只指望寫(xiě)有時(shí)還是無(wú)力的……
485 250:
給出一個(gè)正數(shù)等差序列(長(zhǎng)度>=4,<=50),但序列某位如果是偶數(shù),則把他一直除2直到是奇數(shù)
給你的是改造后的序列
求該序列,如果多解則輸出字典序最小的
乍一看沒(méi)想法,實(shí)際上可以這么分析,這個(gè)問(wèn)題和奇偶性密切相關(guān)
我們分析:
首項(xiàng)為偶,公差為偶 -> 可以同除2,得到的答案一定不是字典序最小,可舍
首項(xiàng)為奇,公差為偶:奇奇奇奇……
首項(xiàng)偶,公差奇:偶奇偶奇……
都是奇:奇偶奇偶
總之,都有兩個(gè)奇數(shù)項(xiàng),是和原序列相同的,這樣的話咱就枚舉那兩個(gè),產(chǎn)生數(shù)列并且更新答案就行……
rank:1283->1338,小漲一點(diǎn)
486
1:給出一個(gè)數(shù)A,讓你由若干步A+=A A-=A A*=A A/=A 得到B,如果多解要字典序最小
這個(gè)題目我實(shí)現(xiàn)時(shí)有點(diǎn)2B,A-=A實(shí)際是廢的(1000000000>=A,B>=1),得到0就產(chǎn)生不了別的了;A/=A實(shí)際上只要一次(只是產(chǎn)生1,晚用不如早用),看某個(gè)小鬼子的代碼,就是用+=和*=去DFS擴(kuò)展A,或者用+=和*=去DFS擴(kuò)展1,然后求字典序最小的解輸出……我的BFS寫(xiě)的貌似正確,也沒(méi)人敢Cha,實(shí)際上簡(jiǎn)單的1->2就把我掛了……學(xué)習(xí)、增加經(jīng)驗(yàn)了……
2:這題背景是Qsort,給你了這么個(gè)定義:選定基準(zhǔn)P之后,這次的代價(jià)分為2部分:(有多少個(gè)本該<P的東西在P后+有多少個(gè)本該>P的東西在P前)+(左右兩部分遞歸求代價(jià)),給的數(shù)組范圍是50,并且元素個(gè)數(shù)不相同
一時(shí)沒(méi)有想到好的做法,后來(lái)看人知道可以DP……實(shí)際上我用MAP水了一下……因?yàn)閿?shù)字的絕對(duì)大小無(wú)關(guān)緊要,我們可以把這些數(shù)離散成1~N的,然后枚舉基準(zhǔn)P,統(tǒng)計(jì)第一部分,并分出左右兩部分,接下來(lái)離散左右兩部分到1~left.size(),1~right.size(),并遞歸求解……
為啥離散到1~n而不直接搞呢……是為了記憶化搜索,因?yàn)閷?duì)1~n的一個(gè)排列,這個(gè)值是固定的,所以我用了一個(gè)Map<string,double>,把狀態(tài)塞進(jìn)string里進(jìn)行記憶化搜索,竟然過(guò)了……
rank:1338->1416,又小漲一點(diǎn)
總的來(lái)講,近日在TC上表現(xiàn)不錯(cuò)……我要一點(diǎn)一點(diǎn)向上爬……
另:TC可以學(xué)習(xí)他人的代碼,的確很有益
另:我有時(shí)感覺(jué)有的人代碼的確有錯(cuò),實(shí)際上系統(tǒng)測(cè)試下來(lái)真有錯(cuò),但是沒(méi)敢Cha,也沒(méi)想好怎么構(gòu)造讓他掛的數(shù)據(jù),Cha人能力也要提高,只指望寫(xiě)有時(shí)還是無(wú)力的……