上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: 写了一个多小时才给它写出来...(呜呜呜 首先,因为一块砖占两个格,所以总格数是单数的话就怎么都铺不满。直接输出 $0$ 即可。 然后考虑状压 dp 。设 $f[i][j]$ 表示前 $i$ 行都放满且对第 $i+1$ 行影响为 $j$ 时的方案总数。 设数组 $f1[j],f2[j]$ 表示第 $ 阅读全文
posted @ 2020-12-18 20:49 樱雪喵 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 因为要考虑到原来的字符串有的字母是可以保留的,所以在按上一题的方法求过一遍之后,还需要再次决策。 设 g[i] 表示从 1 ~ i 所需的最少次数,则分为两种情况: 当 a[i] == b[i] 时,也就是说第 i 个位置就不用涂了,保留原来的颜色即可,所以 g[i]=g[i-1] 。 否则枚举分界 阅读全文
posted @ 2020-12-12 23:51 樱雪喵 阅读(102) 评论(0) 推荐(1) 编辑
摘要: 终于调出来了... 由于昨晚写了一半今天接着写的所以就没记时间/wq 分段 dp ,设 f[i][j] 表示前 i 个加油站中开设 j 个快餐店时最小的距离之和。 先预处理出在 i,j 之间只设一个快餐店时的代价(显然设在中间就好了)。 状态转移方程为 dp[i][j]=min(dp[i][j], 阅读全文
posted @ 2020-12-12 23:12 樱雪喵 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 感觉还是不太明白它 std 给的那个循环边界问题呜呜呜 (但我认为我这样写似乎并没有问题...... 设 f[i][j] 表示在前 i 个数中使用 j 次乘法后的最大答案。 所以就是 f[i][j]=max(f[i][j],f[k][j-1]*(sum[i]-sum[k])); 由于要求区间的和,所 阅读全文
posted @ 2020-12-11 23:03 樱雪喵 阅读(121) 评论(1) 推荐(0) 编辑
摘要: 终于有一道一遍过的题了/kk/kk 发现前几道都很难(总之暂时没想出来)就先把这个写了。 其实这题四维 dp 好像能过,但既然写了就写正解吧... 因为路径正着走和反着走都是一样的,所以问题就是求从左上走到右下两条不重合的最大路径。 在转移途中,因为两个路径的长度都一样,所以枚举横纵坐标的和作为第一 阅读全文
posted @ 2020-12-11 21:46 樱雪喵 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 想了20min然后写了10min qwq 直接把思考过程挂上来了,应该能看懂吧/wq (删去了大部分错误的过程,然后才发现正确的就这么点/kk 然而又没能一次过。查了很久发现是第三层循环那里把 i 打成了 1 。果然又是低级错误呜呜呜 #include<bits/stdc++.h> using na 阅读全文
posted @ 2020-12-11 20:43 樱雪喵 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 20min写完,没过样例,然后发现循环边界弄错了/kk 区间 dp 。 设 f[i][j] 表示从 i 到 j 这个区间取走除两端外所有牌后的最小答案。 对于从 i 到 j 的区间,我们可以枚举一个分解点 k ,则答案由 f[i][k] 和 f[k][j] 转移而来。即我们可以先取走 i 到 k 之 阅读全文
posted @ 2020-12-11 19:57 樱雪喵 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 想了很久没想出来,无奈之下看了题解。 如果 a[i] < a[j] ,因为要保证都是整数,所以 j - i 必须要小于 a[j] - a[i] ,才能使区间 i,j 内的所有数均可修改。 j - i < a[j] - a[i] 移项得 a[i] - i < a[j] - j。 所以 a[i] 里要存 阅读全文
posted @ 2020-12-04 22:28 樱雪喵 阅读(268) 评论(0) 推荐(1) 编辑
摘要: 思路: 先从左到右求一遍最长不下降子序列,再同样方法从右到左求一遍。 然后我们枚举分界点,则总人数就是左边一半加上右边一半的人数。 取最大值,输出答案。 见注释。 #include<bits/stdc++.h> using namespace std; int n,a[101],f1[101],f2 阅读全文
posted @ 2020-12-04 21:40 樱雪喵 阅读(156) 评论(0) 推荐(1) 编辑
摘要: 用时 10min ,一遍过。 设 f[i][j] 表示第一个字符串的前 i 位和第二个字符串的前 j 位最长公共子序列的长度。 当比较的这两个字母相同时,f[i][j] = f[i-1][j-1] + 1 。 否则 f[i][j] = max(f[i-1][j],f[i][j-1]) 。 #incl 阅读全文
posted @ 2020-12-04 21:02 樱雪喵 阅读(56) 评论(0) 推荐(1) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页