题目大意
不平等博弈
这是经典的不平等博弈,事实上,这就是方展鹏的论文里的题,论文中用了一堆sophisticated的证明来证明了一个规律,但是其实这是可以直接用Surreal Number的公理(或者是“加减乘除”与定义?)来做,我的大概过程就是这样的:
double getv(int n){
double v=0,v1=-1e+9,v2=1e+9;//v1表示当前左集中最大值,v2表示当前右集中最小值
char ch;
fo(i,1,n){
while(ch=getchar(),ch!='B'&&ch!='W');//读入第i个块的颜色
if (ch=='W')v1=max(v1,v);
else v2=min(v2,v);
if (v1==-inf)v=v2-1;
else
if (v2==inf)v=v1+1;
else v=(v1+v2)/2;//更新当前的值
}
return v;
}
然而论文中的方法是很麻烦的(是指想法,而不是代码),我就不在这里写了。