玄學好題 寶藏騙分記

2022-04-12 02:23:38 字數 2027 閱讀 2278

部落格前廢話:

私以為這篇部落格都不能算是題解了,只能算是玄學(連模擬退火都算不上

但是在考場上如果沒有更好的思路只會爆搜這也不妨是一種更優雅的騙分方法,能在保住暴力分的前提下看臉騙更多的分,而且比模擬退火好想好寫好調對臉的依賴度低(對非酋的我來說是個很好的東西qwq)

題前廢話:

窩的思路會被hack,僅用於騙分

正解什麼的大概會補上叭(跟我讀:咕咕咕)

(手動分割.jpg)

玄學好題——寶藏

發現這個題的資料中,n很小,可以自然而然的想到狀壓

但是發現狀壓不會,於是我們考慮%你退火爆搜

發現有70%的資料是\(n \leq 8\)的,\(o(n!)\)的爆搜完全是可以接受的。

咋爆搜捏?

我們可以暴力列舉每個點被遍歷的順序。但是我們不知道每個點是由哪個點轉移過來的,所以也要列舉轉移過來的點,計算最小值。

我們這裡可以簡單的加乙個剪枝:如果當前的代價已經大於搜過的最小的答案,就直接return.

dfs**如下:

void dfs(int now,int cstn)//cstn是當前的代價,now表示該列舉第幾個被遍歷的點了

for(int i=n;i>=1;i--)

for(int j=n;j>=1;j--)//列舉從哪個點轉移過來

} bs[i]=0;

} }

}

好了我們有了70pts,剩下的就是毒瘤的tle了

考慮剪枝。由於我太菜了,實在是不會其他正確的剪枝了,所以考慮可能會wa的貪心。

我們在上面列舉從哪個點轉移過來時,如果現在列舉的點造成的代價比之前列舉過的最小值差lst太多,那他很有可能不是最優解(當然也不一定)。那麼要是差多少呢?顯然差值越大答案就越靠近最優解,而且由於v差距過大,所以我們把lst的倍數作為差值。

幾倍好呢?顯然造成代價在lst的3倍以上就很可能tle,所以選個3以內的數,當然如果大於lst就直接跳過wa的機率就很大,所以我們取lst的2倍。但是由於博主太菜了,如果把lst乘偶數倍作為標準會直接輸出2147483647,所以博主決定使用玄學猜法最終選擇了\(\frac\)這個鬼畜的數字

由於這個數字可能會導致暴力能過的點wa掉,所以採用資料分治的方法,在保住70pts的基礎上進行騙分

然後博主發現資料過水以至於騙到了100pts

**:

#include#include#include#include#include#include#include#include#define pa pair#includeusing namespace std;

typedef long long ll;

typedef unsigned long long ull;

const int inf=2147483647;

inline ll read()

while(ch>='0'&&ch<='9')

return f?-x:x;

}int n,m,ee[19][19],ans=inf,ok[19][19],all,cs[19],dt[19];

bool bs[19];

int mm[19];

void dfs(int now,int cstn,int lmn)//emm這裡加了乙個親測沒用但懶得刪的剪枝:lmn計算剩下沒有選的點會造成的最少代價,進行最優化剪枝

int lst=inf;

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

dt[i]=dt[j]+1;

dfs(now+1,cstn+cs[i],lmn-mm[i]);

dt[i]=0;

cs[i]=0;

}} bs[i]=0;

} }

}int main()

else//會有很多很多重邊,取最小邊權

}int lmn=0;

for(int i=1;i<=n;i++)

dfs(1,0,lmn);

printf("%d\n",ans);

}

CSP小明放學 好題)

小明放學 時間限制 1.0s 記憶體限制 512.0mb 問題描述 題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了 智慧型光明 終端,小明想利用這個終端給出的...

HNACM 六 第四題 探尋寶藏

傳說hmh大沙漠中有乙個m n迷宮,裡面藏有許多寶物。某天,dr.kong找到了迷宮的地圖,他發現迷宮內處處有寶物,最珍貴的寶物就藏在右下角,迷宮的進出口在左上角。當然,迷宮中的通路不是平坦的,到處都是陷阱。dr.kong決定讓他的機械人卡多去探險。但機械人卡多從左上角走到右下角時,只會向下走或者向...

水題挑戰3 NOIP 2017 寶藏

參與考古挖掘的小明得到了乙份藏寶圖,藏寶圖上標出了 n 個深埋在地下的寶藏屋,也給出了這 n 個寶藏屋之間可供開發的 m 條道路和它們的長度。小明決心親自前往挖掘所有寶藏屋中的寶藏。但是,每個寶藏屋距離地面都很遠,也就是說,從地面打通一條到某個寶藏屋的道路是很困難的,而開發寶藏屋之間的道路 則相對容...