随笔分类 - 博弈论
摘要:A(模拟) 按题意模拟至指令达到上限 #include<bits/stdc++.h> #define rep(i,s,t) for(int i=(s),i##end=(t);i<=i##end;i++) #define dwn(i,s,t) for(int i=(s),i##end=(t);i>=i
阅读全文
摘要:2019 NWERC(最短路+凸包、线段树二分、智慧题) D. Disposable Switches 显然最终的答案只与经过的边数和经过的最短路径长度和有关 令$dis[x][k]$表示到$x$点经过$k$条边的最短路(因为记录了边数,这个东西可以直接$n^2$预处理 完全不可能的点不容易求,考虑
阅读全文
摘要:A 数位$dp$ 咕了 B 由于$m$很小,考虑用生成函数表示方案数,设$f_i$表示$i$个物品的生成函数 转移$f_i$时,单独考虑第$i$个物品有三种情况$(不选,s,b)\(,对应价格为\)(0,1,2)$,贡献为$f_{i-1}(1+x+x^2)$ 否则$i$与$i-1$联合考虑,一共四种
阅读全文
摘要:A 签到题,注意$x=0$的特例,求逆元即可 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld long double #define ull unsign
阅读全文
摘要:T1 bzoj 4730 Alice和Bob又在玩游戏 题目大意: Alice和Bob在玩游戏 n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最小的点 Alice和Bob轮流操作,每回合选择一个没有被删除的节点x,将x及其所有祖先全部删除,不能操作的人输 思
阅读全文
摘要:题目大意: n堆石子,两个人轮流取石子,每个人取的时候,可以随意选择一堆石子 在这堆石子中取走任意多的石子,但不能一粒石子也不取,取到最后一粒石子的人算输 思路: 首先当每堆石子数都为1时,偶数为先手必胜,奇数为先手必败 当有一堆石子数不为1时,先手可以使堆变为奇数个1的堆,即先手必胜 而如果有很多
阅读全文

浙公网安备 33010602011771号