![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
爱打酱油的剑姬
这个作者很懒,什么都没留下…
展开
-
Nim game
给定 N堆物品,第 i 堆物品有 A i个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采取最优策略,问先手是否必胜. 我们把这种游戏称为 Nim 博弈。把游戏过程中面临的状态称为局面。整局游戏第一个行动的称为先手,第二个行动的称为后手。若在某一局面下无论采取何种行动,都会输掉游戏,则称该局面必败。 我们只需要证明 a1⊕a2⊕ . . . ⊕ a n ≠ 0是先手必胜状态,a1⊕a2⊕ . . . ⊕ an =0先手必败状态。 ...原创 2021-11-29 15:09:10 · 156 阅读 · 0 评论 -
Max Sum of Max-K-sub-sequence(单调队列)
#include "bits/stdc++.h" using namespace std; const int N = 100005; int s[N<<1],v[N<<1]; int t,n,k; deque<int>d; void init(){ d.clear(); memset(s,0,sizeof s); memset(v,0,sizeof v); cin >> n >> k; for(int .原创 2021-11-04 21:10:51 · 69 阅读 · 0 评论 -
Subsequence(单调栈)
#include"bits/stdc++.h" using namespace std; int n,m,k; int s[1000005]; deque<int>d,q; void init(){ d.clear(),q.clear(); } int main() { while (cin >> n >> m >> k){ init(); for(int i=1 ; i <= n ; i ++){ .原创 2021-11-03 15:21:47 · 65 阅读 · 0 评论 -
DZY Loves Partition
#include"bits/stdc++.h" #define ll long long using namespace std; const ll inf = 1e9+7; ll t,n,m; int main() { cin >> t; while(t--) { cin >> n >> m; ll k = (1+m)*m/2; if(k > n) cout << "-1" << endl; else{ n-=.原创 2021-10-20 22:03:33 · 55 阅读 · 0 评论 -
hud (4825) 字典树
看别的大佬博主学的容易看的懂的代码 #include"bits/stdc++.h" #define ll long long using namespace std; const int N = 100005*32; int s[N][2],sum[N]; int k = 1; ll t,n,m,x; //建树 和字符串建树的区别是 把一个数字转换成二进制而存入图中 void insert(ll x){ ll p = 0; for(int i=31;i>=0;i--原创 2021-10-11 20:05:50 · 40 阅读 · 0 评论 -
hdu 1535
#include "bits/stdc++.h" #define inf 0x3f3f3f3f #define ll long long using namespace std; const int N = 1e6+5; ll t,P,Q,cnt,u[N],v[N],w[N]; ll head[N],ans[N],vis[N]; struct node{ ll to,next,w; }edge[N],l[N]; struct cmp{ bool operator()(pair<ll,l...原创 2021-08-20 16:48:47 · 106 阅读 · 1 评论