hdu5135 状态压缩DP
来源:互联网 发布:mac 越狱工具 编辑:程序博客网 时间:2024/04/29 14:45
位运算左移的位数,位运算符的优先级,应该是老问题了
#include<cctype>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<queue>#include<stack>#include<set>#include<map>#define REP(i,a,b) for (i=(a);i<=(b);i++)#define CLEAR(a) memset((a),0,sizeof((a)))using namespace std;typedef long long LL;const double pi = acos(-1.0);const int maxn=20,maxm=1<<13;const int inf=99999999;const float eps=1e-3;int n;int a[maxn];double dp[maxm];typedef pair<int,double> pr;vector<pr> vec;void init();void solve();void outp();double delta(int a,int b,int c){ if (a+b<=c||a-b>=c) return 0; double p=(a+b+c)/2.0; return sqrt(p*(p-a)*(p-b)*(p-c));}int main(){ n=1; while(~scanf("%d",&n)&&n) { init(); solve(); outp(); } return 0;}void solve(){ sort(a,a+n); for(int i=0;i<n-2;i++) for(int j=i+1;j<n-1;j++) for(int k=j+1;k<n;k++) { if (i==j||i==k||j==k) continue; int key=(1<<i)+(1<<j)+(1<<k); vec.push_back(make_pair(key,delta(a[i],a[j],a[k]))); } //for(int i=0;i<vec.size();i++) // cout<<vec[i].first<<' '<<vec[i].second<<endl; for(int i=0;i<=(1<<n)-1;i++) for(int j=0;j<vec.size();j++) { if ((i&vec[j].first)<1) { //cout<<(i|vec[j].first)<<' '<<dp[i]<<endl; dp[i|vec[j].first]=max(dp[i|vec[j].first],dp[i]+vec[j].second); } }}void init(){ vec.clear(); memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) scanf("%d",&a[i]);}void outp(){ printf("%.2lf\n",dp[(1<<n)-1]);}
0 0
- hdu5135 状态压缩DP
- hdu5135(状态压缩DP)
- hdu5135(状态压缩dp)
- hdu5135(状态压缩DP)
- hdu5135 状态压缩dp||2014广州站I题
- hdu5135 Little Zu Chongzhi's Triangles(状态压缩dp)
- 状态压缩dp
- pku1038状态压缩dp
- 状态压缩DP 入门
- HDU1074 状态压缩DP
- Poj3254 状态压缩DP
- 状态压缩DP入门
- 【状态压缩DP】互不侵犯
- 【状态压缩DP】电子竞技
- HDU1074 状态压缩DP
- 【状态压缩DP】互不侵犯
- 状态压缩 DP AHU420
- HDU2167 状态压缩DP
- Effective C++-读书笔记
- HDU1159 Common Subsequence
- Sicily 1231. The Embarrassed Cryptography【高精度取余】
- 以Telnet方式通过SMTP、POP、IMAP使用邮箱
- Trie树
- hdu5135 状态压缩DP
- vs2010编译thrift之compiler出错的处理方法
- 了解URL编码的基本概念,在javascript和java程序中使用内置的API进行编码和解码
- Hdu2822Dogs bfs+优先队列
- 十大经典管理学定律
- CSS 颜色代码大全
- 【笔记】Java编程思想—一复用类
- HDU1423 Greatest Common Increasing Subsequence
- Threads and QObjects