博弈
来源:互联网 发布:双11淘宝所有商品都打折么 编辑:程序博客网 时间:2024/06/05 17:06
我认为一个挺好的总结:http://blog.csdn.net/flyawayl/article/details/56834836?locationNum=6&fps=1
博弈入门只学了巴什博弈,nim博弈,威佐夫博弈,还有很多其他变形的很难的没学.
我认为博弈这一大类的解题方法就是寻找必败点
hdu1847巴什博弈
是3的倍数就是先手必败点
hdu2176
简单尼姆博弈
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[1000005]={0};int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; int i,j; for(i=0;i<n;++i) { scanf("%d",&a[i]); } int sum; if(n==1){ cout<<1<<endl; continue; } sum=a[0]^a[1]; if(n>2){ for(i=2;i<n;++i) { sum=sum^a[i]; } } //cout<<sum<<endl; int x=sum; if(sum==0){ cout<<"No"<<endl; continue; } cout<<"Yes"<<endl; int ptr=0; while(sum!=1){ sum=sum>>1; ++ptr; } int k=0; for(i=0;i<n;++i) { if(((a[i]>>ptr)&1)==1){ //k++; int y=a[i]^x; cout<<a[i]<<" "<<y<<endl; } } //cout<<k<<endl; } return 0;}
hdu1527
威佐夫博弈模板题
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int f(int a,int b){ int k=0; double x=a*(sqrt(5)-1.0)/2.0; if(x>=0.5){ k=(int)x+1; } else{ k=(int)x; } //cout<<k<<endl; if(b==a+k){ return 0; } else{ return 1; }}int main(){ int a,b; while(scanf("%d %d",&a,&b)!=EOF) { int k=0; if(a==b){ cout<<1<<endl; continue; } int c=(a<b)?a:b; int d=(a<b)?b:a; //cout<<c<<" "<<d<<endl; cout<<f(c,d)<<endl; } return 0;}
普通的找必败点的博弈
poj2505
举一个样例:162
162是必败点
按最大能力*9一定能到达162的最小整数是必胜点
16/9=18;
按最小能力*2能到达18的最小整数是必败点。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;//在博弈中一定要学会找必败点,后继点和SG值int main(){ long long n; while(scanf("%lld",&n)!=EOF) { int t=0; while(n!=1) { if(t%2==0) { n=(n+8)/9; } else{ n=(n+1)/2; } ++t; } if(t%2!=0){ cout<<"Stan wins."<<endl; } else{ cout<<"Ollie wins."<<endl; } } return 0;}
阅读全文
0 0
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 博弈
- 闭包思维自动生成unittest 接口测试用例脚本
- 2017 Multi-University Training Contest 3 1003/hdu6058
- gulp、requirejs、webpack之间是什么关系
- java程序员的python之路(mongodb)
- Linux
- 博弈
- 课程 | 让机器“看见”——计算机视觉原理及实战
- UVA101 The Blocks Problem(模拟)
- Redis集群搭建与简单使用
- httpbin
- Object
- matlab三维散点图画法
- 【二分】460C Present
- 画布和绘图