摘要: 感觉还是不太明白它 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 樱雪喵 阅读(124) 评论(1) 推荐(0) 编辑
摘要: 终于有一道一遍过的题了/kk/kk 发现前几道都很难(总之暂时没想出来)就先把这个写了。 其实这题四维 dp 好像能过,但既然写了就写正解吧... 因为路径正着走和反着走都是一样的,所以问题就是求从左上走到右下两条不重合的最大路径。 在转移途中,因为两个路径的长度都一样,所以枚举横纵坐标的和作为第一 阅读全文
posted @ 2020-12-11 21:46 樱雪喵 阅读(121) 评论(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 樱雪喵 阅读(99) 评论(0) 推荐(0) 编辑