題目鏈結
自己亂搞……然後一遍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...