摘要: 1.要状压的那一维,所有有关的下标要从0开始,而不是从1开始 2.预处理很重要,可以说基本所有的状压dp都要有预处理这玩意 阅读全文
posted @ 2023-03-19 20:52 QAQ啥也不会 阅读(15) 评论(0) 推荐(0)
摘要: 这道题最妙的是移入bitset,来统计能组成那些数 令bitset<2010> S; 一开始初始化S[0]=1 对于w[i],S<<w[i]表示原本能组成的数加上w[i]后组成的新数 但原本的数我们依旧是要的,所以便是S=S|(S<<w[i]) S.count返回S中1的个数,但是无符号的数据类型要 阅读全文
posted @ 2023-03-19 20:50 QAQ啥也不会 阅读(15) 评论(0) 推荐(0)
摘要: P4395 [BOI2003]Gem 气垫车 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 类似于cf特色题 不能简单的(1,2)两个值进行考虑 显然 1的编号为2,2的编号为3,其余都是1才是特殊情况 我们令dp[x][i]为x节点为i时,所能获得子树最小值 dp[x][i]= 阅读全文
posted @ 2023-03-19 20:39 QAQ啥也不会 阅读(27) 评论(0) 推荐(0)
摘要: 1.树形dp的 for 循坏能优化就优化,比如取j=min(size[x],m),k<=min(size[x],m)之类的,否则很容易TLE 2.要考虑清楚不合法状态是否会对答案产生影响,如果有就要memset(dp,-1,sizeof(dp))和初始化,树形dp中跳过dp[x][j]=-1和dp[ 阅读全文
posted @ 2023-03-19 20:26 QAQ啥也不会 阅读(20) 评论(0) 推荐(0)
摘要: P3177 [HAOI2015] 树上染色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 考虑树形dp:令dp[x][j]为以x为根的子树中有j个黑点。 子节点的合并出父节点,显然为背包树形dp。 则dp[x][j]=max(dp[x][j],dp[v][k],dp[x][j-k 阅读全文
posted @ 2023-03-19 20:20 QAQ啥也不会 阅读(24) 评论(0) 推荐(0)