本文共 1390 字,大约阅读时间需要 4 分钟。
题意:n个原子,两两相撞其中一个消失,产生能量,给出任意两原子相撞能产生的能量,求能产生的最大能量。
分析:dp[i]表示情况为i时产生的最大能量
/*#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef pair PII;typedef long long ll;#define lson l,m,rt<<1#define pi acos(-1.0)#define rson m+1,r,rt<<11#define All 1,N,1#define read freopen("in.txt", "r", stdin)const ll INFll = 0x3f3f3f3f3f3f3f3fLL;const int INF= 0x7ffffff;const int mod = 1000000007;int n,dp[2000],a[15][15];void solve(){ memset(dp,0,sizeof(dp)); for(int i=(1< 0;--i){ int maxv=0,m=i; for(int j=0;j maxp) maxp=a[k][j]; t>>=1; } if(dp[i^(1< maxv) maxv=dp[i^(1< >=1; } dp[i]=maxv; } int maxpow=-1; for(int i=0;i #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef pair PII;typedef long long ll;#define lson l,m,rt<<1#define pi acos(-1.0)#define rson m+1,r,rt<<11#define All 1,N,1#define read freopen("in.txt", "r", stdin)const ll INFll = 0x3f3f3f3f3f3f3f3fLL;const int INF= 0x7ffffff;const int mod = 1000000007;int dp[1100],n;int power[15][15];void solve(){ memset(dp,0,sizeof(dp)); int cas=(1<
转载于:https://www.cnblogs.com/zsf123/p/4674273.html