摘要: 暴力: 正解: 考虑循环矩阵,f[i][j]表示从i点到j点的方案数 我们发现n很小,我们预处理出n次的f[i][j] 然后在矩阵快速幂中,我们要从当前的f[i][j]*f[j][k]-->fir[i][j] 但是此时的循环为三层 我们考虑转移式子的意义在0-n次从i-j,在n+1到2×n转移至j 阅读全文
posted @ 2019-08-27 21:35 Wwb_star 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 对于此题的性质我们考虑DP 分四种情况 黑色块在右侧单调降,单调升 还有在左侧 另外我们这样可能会记重,所以还要将重复记过的也就是边界线是横的和竖的 然后还要将全白全黑加上 1 #include<bits/stdc++.h> 2 #define MAXN 2100 3 #define int lon 阅读全文
posted @ 2019-08-27 21:24 Wwb_star 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 正解贪心考场只骗到了70分 做法一: 现将没有限制的边缩掉然后连边, 这样我们直接采用贪心的做法,因为每个边最多只会被反一次, 那么从叶子节点向上对于一个需要修改的边没直接令他向上直到不能修改 注意处理连在lca上有两条链的现象 1 #include<bits/stdc++.h> 2 #define 阅读全文
posted @ 2019-08-27 21:20 Wwb_star 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 前置芝士约瑟夫问题 这样大概就是板子问题了 考场的树状数组+二分的60分暴力??? 1 #include<bits/stdc++.h> 2 #define int long long 3 #define MAXN 11000001 4 int c[MAXN]; 5 int lowbit(int x) 阅读全文
posted @ 2019-08-27 21:08 Wwb_star 阅读(153) 评论(0) 推荐(0) 编辑