摘要: 算法 构造一个有向图G,每个变量xi拆成两个点2i和2i+1 分别表示xi为假,xi为真 那么对于“xi为真或xj为假”这样的条件 我们就需要连接两条边 2*i —>2*j(表示如果i为假,那么j必须是假) 2*j+1—>2*i+1(表示如果j为真,那么i必须是真) 这就有点像推导的过程 实际上每一 阅读全文
posted @ 2018-03-28 19:46 小蒟蒻ysn 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 要明白树状数组的本质就是“单点修改,区间查询” 怎么实现“区间修改,区间查询”呢? 观察式子: a[1]+a[2]+...+a[n] = (c[1]) + (c[1]+c[2]) + ... + (c[1]+c[2]+...+c[n]) = n*c[1] + (n-1)*c[2] +... +c[n 阅读全文
posted @ 2018-03-28 08:16 小蒟蒻ysn 阅读(133) 评论(0) 推荐(0) 编辑