状压dp Doing Homework
来源:互联网 发布:cms快速建站与运营 编辑:程序博客网 时间:2024/06/10 22:19
题目地址
题目大意:
T组样例,N科作业,接下来N行,每行包括作业名称(字典序排列),截至时间,消耗时间,
每门作业,晚完成每分钟减一分,输出做少罚分与对应字典序小的做作业顺序
思路:
对于每门课建一个map给予编号t ,1<<t表示完成,由于输出时要输出科目顺序,所以需要记录最小值的前一门作业,时间和分数和当前科目
就是给dp数组建成结构体,过程比较简单
代码:
#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>#include<queue>#include<stack>#include<map>using namespace std;stack<int>S;map<int,string>m;int N,T,c[16],v[16];struct AA{ int fname,grade,time,n;}dp[1<<17];char ch[100];int main(){ int i,j,k,a,b; cin>>T; while(T--) { memset(dp,0,sizeof(dp)); scanf("%d",&N); for(i=0;i<N;i++) { scanf("%s%d%d",ch,&c[i],&v[i]); m[i]=ch; } for(i=1;i<(1<<N);i++) { dp[i].grade=0x3f3f3f3f; for(j=N-1;j>=0;j--)//从后到前更新,满足字典序 { if(i&1<<j)//i的第j-1门课做了 { int z=i-(1<<j);//除去第j-1门课 if(dp[i].grade>dp[z].grade+max(0,dp[z].time+v[j]-c[j]))//每门课最少扣0分,找最优解 { dp[i].grade=dp[z].grade+max(dp[z].time+v[j]-c[j],0); dp[i].fname=z;//前一个状态 dp[i].n=j;//刚添加的课程 dp[i].time=dp[z].time+v[j]; } } } } int l=(1<<N)-1; cout<<dp[l].grade<<endl; while(l) { S.push(dp[l].n);//从末状态,按最佳路径推回到初状态 l=dp[l].fname; } while(!S.empty()) { cout<<m[S.top()]<<endl; S.pop(); } }}
阅读全文
0 0
- 状压dp Doing Homework
- HDU1074 - Doing Homework(状压DP)
- hdu1074:doing homework(状压dp)
- Doing Homework (状压dp)
- [HDU1074] Doing homework 状压DP
- hdu1074 Doing Homework 【状压dp】
- hdu 1074 Doing Homework (状压dp)
- hdu 1074 Doing Homework (状压dp)
- HDU 1074 Doing Homework(状压DP)
- HDU 1074 Doing Homework(状压DP)
- HDU 1074-Doing Homework(状压DP)
- hdu1074--Doing Homework(状压dp)
- HDU 1074Doing Homework 状压Dp
- HDU0174 Doing Homework ——状压dp
- hdu 1074 Doing Homework 状压dp
- HDU 1074 Doing Homework(状压dp)
- HDU 1074 Doing Homework (状压dp)
- hdu1074 Doing Homework(状压dp)
- 模型调参:绘制loss曲线图
- Oracle send mail 套件utl_smtp
- mysql数据库数据类型之浮点型
- MySQL主从复制(二)主从同步
- 8.6 Math类
- 状压dp Doing Homework
- 吴恩达Coursera深度学习课程 DeepLearning.ai 编程作业——Autonomous driving
- Java键盘输入八进制和十六进制
- 7.5 利用函数fact()计算1到n之间所有阶乘
- 功率放大器中Back off
- Python入门100例
- 存储过程基础之PLSQL学习
- (位、字节、字符)的表数范围
- <Data Visualization>5 散点图