首页 > Most Powerful
头像 在刷题的单身狗很开心
发表于 2023-10-26 08:54:45
本题状压dp的简单应用,用0表示还没有消失或没有被使用的气体,1表示已经使用的气体。 每次枚举寻找两个气体,饭后将其中一个变成1就行。 //在这里我们直接使用一维状态的转移,这样在转移的过程中去挑选值为0的两个节点 //那么这两个节点肯定有一个留下来,我们假设删除的节点为j,那么就有 // 展开全文
头像 瑜画
发表于 2020-08-17 14:59:45
这题比较简单,不过有需要注意的点:1.选取的被碰气体得是对应二进制表示为0的2.选取的一个碰他的气体也得是对应二进制为0的(还没消失的气体)具体看代码,有详细注释: //1表示哪个气体被碰掉消失了 0表示气体还没被碰掉 #include <bits/stdc++.h> using nam 展开全文
头像 Gsss丶
发表于 2021-04-27 08:29:40
题解思路 用状态压缩dp 0表示未消失 1表示已经消失 题目代码 #include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 12 展开全文
头像 Z_L_G
发表于 2025-07-03 23:02:28
题意 n个原子,两个原子i,j碰撞会释放能量,并且j会消失,求n个原子能产生的最大能量 思路 状压dp 每个原子去碰撞的时候,要还剩下哪些原子 也就是每次从还存在的原子中挑出两个原子碰撞,并选择一个消失 最终剩下一个原子结束 状态压缩是你过程,从全满,到只剩一个 特别的,在st=0的时候要人为 展开全文