随笔分类 -  ACM

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 36 下一页
大二到大三不堪回首的记忆....
摘要:原题链接 考察:分组背包dp 错误思路: 设置f[i][j]前i组选j个的集合,但这样划分集合没有考虑钱数,求不到最优解.pass 设置f[i][j][k]表示前i组选j个体积为k的三维数组,先不说有MLE的风险,而且枚举几个的时候很难计算体积 正确思路: 由上面应该要联想到状压dp,在能枚举出几个 阅读全文
posted @ 2021-03-30 09:35 acmloser 阅读(138) 评论(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 阅读(89) 评论(0) 推荐(0)
摘要:原题链接 考察:模拟(?) 思路: 对于当前点,先找以它为顶点第一类正方形边长,再找第二类正方形边长.最后计算一下以它为顶点的连通块1的数目,如果1的个数 = (边长-1)*4,那么这就是一类正方形. 还是要多动脑啊,不想没用啊TAT 1 #include <iostream> 2 #include 阅读全文
posted @ 2021-03-26 14:18 acmloser 阅读(106) 评论(0) 推荐(0)
摘要:原题链接 考察:模拟 思路: 看起来很像USACO的一道bfs搜索题,但是这道题不能去重,且x范围很大,一定会TLE.由此我们可以列出前几项发现规律.每层排序后,首项必然是n*(n+1)>>1,由此我们可以预处理每层的最大项,每层每个元素相差2,由此模拟. 坑点:i*(i+1)>>1一定要加LL!! 阅读全文
posted @ 2021-03-26 01:36 acmloser 阅读(49) 评论(0) 推荐(1)
摘要:原题链接 考察:贪心 思路: 这是构造递增序列不是等差递增序列!!!看了半天没想出来怎么写,结果发现看错题目了555 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 using namespace std; 5 t 阅读全文
posted @ 2021-03-26 00:19 acmloser 阅读(34) 评论(0) 推荐(0)
摘要:原题链接 考察:前缀和+二分+双指针 补一个大佬的神级解法 Go 错误思路: 纯双指针处理,写了几个小时没写出来..... 思路: 前缀和预处理,sum[i]表示1~i坐标有多少个1,那么[l,r]区间内1的个数为sum[r] - sum[l-1],那么我们可以枚举端点,计算[l,r]区间里有多少个 阅读全文
posted @ 2021-03-25 23:21 acmloser 阅读(44) 评论(0) 推荐(0)
摘要:原题链接 考察:二维费用背包 思路: 套01背包模板,但是数组范围不要开错,注意N,M,K的位置,记录此题纯粹提醒我自己..... 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std 阅读全文
posted @ 2021-03-24 01:02 acmloser 阅读(74) 评论(0) 推荐(0)
摘要:原题链接 考察:dfs+dp 思路: 很像NOI1999的导弹拦截,但是这道题的决策需要决定是加入上升子序列还是下降子序列,然后判断加入到哪一个上升子序列. 多决策问题多用dp或搜索,这道题用dp需要记录的状态有:当前第几个数,当前上升子序列个数,当前下降子序列个数,但关键是当前最优解不一定能推到全 阅读全文
posted @ 2021-03-23 20:37 acmloser 阅读(86) 评论(0) 推荐(0)
摘要:原题链接 考察:扩展gcd 思路: 套exgcd模板但是答案没有那么简单!!! 坑点: 存在!a||!b的情况,此时答案是系数为0的变量的范围.但是if !a&&!b 此时只有!c才存在答案. 此时a&&b, 我们可以求出x,y的某一个解.如果直接while(x+=b/d)统计会TLE.因此必须转换 阅读全文
posted @ 2021-03-23 01:02 acmloser 阅读(18) 评论(0) 推荐(0)
摘要:原题链接 考察:博弈论(找规律) 思路: 可以想到dfs奇偶剪枝那道题,每次移动都会改变奇偶性,我们看最后一步是奇还是偶即可. 1 #include <iostream> 2 using namespace std; 3 int n; 4 int main() 5 { 6 while(scanf(" 阅读全文
posted @ 2021-03-22 09:12 acmloser 阅读(15) 评论(0) 推荐(0)
摘要:原题链接 考察:博弈论 找规律 思路: 数字太大了,sg函数求不出来,因此只能先打表找规律(然后什么都没看出来) 看了网上的题解才懂怎么找...= = 先分类几种情况: a%b==0,先手必胜 a>b&&b<a<2b. 此时难以直接判定胜负,需要模拟,此时a只有一种选择.达到判定条件退出. a>2* 阅读全文
posted @ 2021-03-22 08:11 acmloser 阅读(22) 评论(0) 推荐(0)
摘要:原题链接 考察:博弈论 思路一: dfs记忆化搜索,枚举当前结点能到的每一个点.sg函数记录不能到达的点. 当sg函数>0,说明有操作时当前点到达0点.此时先手为胜. 思路二: 上面的思路数据稍微小点,就会报错... 找规律.观察操作,每次操作使日期的奇偶性改变.终点的日期之和(不考虑年)为偶数,所 阅读全文
posted @ 2021-03-22 00:57 acmloser 阅读(26) 评论(0) 推荐(0)
摘要:原题链接 思路: 直接dfs会MLE,需要打表,根据行列奇偶性判断是否能胜,由打表得当n%2==1&&m%2==1时必败. 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 int n,m; 5 int main( 阅读全文
posted @ 2021-03-21 17:11 acmloser 阅读(23) 评论(0) 推荐(0)
摘要:原题链接 考察:博弈论 思路: 当往上走不能再前进时sg(x,y) = 0.在sg函数里模拟行走,记录sg函数的值.最后结果是n个骑士坐标异或 1 #include <iostream> 2 #include <cstdio> 3 #include <set> 4 #include <cstring 阅读全文
posted @ 2021-03-21 16:47 acmloser 阅读(26) 评论(0) 推荐(0)
摘要:原题链接 思路: 和这道Multiplication Puzzle 很像,但初始化不一样.f[i][j]表示杀死[i,j]区间的最小值,枚举的间断点k是最后杀死的狼k.那么状态转移方程很好想,主要是初始化的问题,当len=1时,f[i][j] = a[i]还是a[i]+b[i-1]+b[i+1],由 阅读全文
posted @ 2021-03-18 02:13 acmloser 阅读(43) 评论(0) 推荐(0)
摘要:原题链接 考察:区间DP 思路: 观察样例可以发现,当两只兔子在同一块石头时,ans+1,在不同但质量相同的石头时,ans+=2.这里就有点像密码脱落那道题求回文序列的长度(不是子串).但是根据样例2,我们求出来的最大回文序列长度只有3,原因是在回文序列外的单个字符没有计入.由此可以发现ans有两部 阅读全文
posted @ 2021-03-17 12:03 acmloser 阅读(78) 评论(0) 推荐(0)
摘要:原题链接 考察:线性dp LIS的延伸题 思路: 当区间没有重叠部分的时候,就可以加上+f[j]. 注意:当有重叠部分的时候,不能f[i] = max(f[i],f[j]),如果数据eg:[1,10] [2,3] [4,19]3区间会把2区间加上,而2区间必须是原w . 1 #include <io 阅读全文
posted @ 2021-03-15 12:16 acmloser 阅读(38) 评论(0) 推荐(0)
摘要:原题链接 考察:线性dp 这也能dp系列,完全没想到. 注意这道题是检查子矩阵,所以不用围绕主矩阵的对角线检查. 思路: 枚举子矩阵的左下角坐标,定义f[i][j]是以(i,j)为左下角坐标的最长对称边长.可以发现f[i][j]的最大边长最多为f[i-1][j+1]+1.三重循环枚举即可. 这题的原 阅读全文
posted @ 2021-03-15 10:33 acmloser 阅读(55) 评论(0) 推荐(0)
摘要:原题链接 考察:线性dp 错误思路: f[x][y]代表坐标(x,y)的最少时间,状态转移方程推不出来,而且完全没有用到木板 正确思路: 上面的状态表示其实比较接近.dp问题要将大问题分解为若干个小问题.将起始点看作一块木板,f[i][0]表示从左边跳下去的最短时间,f[i][1]表示从右边跳下去的 阅读全文
posted @ 2021-03-15 07:33 acmloser 阅读(64) 评论(0) 推荐(0)

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 36 下一页