摘要: 按照第一步往哪滑分类 分成四类 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 310; 4 int h[N][N]; //h表示每个点的高度 5 int f[N][N]; //动态规划数组 6 int n, m; 阅读全文
posted @ 2020-07-05 21:28 kyk333 阅读(162) 评论(0) 推荐(0)
摘要: 这道题目其实我也不会,第一次学习只是有个模糊的框架 之后还需要复习 需要配合一丢丢图论的基础知识,涉及到的不多 暴力做法时间复杂度就是阶乘级别的 依然是用状态压缩DP 用一个整数表示一个状态 每个点只能走一次 dp[i][j]中的i就是压缩后的一个状态 i这个二进制数中的每一位分别表示当前这个点是否 阅读全文
posted @ 2020-07-05 15:25 kyk333 阅读(207) 评论(0) 推荐(0)
摘要: 位运算 + 二进制表示状态 = 状态压缩DP 先把横着的小方块放好,然后剩下位置用竖着的小方块填充 然后就转化为求横着摆放小方块的方案数 按列来求 状态表示: dp[i][j]表示所有摆到了第i列,然后上一列伸出来的小方块的状态是j的情况下,总的方案数 状态转移:枚举一下i - 1列的状态 比如说当 阅读全文
posted @ 2020-07-05 13:06 kyk333 阅读(293) 评论(0) 推荐(0)
摘要: 不要问我经历了什么,这道题目我卡了三分之一天 三分之一天的时间在看这道题目 这道题目是一个大综合,涉及到新知识数位统计DP,以及前缀和,还有字符串操作,而且细节巨多 蓝桥杯里类似的题目是给定两个数a和b(都是500以内),问[a,b]区间里所有整数中1出现的总次数。 然后看看这一题, 0 < a , 阅读全文
posted @ 2020-07-05 04:23 kyk333 阅读(234) 评论(0) 推荐(0)