状态压缩dp
Sor4
这个作者很懒,什么都没留下…
展开
-
light 1011 状态压缩dp
题意:给一个N*N的二维数组,从中选出N个数 要求不能同行同列, 求这N个数最大数的和 状态压缩。每个i+1由上一个i推出来,这个直接一个for 搞一下就可以,剩下的就是枚举每个列。开一个dp[1(1异或表示去掉一个1,比如1000&1010 = 1 然后1010^1000 = 0010,这样就去掉了一个1 ,就表示我要选择这列m-1 就表示换到下一层。#incl原创 2015-08-04 12:11:21 · 300 阅读 · 0 评论 -
light oj 1021 状态压缩dp
给一个B进制的数,一个10进制的数K,B进制数有x位,对着x位进行全排列的话,有x!种可能,问这x!的可能中,有多少种可以整除K,各个位置上的数字都不同。代码也是看过题解之后才会写的 QAQ。。。。。。。。状态压缩dp,每次选一个没有用过的数,然后选一个没有用过的位置放上去,位置不一样,加上的值也不一样,然后直接记录对K取余,余数有多少种。dp[i][j]表示数位为i(i为1表示数字原创 2015-08-11 19:40:40 · 456 阅读 · 0 评论