Luogu P2953牛的數字遊戲(博弈論)

2022-05-01 01:21:10 字數 841 閱讀 3027

題目鏈結

自己亂搞……然後一遍ac啦!

思路從基本的必勝態和必敗態開始分析。我們把減去最大數得到的數叫作max,減去最小數得到的數叫作min。

那麼開始分析。

一、0是必敗態。

這個沒法解釋。題目就這麼定義的。

二、若乙個數的max和min都是必勝態,那該數為必敗態。

如果你拿到乙個數,結果你發現怎麼減都會讓對手必勝,那恭喜你,你拿到了乙個必敗的數。很好理解。

三、若乙個數的max和min有乙個是必敗態,那該數為必勝態。

如果你拿到乙個數,發現有一種減法讓對手從此無法翻盤,那恭喜你,你拿到了乙個可以必勝的數。 

根據這三條原則就很好設計啦

設f[x]判斷x是必勝態還是必敗態。從小到大列舉,按上面三條原則亂搞搞就可以o1查詢啦。

#include#include

#include

#include

using

namespace

std;

inline

long

long

read()

while

(isdigit(ch))

return num*f;

}struct

point

};inline point getlen(

intval)

return

ans;

}int f[1000200

];bool vis[1000200

];void dfs(int

val)

intmain()

return0;

}

牛客 游游的旅行(DP DFS)

參考 includeusing namespace std define num 100 10 define k 500 double u 游游的愉悅度 double v 小夥伴的愉悅度 int n 節點數目 兩節點之間的時間 int path t num num dp i j 表示在i點同時剩餘j...

Luogu P1588 丟失的牛

本題抽象一下就是從乙個點出發,然後經過座標x2或 1或 1到另乙個點。顯然這就是乙個搜尋題,而且顯然可以看出步數最多就是兩個點座標之差。但是資料範圍105,直接暴搜肯定要麼mle要麼tle,肯定不行,一定要加上優化。我們注意到座標的範圍是 0,105 那麼如果乙個點擴充套件到了這個範圍之外顯然就不可...

luogu P1427 小魚的數字遊戲

傳送門 今天是2019.5.27 距離noip2019還有165天 今天起手先刷一道大水題練手感 題目很簡單 正序輸入倒序輸出 沒個數 然而我一開始把它想成了一道字串的題 後來發現多位數會顛倒數字 上 include include include include include include i...