今天題量挺大,沒有在考試的時候寫記錄
而且做得也挺爛,所以仔細寫一下記錄
其實挺水一題。
其實我以前見過這道題目,做的時候直接開了個十六維陣列233。
這道題的靈魂就是十六位的二進位制。
但是考後隨便動了動腦子,發現我恐怕是傻的真的菜
很明顯,這個題目的操作就是按位異或,所以根本不需要花裡胡哨亂七八糟的轉變操作,
直接按環後移以為,異或一下就能夠得出下乙個狀態
而因為只要出現迴圈,就會一直按照乙個迴圈節繞下去,所以只要找迴圈節就ok了
然後我是真的服了我自己
根本沒動腦子,以為迴圈節一定會包括第乙個狀態…
我現在真的不知道我當時到底什麼狀態犯這種錯誤
所以卡了我乙個小時???
徹底重構**三次???
其實第二題我也出現了這種問題,說明本次考試之中,我做題的思考太少了。
think twice,code once
\color\text
think twice,code once
真理好吧
我噴我自己
也不是很難的
但是也把我卡了很久,原因上面說了
乙個很純粹的模擬和離散化。
沒有對頭的咩咩不干擾答案,所以只要按照有對頭咩咩的位置乙個乙個處理,用乙個set判斷就可以了
所以我還重構了一次**???
真的是蠢哭了我去
看起來好像就是一道裸的最短路
然後真的是的233
dijkstra模板就過了
於是我還是沒拿分???
本人dijksta+heap優化,然後本地跑過。
測試…complie error????
lock居然也是bits的保留字我是真的…
心裡一句mmp
將lock改了之後,測了還是沒a
發現lock的位置又擺錯了233
注意啊!!!
屬於一道超出noip的難題(黑題233)
正解給的是狀壓dp,然後也寫出了暴力搜尋的優化方法作為標程。
code(dp):
#include
#include
#include
using
namespace std;
#define nmax 12
#define infinite 1000000000
int dp[
1<< nmax]
;int
main()
dp[0]
=0;for
(int subset =
1; subset
<< n)
; subset++)}
dp[subset]
= infinite;
for(
int i =
0; i < n; i++)}
}printf
("%d\n"
, dp[(1
<< n)-1
]);}
code(暴力優化):
#include
#include
#include
using
namespace std;
#define nmax 12
#define infinite 1000000000
int dp[
1<< nmax]
;int
main()
dp[0]
=0;for
(int subset =
1; subset
<< n)
; subset++)}
dp[subset]
= infinite;
for(
int i =
0; i < n; i++)}
}printf
("%d\n"
, dp[(1
<< n)-1
]);}
**很長很長很長很長
我也不能完全理解233,只能按照自己去的梳理一下
由於這是乙個排列類問題,所以直接來說本身並不很好轉化為集合問題
但是發現:如果將確定了的兔子看做乙個集合,那麼這個集合往外延伸而耗費的電線其實和集合內的兔兔順序無關
這就可以壓縮成乙個狀態。
狀態的設定呢?
也就是用01串表示這個兔子有沒有在之前選過的這個集合裡面
如果要往前推進,那麼就要把下個兔兔放入集合中,這時就會有三個電線**,乙個是集合內的兔子連上新加入的,和沒有連上但是需要延長的,還有就是加入的兔兔自己還要往外延的。
於是轉移就是在加兔兔的時候,當前狀態的集合刪去乙個兔兔的狀態。加上乙個電線數。
差不多就是這樣
而暴力並不比dp容易理解一些,所以也不做贅述
主要是難得碼字了233
但是確實,實現起來需要沉下心來想很久,現在也已經要下晚自習了,所以並不打算手打一遍
這次考試實在是考的瓜皮出一種境界了
仔細反省,碼字之前的思考是真的不夠縝密
但是其實平時的話我並不會這樣,這兩天考試的心態都有點過於急切了。
也有可能是沒休息好沒能靜下心來吧
反正這都是問題,其實在演算法層面,這些題目真的都沒有什麼可以說的,但是就是實現的時候寫出的bug,映**我自己打**的時候的過於急躁
每日練習 2019 8 4
jquery 中有哪些方法可以遍歷節點?children 取得匹配元素的子元素集合 next 取得匹配元素後面緊鄰的同輩元素 prev 取得匹配元素前面緊鄰的同輩元素 siblings 取得匹配元素前後的所有同輩元素 closest 取得最近的匹配元素 find 取得匹配元素中的元素集合,包括直接子...
2017 3 18考試記錄
雖然只做出了乙個題,但是第二題跟第三題也有思路,就是單位時間解題效率不高導致沒有做完,所以以後要多做題來加強一下。第一題 題目要求看能否讓所有排隊的人都能正好買到票拿到找零 分析 運用新學的stl中的map容器,將面值與數量存入容器中 注 當收到100要找零75時,應該注意找零順序,有50就給50和...
2019 7 30考試記錄
機房模考 2019.7.30 今天考了三道題,算是題量較小,所以在考場上時間挺充裕,寫下了一段簡單的記錄。在引用的基礎上增加一些考試後講題的感悟吧。這道題乍一看是個斯特林數,但是慢慢審題,會發現它和斯特林數的區別 座位不能連續放女生 男生預設填充 那就有點像兔子生殖的那題,也就是在乙隻兔子生下後不能...