为什么DLX回溯时要按相反方向?
  • 板块学术版
  • 楼主__ycx2010__
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/11/20 14:06
  • 上次更新2023/10/27 02:14:01
查看原帖
为什么DLX回溯时要按相反方向?
819929
__ycx2010__楼主2022/11/20 14:06
void remove(int p)
{
	r[l[p]] = r[p], l[r[p]] = l[p];
	for (int i = d[p]; i != p; i = d[i])//
		for (int j = r[i]; j != i; j = r[j])//
		{
		    s[col[j]] -- ;
			u[d[j]] = u[j], d[u[j]] = d[j];
		}		
}

void resume(int p)
{
    r[l[p]] = p, l[r[p]] = p;
	for (int i = d[p]; i != p; i = d[i])//
		for (int j = r[i]; j != i; j = r[j])//
		{
			u[d[j]] = j, d[u[j]] = j;
			s[col[j]] ++ ;
		}
}
2022/11/20 14:06
加载中...