摘要: 背包: 消失之物 先直接做一遍,必然对于i,有 for(j=m;j>=w[i];--j) f[i]+=f[i-w[i]] 所以,如果排除用i做背包的结果,减去这个转移就好了。 memcpy(g,f,sizeof f) for(j=w[i];j<=m;++j) g[j]-=g[j-w[i]] 关于i的 阅读全文
posted @ 2018-10-23 20:31 *Miracle* 阅读(327) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-23 16:18 *Miracle* 阅读(5) 评论(0) 推荐(0) 编辑
摘要: (本文语言不通,细节省略较多,不适合初学者学习) 解决一类简单的sat问题。 每个变量有0/1两种取值,m个限制条件都可以转化成形如:若x为0/1则y为0/1等等(x可以等于y) 具体: 每个变量拆成i,i+n两个点,表示取0和取1 对于x为0,y为1的情况,从x向y+n连接一条边, 发现有逆命题: 阅读全文
posted @ 2018-10-23 16:04 *Miracle* 阅读(433) 评论(0) 推荐(0) 编辑