上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 75 下一页
摘要: 原题链接 考察:多重背包dp 思路: 多重背包板子,然后注意压掉一重循环需要倒序体积.... 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 typedef long lo 阅读全文
posted @ 2021-04-01 01:35 acmloser 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:背包dp 思路: luogu题解的300分界线的题解本蒟蒻完全看不懂 .这篇题解是自己对第一篇题解的理解. 首项观察数据范围可以发现此范围MLE,需要压缩范围.根据极差<=3.可以将体积范围压成1~4. 但是!这道题不能把m根据vi压缩体积,根据vi的压缩不同,会导致m得到不同的取值 阅读全文
posted @ 2021-03-31 23:23 acmloser 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:单调栈 错误思路: 枚举滑动窗口大小,从头到尾计算.TLE O(n2) 正确思路: 根据a[i]对答案的贡献来计算,由题意得ans += (r-l)*a[i] 其中r是a[i]作为最大值的区间个数,l是a[i]作为最小值的区间个数.那么问题是如何计算区间个数. 首先明白单调栈和单调队 阅读全文
posted @ 2021-03-31 13:24 acmloser 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:最短路 思路: 就是最短路....由贪心知道去曾今去过的点只会平白无故损失能量,所以要尽量不走旧点,可以跑一遍dijkstra g[n][n]需要long long,不知道是不是因为这个反复WA.... 1 #include <iostream> 2 #include <cstrin 阅读全文
posted @ 2021-03-31 01:27 acmloser 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:思维 思路: 首先要发现负数个数a,正数个数b转化为其他ai bi实际上构成了一张无向图. 然后就能发现当负数个数为奇数时,且n为偶数时,会有一个负数不能转化为正数. 1 #include <iostream> 2 #include <cstdio> 3 #include <algo 阅读全文
posted @ 2021-03-30 23:47 acmloser 阅读(62) 评论(0) 推荐(0) 编辑
摘要: AcWing 734. 能量石 和 HDU 1074 Doing Homework 以及POJ 陪审团的区别 这3题属实看得我有点迷惑与HDU不同的是,这道不允许使用结构体dp的题都不是要求全部选完,只是选部分.HDU要求作业必须全部做完.而且time与cost可以分别记录.原因不知道是否是在这. 阅读全文
posted @ 2021-03-30 16:12 acmloser 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:分组背包dp 错误思路: 设置f[i][j]前i组选j个的集合,但这样划分集合没有考虑钱数,求不到最优解.pass 设置f[i][j][k]表示前i组选j个体积为k的三维数组,先不说有MLE的风险,而且枚举几个的时候很难计算体积 正确思路: 由上面应该要联想到状压dp,在能枚举出几个 阅读全文
posted @ 2021-03-30 09:35 acmloser 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 暂时的总结 01背包:n种物品和体积为m的背包,每种物品只能选1次,问能装的最大价值: f[i][j] = f[i-1][j-v]+w,f[i-1][j](以最后一步选与不选来划分集合) 观察式子可知,f[i][j]只能由f[i-1]的状态转移而来,因此只需要保存f[i]与f[i-1]两个状态. 0 阅读全文
posted @ 2021-03-28 13:51 acmloser 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 完全没想到状压dp,思路全跑dfs了,但是dfs又觉得m范围不定数据可能很大....然后被卡死了.... 题解参考了这位po主,写得比本蒟蒻好 GO 思路: 参考状压dp模板哈密顿路径f[i][j]表示到达i状态且最后落脚点为j的方案数,f[i|1<<j][j] += f[ 阅读全文
posted @ 2021-03-26 16:28 acmloser 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:模拟(?) 思路: 对于当前点,先找以它为顶点第一类正方形边长,再找第二类正方形边长.最后计算一下以它为顶点的连通块1的数目,如果1的个数 = (边长-1)*4,那么这就是一类正方形. 还是要多动脑啊,不想没用啊TAT 1 #include <iostream> 2 #include 阅读全文
posted @ 2021-03-26 14:18 acmloser 阅读(93) 评论(0) 推荐(0) 编辑
上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 75 下一页