2020年3月30日

状态压缩+升维dp——UCF 2016 I

摘要: 两种dp状态的设置法 比较坑的一个地方:不论是哪种设置法,最后都要特判一下所有骨牌相同的情况,这种情况要把最后的结果/2 因为此时每种骨牌排列,都可以将每块骨牌逆过来,还是合法的,基于我们设置的状态,这样就多统计了一倍,所以要/2 只要有一块骨牌和其他不同,上述情况就不成立 此外:当s[i]==t[ 阅读全文

posted @ 2020-03-30 23:06 zsben 阅读(172) 评论(0) 推荐(0) 编辑

二分+BFS——UCL 2016 J

摘要: 题意比较难懂,因为是最大化最小值,无脑二分答案即可 /* 每走一步,图上所有数-1,使(1,1)走到(n,m)的路径上数最小的点最大,问这个值 样例1的路线 9 8 3 3 5 7 3 4 4 3 */ #include<bits/stdc++.h> using namespace std; #de 阅读全文

posted @ 2020-03-30 20:10 zsben 阅读(119) 评论(0) 推荐(0) 编辑

【好题】二分图构造+bfs+拆绝对值——UCF 2016 K

摘要: /* 首先想到拆绝对值 ta-tb = ha-hb ta+tb = ha+hb 可以发现,两个特征值之差/和 相等的点可以互相跳跃 那么构造出一幅二分图,左边是所有特征值之差,右边是所有特征值之和,每个点(除结点1外)代表了一条边 要求的结果,显然是从结点1的和|差一直到达结点n的和|差所经过的结点 阅读全文

posted @ 2020-03-30 17:41 zsben 阅读(158) 评论(0) 推荐(0) 编辑

导航