2024.3.15 Alpha-Beta 剪枝+CF div2

O_JF?發表於2024-03-16
Alpha-Beta 剪枝:
// mi=-inf mx=inf
int LH(int u, int mi=INT_MIN, int max=INT_MAX,int is_max=1) {//is_max代表的需要的是最大的,但是本回合對手選
  	if (!G[u].empty() return val[u];
  	if (is_max) { //自己挑大的
      	for (int v:G[u]) {
      		mi = max(mi, LH(v, mi, mx, is_max ^ 1));
      		if (mi >= mx) break; //如果選比之前的還大個,那對手肯定不讓進u這邊來
    	}
    	return mi;
  	} else {  //對面挑小的
    	for (int v:G[u]) {
      		mx = min(mx, LH(v, mi, mx, is_max ^ 1));
      		if (mi >= mx) break; //如果選比之前的還小個,那我肯定也不要到u這邊來
    	}
    	return mx;
  }

關於晚上的CF

  • APM不夠快
  • 程式碼細節容易錯
  • 光想不敲、不會做的時候,要麼跟著榜單跳過、要麼就嘗試

相關文章