随笔分类 -  蓝书习题

摘要:题解 假如k 1的图我们知道,那么得到k的图,相当于就是将k 1的图再复制4次,具体见代码。 代码: 阅读全文
posted @ 2020-02-04 12:06 A_sc 阅读(147) 评论(0) 推荐(0)
摘要:题解: 这道题第一眼和前面的最短哈密顿路径很相似,但是不太相同。这道题数据不大,可以朴素枚举每行的所有情况,用二进制压缩表示每行的各种情况,也就是0 ~ 1 using namespace std; typedef long long ll; const int MA=1e2+5; int a[6] 阅读全文
posted @ 2020-02-04 09:16 A_sc 阅读(137) 评论(0) 推荐(0)
摘要:题解: 按照蓝书介绍,我们另l,r表示一段区间,p为要测试区间长度,初始时l=r=0,p=1; 1 根据题意,要让分的区间个数越小,那么每个区间尽量大。 所以我们做这道题思考切入点,就是对区间左边界l,这个区间的右边界最大到哪里? 2 最初r=l,p=1.当[l,r+p]这个区间的校验值k,那么缩小 阅读全文
posted @ 2020-02-03 19:28 A_sc 阅读(140) 评论(0) 推荐(0)
摘要:题解: 想象一下,假如x,y(p using namespace std; typedef long long ll; const int MA=1e4+5; mapmp; int n,p,h,m,cnt=0; int b[MA]; int main() { scanf("%d%d%d%d",&n, 阅读全文
posted @ 2020-02-02 22:55 A_sc 阅读(117) 评论(0) 推荐(0)
摘要:题解: b[i]存a[i]的差分序列,我们要把b[]中除了第一个值以外的其他位的值都通过选择两位一个+1,一个 1变成0。 为了使次数减少,我们要把b数组中i 1位的能够两两消除的先消掉,然后剩下的再和1位或者n+1位组合。 这样总次数就是min(pos,neg)+|pos neg|=max(pos 阅读全文
posted @ 2020-02-02 22:19 A_sc 阅读(131) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-02-02 22:16 A_sc 阅读(124) 评论(0) 推荐(0)