[DP] BZOJ2700 聚会
来源:互联网 发布:网络直播股票 编辑:程序博客网 时间:2024/05/01 06:08
%%%Hillan:http://blog.csdn.net/liutian429073576/article/details/50910334
我开始想的就是O(n) 贪心
#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;inline char nc(){static char buf[100000],*p1=buf,*p2=buf;if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; }return *p1++;}inline void read(int &x){char c=nc(),b=1;for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1;for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b;}int n,m;int cnt1,cnt2;int a[1005],b[1005];ll f[1005][1005][2][3];int main(){int _f,_c;freopen("t.in","r",stdin);freopen("t.out","w",stdout);read(m); read(n);for (int i=1;i<=n;i++){read(_c); read(_f);_f?a[++cnt1]=_c:b[++cnt2]=_c;}while (cnt1<n) a[++cnt1]=1<<30;while (cnt2<n) b[++cnt2]=1<<30;sort(a+1,a+n+1); sort(b+1,b+n+1);memset(f,0x7f,sizeof(f));f[0][0][0][1]=f[0][0][0][2]=f[0][0][1][1]=f[0][0][1][2]=0;ll ac,bc;for (int i=1;i<=m;i++){for (int j=0;j<=i;j++){ac=(ll)a[j]*(m-i+1);bc=(ll)b[i-j]*(m-i+1);if (j>0) f[i][j][0][1]=min(f[i-1][j-1][1][1],f[i-1][j-1][1][2])+ac;if (j>1) f[i][j][0][2]=f[i-1][j-1][0][1]+ac;if (i-j>0)f[i][j][1][1]=min(f[i-1][j][0][1],f[i-1][j][0][2])+bc;if (i-j>1)f[i][j][1][2]=f[i-1][j][1][1]+bc;}}ll ans=1LL<<60;for (int j=0;j<=m;j++){ans=min(ans,f[m][j][0][1]);ans=min(ans,f[m][j][0][2]);ans=min(ans,f[m][j][1][1]);ans=min(ans,f[m][j][1][2]);}printf("%lld\n",ans);return 0;}
0 0
- [DP] BZOJ2700 聚会
- BZOJ2700: 聚会
- 【ZJOI2008】【DP】生日聚会
- [BZOJ1037]ZJOI2008生日聚会|DP
- BZOJ 1037 生日聚会 DP
- [bzoj1037][DP]生日聚会party
- 【BZOJ1037】【codevs1410】生日聚会,DP
- 树形dp(校园聚会)
- BZOJ1037生日聚会 普通DP
- RQNOJ-252-公司聚会(线性dp)
- bzoj1037:[ZJOI2008]生日聚会Party[DP]
- [BZOJ 1037][ZJOI2008]生日聚会Party(DP)
- bzoj1037: [ZJOI2008]生日聚会Party DP
- 【bzoj1037】【ZJOI2008】【生日聚会Party】【dp】
- 【DP】[ZJOI2008][HYSBZ/BZOJ1037]生日聚会Party
- BZOJ 1037: [ZJOI2008]生日聚会Party DP
- 【dp】【倍增】花花的聚会
- [BZOJ1037][ZJOI2008][DP]生日聚会Party
- 【算法】二分查找
- Html第三章作业
- Kafka学习之七 为什么说Kafka使用磁盘比内存快
- 数据结构之栈和队列
- AngularJS入门之动画
- [DP] BZOJ2700 聚会
- Android Activity相关笔记
- 数据结构之链表
- HTML第三章作业
- 数据结构之二叉树牛客网篇
- 解析nginx负载均衡
- sublime text 3配置c/c++编译环境
- Linux内核协议栈(2) 由简单的socket编程例子开始
- 第四周项目4.1