日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

[CQOI2013]新Nim游戏(博弈论,线性基)

發布時間:2023/10/11 综合教程 95 老码农
生活随笔 收集整理的這篇文章主要介紹了 [CQOI2013]新Nim游戏(博弈论,线性基) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[CQOI2013]新Nim游戲

題目描述

傳統的Nim游戲是這樣的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴數量可以不同)。兩個游戲者輪流操作,每次可以選一個火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同時從超過一堆火柴中拿。拿走最后一根火柴的游戲者勝利。

本題的游戲稍微有些不同:在第一個回合中,第一個游戲者可以直接拿走若干個整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一樣,第二個游戲者也有這樣一次機會。從第三個回合(又輪到第一個游戲者)開始,規則和Nim游戲一樣。

如果你先拿,怎樣才能保證獲勝?如果可以獲勝的話,還要讓第一回合拿的火柴總數盡量小。

輸入輸出格式

輸入格式:

第一行為整數k。即火柴堆數。

第二行包含k個不超過10^9的正整數,即各堆的火柴個數。

輸出格式:

輸出第一回合拿的火柴數目的最小值。如果不能保證取勝,輸出-1。

輸入輸出樣例

輸入樣例#1:

6

5 5 6 6 5 5

輸出樣例#1:

21

說明

k<=100

NIM游戲的先手必勝:a[1] ^ a[2] ^ ... ^ a[n] !=0

所以我們現在需要取走若干堆石子,使得對手不管怎么取石子異或和都不為0。

異或+不為0???

線性基!!!

線性基極其優美的性質:線性基的異或集合中不存在\(0\)。

更多線性基知識,戳這里

所以我們對于一堆石子,如果線性基集合能把這堆石子異或出來,就要拿走這對石子。

為了滿足拿走的石子盡量小,排一下序就可以了。

#include<bits/stdc++.h>
#define lll long long
using namespace std;
lll read(){
lll x=0,w=1;char ch=getchar();
while(ch>'9'||ch<'0'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
return x*w;
}
const lll N=110;
lll n,ans,a[N],c[N];
bool cmp(lll p,lll q){return p>q;}
void insert(lll v){
for(lll i=32;i>=0;i--){
if(!(v>>i))continue;
if(!c[i]){c[i]=v;break;}
v^=c[i];if(!v)break;
}
}
lll find(lll v){
for(lll i=32;i>=0;i--){
if(v>>i)v^=c[i];if(!v)break;
}return v;
}
int main(){
n=read();
for(lll i=1;i<=n;i++)a[i]=read();
sort(a+1,a+1+n,cmp);
for(lll i=1;i<=n;i++){
if(find(a[i]))insert(a[i]);
else ans+=a[i];
}
if(!ans)printf("-1\n");
else printf("%lld\n",ans);
}

總結

以上是生活随笔為你收集整理的[CQOI2013]新Nim游戏(博弈论,线性基)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99国产精品白浆在线观看免费 | 按摩ⅹxxx性hd中国 | 九九免费精品视频 | 精品国产无码在线观看 | 99久久视频| 国产乱子伦精品无码码专区 | 国产性猛交╳xxx乱大交一区 | 思思99re| 黄网在线观看免费 | 岛国二区| 免费中文字幕av | 国产视频精品视频 | 亚洲码中文 | 成人宗合网 | 黄色国产精品 | 91视频国产免费 | 亚洲二区在线视频 | 国产小视频在线免费观看 | 日本ww色| 欧美又粗又大xxxxbbbb疯狂 | 精品不卡一区二区 | 成人黄色国产 | 在线观看欧美日韩视频 | 涩涩视频在线播放 | 日韩欧美一二三区 | 91视频综合 | 极品一区 | 精品无码人妻一区二区三区品 | 一区二区中文字幕在线观看 | 精品国产网 | 久久久久亚洲精品系列色欲 | 人妻少妇偷人精品无码 | 亚洲一区二区精品在线 | 日xxxx| 成人一区av| 国产污视频在线 | 老公吃小头头视频免费观看 | 五月天丁香视频 | www.国产在线视频 | 爱乃なみ加勒比在线播放 | 国产91在线播放九色 | 老女人毛片50一60岁 | 午夜精产品一区二区在线观看的 | 亚洲二区在线播放视频 | 亚洲精品影院在线 | 久久亚洲精品石原莉奈 | 就去干成人网 | 九九热这里有精品视频 | 亚洲免费av网址 | 国内精品视频一区 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品亚洲欧美 | 午夜激情久久 | 亚洲逼逼 | 四虎精品久久 | 尤物视频在线观看国产性感 | 日韩精品一区二区亚洲av观看 | 欧美一级专区免费大片 | 亚洲成在线观看 | 日韩亚洲欧美综合 | 成人福利网站在线观看 | 亚洲一区在线播放 | www,四虎| www欧美日韩 | 欧美色视频一区二区三区 | 天天透天天干 | 懂色av一区二区三区蜜臀 | 草草色| 99久久99久久久精品棕色圆 | 黄在线观看免费 | 国产精品日韩精品欧美精品 | eeuss国产一区二区三区黑人 | 欧美 日韩 高清 | 成人av高清 | 伊人五月天 | 久久一级大片 | 日本午夜三级 | 激情综合网av | 91看视频 | 99热香蕉| 国产精品久久无码一三区 | xxxxwwww国产| 美丽的姑娘在线观看免费 | 中文字幕免费播放 | 在线观看日韩国产 | 国产又粗又猛又爽视频 | 卡一卡二视频 | 精品一区在线 | 亚洲AV无码一区二区三区蜜桃 | 精品在线第一页 | 亚洲第一黄 | 久久a久久 | 特黄在线 | 国产xxxx做受性欧美88 | 成人毛片18女人毛片免费 | 无遮挡边吃摸边吃奶边做 | 黄色片地址 | 色吧在线观看 | 在线观看www.|