随笔分类 -  算法进阶

摘要:题目: 分析 一般这种题都有一定得规律,根据观察可以发现, N = 2,是复制或复制旋转才得到结果。 这里先说一下线性代数中旋转后的坐标计算公式\ 运用矩阵乘法计算旋转后的(x , y) 然后就进行如图所示的操作 由于图片过大无法放大,所以查看图片请访问:https://img2020.cnblog 阅读全文
posted @ 2020-04-13 01:36 ACWink 阅读(206) 评论(0) 推荐(0)
摘要:也可以直接用等比树列求和公式,乘上逆元 分治: 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 using ll = long long; 7 const int 阅读全文
posted @ 2020-04-12 18:56 ACWink 阅读(871) 评论(0) 推荐(0)
摘要:题目分析:本题的运用差分思想,所以呢证明差分序列的前缀和是原序列前缀和的逆运算::a[1],a[2],...a[n]; b[i] = a[i] - a[i-1];b[1] = a[1];a[i] = b[1]+b[2]+...+b[i];a[i] = b[1] + b[2] + b[3] +...+ 阅读全文
posted @ 2020-04-12 15:54 ACWink 阅读(270) 评论(0) 推荐(0)
摘要:枚举正方行边长为r的 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 const int N = 5e3 + 5; 7 int g[N][N]; 8 int ma 阅读全文
posted @ 2020-04-12 15:28 ACWink 阅读(196) 评论(0) 推荐(0)
摘要:题目描述 汉诺塔问题,条件如下: 1、这里有A、B、C和D四座塔。 2、这里有n个圆盘,n的数量是恒定的。 3、每个圆盘的尺寸都不相同。 4、所有的圆盘在开始时都堆叠在塔A上,且圆盘尺寸从塔顶到塔底逐渐增大。 5、我们需要将所有的圆盘都从塔A转移到塔D上。 6、每次可以移动一个圆盘,当塔为空塔或者塔 阅读全文
posted @ 2020-04-12 15:07 ACWink 阅读(414) 评论(0) 推荐(0)
摘要:由题可得: 1.每个等最多点一次 2.当第一行固定,最多由一种结果,每一行的状态,要由下一行转换过来。所以枚举第一行的状态,来计算答案 #include <iostream> #include <algorithm> #include <cstring> using namespace std; c 阅读全文
posted @ 2020-04-12 12:13 ACWink 阅读(178) 评论(0) 推荐(0)
摘要:运用二进制状态压缩,模板题 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 int f[1 << 20][20], weight[20][20], n;//f[i 阅读全文
posted @ 2020-04-12 10:21 ACWink 阅读(266) 评论(0) 推荐(0)