随笔分类 - ACM_博弈
摘要:两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式: ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...n 方括号表示取整函数) 奇妙的是其中出现了黄金分割数(1+√5)/2 = 1.618...因此,由ak,bk组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1 + j + 1,若都不是,那
阅读全文
摘要:/*HDU 2149 算是这三个题目中的典范;代码很简单,关键在于思想。。。*/HDU 2149 代码:#include using namespace std; int main()
{ int m,n; while(cin>>m>>n) { if(n>=m) { cout<<m; for(int i = m+1; i <= n; i++) cout<<" "<<i; cout<<endl; } else { if(m%(n+1)) { cout<<m%(n+1)<<
阅读全文

浙公网安备 33010602011771号