摘要: 注意到怎么换都行,但是如果把某个黑方块用在对角线上,它原来所在的行列的的黑方块就都不能用 所以要选出n组不重的行列组合,这里用匈牙利算法做二分图匹配即可(用了时间戳优化) cpp include include include using namespace std; const int N=405 阅读全文
posted @ 2018-07-26 22:53 lokiii 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 非典型数位dp 先预处理出f[i][j][k]表示从后往前第i位为j时k的个数,然后把答案转换为ans(r) ans(l 1),用预处理出的f数组dp出f即可(可能也不是dp吧……) cpp include include using namespace std; long long l,r,t[2 阅读全文
posted @ 2018-07-26 22:32 lokiii 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 死活想不到分层图emmm 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为val/2,表示免了这条边的边权,然后答案就是第0层的s到k层的t的最短路,因为0权边总是从上一层连到下一层,所以到达k层就表示走了k条0权边 然后仔细观察这张图的 阅读全文
posted @ 2018-07-26 14:21 lokiii 阅读(147) 评论(0) 推荐(0) 编辑