11 2022 档案
摘要:4*4=16 最终全部的状态的2的16次方=65536 暴力枚举所有方案,从方案里找到一个原始状态一摸一样的方案,对比一下求出最小步数; #include<cstring> #include<iostream> #include<algorithm> using namespace std; typ
阅读全文
摘要:第一个难点:如何枚举第一行的操作(指数类型的枚举,可以使用第一题的指数型枚举) 这里使用二进制类型枚举 1 1 0 1 0 = 26 反过来任何一个整数0-65536 也可以用二进制表示 第一行有5个数,2的5次方等于32 0-31 代表每一种方案; 怎样看第i位是不是1; i>>k & 1 第二个
阅读全文
摘要:// 转换为目标状态 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N=110; char start[N]; //初始状态 char aim[N]; // 目标状态 i
阅读全文
摘要:怎样使用二分来做; 看题目是否具有二段性 或者单调性; 单调性属于二段性; 怎样看单调性: 初始时E0 数学归纳法推出:Ei撇 都是大于Ei的 达到某一个值就一定能够成功,等于maxh;return true; 防止中间过程爆int #include<iostream> #include<cstri
阅读全文
摘要:// 递推 // 数列 0 1 1 2 3 5 8 13 21 ... 被称为斐波纳契数列 #include<iostream> #include<cstring> using namespace std; const int N=50; int n; int f[N]; int main(){ c
阅读全文