Conclusion
生活随笔
收集整理的這篇文章主要介紹了
Conclusion
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
高中最后一個暑假 挺有意義的
考了一暑假的試 最后總結一下吧
一天一天來吧7.30
這一天的題有點變態啊 不過難題有難題的做法
T1斗地主
考試的時候打了0分 0分.....
原因好像是讀入的格式錯了 每次重新讀n
認真讀題.認真讀題.認真讀題
其實就算讀進來了也只是25分的基礎分
連那種赤裸裸的暴力都沒打出來
暴力的水平還要提高啊....
正解嘛 很機智 很簡潔 不說了
T2蟲食算
這題打了暴力+剪枝本來能得70的
然而考慮的不全面.不全面 忘了最前面的不能有進位
wa了兩個 只得了50分
正解是根據等式的計算規則 從右往左+剪枝
T3食物鏈
這題打了好幾遍了 但是自己寫真心寫不出來8.3
T1樓房
第一遍爆零了....
先粘一下數據范圍
對于30%的數據,n<=100
對于另外30%的數據,n<=100000,1<=h[i],l[i],r[i]<=1000
對于100%的數據,1<=n<=100000,1<=h[i]<=10^9,-10^9<=l[i]<r[i]<=10^9
100%的就不考慮了 說說暴力是如何爆零的
對于前30%的來說 n小 但是沒有意識到lr大大大大大.....
被數據范圍耍了..
只看見另外30%的lr小 可枚舉區間
然后太貪心了 為了也過掉前30%處理負區間用了map
然后全超時了.....我滴心啊~
改回數組 水到了中間的30分
正解用了set 線段樹也ok 后來自己都試過了
這里稍微說一下離散化+線段樹的做法
存入每個坐標 (每一條豎線)
sort一下 然后處理每個矩形的時候
先lower_bound一下位置 然后用這個位置作為下表搞線段樹
最后感嘆一句用set時sort的神奇作用
T2地鼠游戲
貪心+堆優化
如果赤裸裸的貪心 每次選當前馬上就要消失的的話
有反例 比如
1 2 2
1 2 2
倒序來看就能很好地解決這個問題了
循環一遍時間 把==當前時間的放到堆里面
每個時間學一個v最大的
T3關押罪犯
法一 染色
法二 并茶幾8.4
T1高級打字機
阿偶 可持久化線段樹 不會
暴力50分 似乎noip不會考這個 就沒看
T2海戰
灌水
T3有趣的數
神數論題
考試的時候想了很久 最后還是大的暴力 34分
后來看了題解的神奇做法 ...
首先特判的情況比較簡單 考場上也想到了
先統計 <k且字典序<k的個數 cnt
1.如果cnt>=m cout 0
2.k是10 100 1000這類的 如果cnt<m-1 不管n多大 加不到k的前面 cout 0
然后就比較神奇了
令c=k 然后 c不斷*10 這個過程就是模擬了n不斷變大
同時 p=k-最高位*1(比如k=456 p=356)然后p不斷*10 累加到cnt
這里是因為p初始為356(還是舉個栗子..)伴隨著c的變大 p*10恰好是每次c的cnt的變化值
這樣完事之后 cnt表示<c且字典序<c的個數 顯然這個>m (要不for不終止)
并且多出來的這些都是排在k之前的 所以答案是 c-1-(cnt-m+1)
最后還要和k取大 避免取不到的情況 比如 10 2
1 10 2 3 4 5 6 7 8 9
這種題嘛 考試的時候保證暴力分就好了
但是 打暴力也是有技巧滴
同桌加了幾個if就50分了
其實特判的情況也不是很難想 只是沒有這個意識
想特判.
想特判.
想特判.8.5
T1愛在心中
Tarjan
T2最長鏈
這個題印象很深刻啊!
雖然我到現在也不知道為啥數組要開那么大
數組要開大大大大
T3匈牙利游戲
求嚴格次短路 不會正解 打暴力
然而算錯了復雜度 算錯了復雜度
其實暴力沒有計算的那么慢 自己傻傻的+n<=10
亂搞的答案不對....2個點
正解是
正反跑spfa 記錄每個節點的1跑過來的最短路和n跑過來的最短路
考試的時候想的是每個點的這兩個值加起來 然后求此小值
后來發現 樣例都過不了.....
原因是 這里的dis數組的定義決定了會忽略一些邊
所以 接著這個思路想下來 我們強制走某一條邊
也就是我們枚舉邊 然后計算 disu + dis2v + uv 就是一條路徑的長度
注意這里統計出來的數的個數不是路徑數 因為同一條路徑上的許多邊都統計了一遍
但這里求的是嚴格次短路 這就很好的符合我們求出來的值 只需要找出第二小的不同的就好
也就是說 這種方法不能求次短路 8.6
T1潛伏著
考慮不全考慮不全 有一種情況想到了 但傻傻的沒寫到代碼里
T2細胞分裂
比較簡單的數論題
細節處理的不好..有個/0的地方
而且是第一個點 最簡單的數據 如果自己交之前造出來試試的話就A了
造數據的水平低...
T3道路游戲
不算難得dp 寫了很久沒寫出來....
dp太弱....
沒留多少時間打暴力 寫了個裸地 5分...
沒把握的一定留出時間打暴力+剪枝 8.8
T1裸地kmp
T3裸地manachar
T2 Hash
這個題糾正我對hash的認識....
之前以為hash就是用一個可存儲的 一般是int 數據類型來記錄信息
而這個題自己這樣敲完之后就發現了問題
信息太多 而hash值關系到數組下標 又不能開太大
這樣碰撞的幾率就大大增加了
果然的wa了
對于每個hash值 把它抽象成一個點 然后每個信息作為它連向的點
這樣借助鏈表就存下來了 但是這個東西的復雜度理解的不好
有時候換的mod就T 甚至有時候用map都比他快.. 8.9
T1餐巾
似乎是貪心 然而沒有想出策略 打的暴力
廢了很久的時間剪枝 然后后來想想 數據范圍很大
比較稀疏 有的不剪就過 有的不管怎么剪都過不了..
考慮好哪里該用剪枝
貪心策略嘛
其實這個貪心只能過cogs上的數據 別的只能用網絡流
枚舉一共買多少個
前幾天的盡量買 因為這樣就能很快的進入循環 為后面省錢
然后對于每天的需求 除去買的 肯定輸慢洗的優先(因為便宜)
然后用快洗的 這里注意優先使用剛剛洗出來的 保證這些快洗的用完后很快慢洗出來
T2借教室
二分比線段樹快!
T3路由選擇
最短路 次短路 次次短路
本來想用求次短路方式求 結果不能保證正確性..
n很小 暴力.暴力.暴力
路徑輸出的時候麻煩點 8.10
講課沒考 ^ ^
8.11
水題不說了8.12
T1蘋果樹
這題給百度翻譯坑了一把....
正解dfs序+樹狀數組
T2平衡的陣容
ST表
注意注意int k=log(r-l+1)/log(2);
這句是很慢的 所以還是預處理一下的好
T3snow
又是hash 依舊按照自己想法
結果就是 ~ wa 還是因為hash值重了..
有個很適合這個題的算法叫最小表示法
不過這個算法沒學會 按他的思想自己yy了一下就A了8.13
T1開車旅行
暴力的復雜度是n*n的
首先預處理每個點的最短次短距離就Tle了
這里我們借助set O n 的解決這個問題
然后對于每個詢問 利用倍增 logn的實現就不超時了
T2聰明的質檢員
注意注意!mxx開大開大開大~
T3觀光公交
貪心8.15
T1 2k進制數
我滴天~又算錯復雜度 階乘算成乘....
算好復雜度!
T2互不侵犯
爆力 懶得剪枝了 50分
剪枝 每次搜右下 70分
剪枝剪枝剪枝!
正解好神奇好神奇...表示自己要學的還很多
注意到n<=9 不是搜索就是狀丫
搜索+剪枝 70分 枚舉放或者不放
這里用狀丫 f[i][j][k] 表示前i行 放了j個國王 i行的狀態是k的方案數
轉移的話 枚舉下層的狀態 算出這個狀態中有幾個國王 然后更新
復雜度 2^n*2^n*n*K*n 最后一個n是算國王數 這個可以預處理搞出來
還有一個問題就是 互相傷害的問題
首先在同一行里 相鄰的不行 不同行的就左移右移一下就好了 順帶處理好兩個狀態能不能互相轉移
最后Σf[n][K][i]
T3Necklace of Beads
正解Polya 還沒看懂.....8.16
T1 Brackets Sequence
區間dp 然后遞歸輸出 要special judge
T2 貪吃的九頭龍
調到吐血的樹形dp….
狀態定義的沒錯 就是考試的時候傻啦吧唧的轉移左右孩子
其實之轉移父親就簡單多了 不用考慮那么多
還有就是偷懶沒有把誰有沒有找過這個信息轉過去
而是搞了個全局變量…wa到挺
再就是特盤的時候還有終止條件寫的不好
遞歸的時候一定要看好 能不能定義全局變量!
T3 劍客決斗
編號為x的人能從所有人中勝出,必要條件是他能與自己相遇,
即把環看成鏈,x點拆成兩個在這條鏈的兩端,中間的人全部被淘汰出局,x保持不敗。
這樣,在連續幾個人的鏈中,只須考慮頭尾兩個人能否勝利會師,中間的則不予考慮,
從而少了一維狀態表示量。8.17
T1飛揚的小鳥
暴力dp80
看了題解優化之后卻wa75
因為不是自己想的 理解的不好 很久之后才想明白
T2 守衛者的挑戰
表示很遺憾..
開始狀態想的沒錯 就是轉移的時候出了問題 自己也想到了數組平移
然而沒往下寫 與正解擦肩而過….
然后為了好轉移寫了個4維的 時間不多了沒來得及降維 草草的算算空間就交了…
尼瑪double忘記*8了 華麗的直接Memory limit exceeded while compiling
我尼瑪0分
考試后寫了寫用原來的狀態寫了寫數組平移然后降維
數據太水就A了
想到就寫啊 試一試
T3 棋盤染色2
暴力+剪枝65
正解狀丫不會寫8.18
T1 運輸計劃
之前做過這題 然而lca的時候&寫成了&& 華麗的95分蹦成5分
還是太粗心 具體的不說了 orz神奇標記上傳
細心細心細心 要對拍 要對拍
T2解方程
很好的思路 mod 減小范圍解決T的問題
T3國王游戲
我是不會說我考試的時候想到了正解卻把金幣取大看成金幣求和的....
讀三遍題 讀三遍題 讀三遍題! 8.20
T1 digits
這題....輸出是要換行的
讀三遍題 讀三遍題 讀三遍題!
T3 graph
k>=n
讀三遍題 讀三遍題 讀三遍題! 8.21
T1 鬼子進村
不會正解 暴力80
學會好好利用STL封裝好的數據結構
T2 可憐的狗狗
暴力60 正解主席樹
值得一提的是 有同學手打快排改進只排有貢獻的一半70
也不要太依賴STL
T3 送花
讀三遍題 讀三遍題 讀三遍題!
考慮全面 考慮全面
刪掉之后就又可以加了....8.24
T2 疫情控制
這題要好好說說
考試的時候亂搞的 明知道正確性有問題還是寫了
20分 比較給面子了....
其實暴力回溯的話可以40分
看來對于這種暴力還不是很會打
最起碼這次沒想到
暴力優先 打好暴力8.25
T2 封鎖陽光大學
這題可惜了啊 想到了正解 還是40分..
丫好幾個聯通快啊!
所以向染色啊 匈牙利啊 Tarjan啊 都是for一遍的
記住記住記住!QAQ 8.26
T2 車站分級
根據題意建立模型
認真讀題 認真讀題 認真讀題
停的站前后的沒停的都要比他小….
然后找最長鏈 用記憶化加速 拓撲排序好像也行
*/
?
轉載于:https://www.cnblogs.com/yanlifneg/p/5814766.html
總結
以上是生活随笔為你收集整理的Conclusion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webconfig中配置各种数据库的连接
- 下一篇: C Primer Plus_第8章_字符