摘要: 这道题的确比较难想,首先我们知道图比较小,有可能是枚举,那么该如何枚举呢??? 你可以发现,我们只要把第一排定了,并且保证第一排不准动,那么答案就定了 也就是说,我们首先用二进制枚举,枚举第一行需要翻转的,然后让第一行不准再翻转,后面的翻转只能在第二行进行,那么第二翻转的实际上是定好了的,然后因为定 阅读全文
posted @ 2019-12-17 22:57 bluefly-hrbust 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 状压DP,对于这种范围给到20的,1<<20并不大,dp[i][j]中i代表状态,表当前二十个二进制位中,有多少点已经走过,j代表的是当前状态中最后的点什么,我们维护这个二维数组,就能得到答案dp[(1<<n)-1][n-1],如何转移呢???很简单,我们知道,一个状态i,由另外一个状态转移过来,一 阅读全文
posted @ 2019-12-17 19:30 bluefly-hrbust 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 快速乘 解决int64*int64%int64问题 移位快速乘,思想是把a*b%p中的b,对其进行二进制拆分,把b拆成二进制形式 a*b=ck-1*a*2k-1+ck-2*a*2k-2+ck-3*a*2k-3+....+c0*a*20 其中c代码二进制位是否为1,我们只需要把b每次&1看最后一位是否 阅读全文
posted @ 2019-12-17 15:36 bluefly-hrbust 阅读(337) 评论(0) 推荐(0) 编辑