下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HDU49712014多校赛一共有n个任务,m个技术,完成一个任务可一些钱,学个#define_CRT_SECURE_NO_WARNINGS#include<cstdio>#include<cstring>#include<vector>#include<algorithm>#definesz1000#defineinf0x3fffffffusingnamespacestd;intn,m;inta[sz],b[sz];vector<int>p[sz];vector<int>g[sz],intlow[sz],dfn[sz],stack[sz],instack[sz],belong[sz],cost[sz];intdeep,top,kinds;voidtarjan(ints)//tarjan{low[s]=dfn[s]=deep++;stack[++top]=s;instack[s]=1;for(inti=0;i<g[s].size();{intt=if(dfn[t]==-{tarjanlow[s]=min(low[t],}elseif{low[s]=min(dfn[t],}}if(low[s]=={intintct=0;{t=stack[top--belong[t]=kinds;//每个属于哪个缩点后的点instack[t]=0;ct+=b[t];}while(t!=cost[kinds]ct;//cost记录缩点后的点集中包含的几个技术的花费和}}structnode{ints,t,v,nxt;}e[sz*inthd[sz],dis[sz],cur[sz],que[sz],cnt,S,T;voidinsert(ints,intt,intv){e[cnt].s=s,e[cnt].t=t,e[cnt].v=v,e[cnt].nxt=hd[s],hd[s]=e[cnt].s=t,e[cnt].t=s,e[cnt].v=0,e[cnt].nxt=hd[t],hd[t]=}boolbfs(ints,intt,intn){inthead=0,tail=0,i;memset(dis,-1,sizeof(dis[0])*(n+1)),dis[s]=0;que[tail++]=s;whilefor(i=hd[que[head++]];i!=-1;i=if(e[i].v>0&&dis[e[i].t]==-dis[e[i].t]=dis[e[i].s]+1;if(e[i].t==t)return1;que[tail++]=e[i].t;}}return}intdinic(ints,intt,intn){//最大流模板,这个无视,暂时还只会套模板,有点看不懂inti,mf=0,tp;while(bfs(s,t,for(i=0;i<n;i++)cur[i]=hd[i];intu=s,tail=0;while(cur[s]!=-if(u!=t&&cur[u]!=-1&&e[cur[u]].v>0&&dis[u]+1==que[tail++]=cur[u];u=}elseif(u==for(tp=inf,i=tail-1;i>=0;i--)tp=min(tp,e[que[i]].v);for(mf+=tp,i=tail-1;i>=0;i--){e[que[i]].v-=tp;e[que[i]^1].v+=tp;if(e[que[i]].v==0)tail=i;}u=}elsewhile(u!=s&&cur[u]==-1)u=e[que[--tail]].s;cur[u]=e[cur[u]].nxt;}}}return}voidmake_map{for(inti=0;i<kinds+n;i++)ng[i].clear();for(inti=0;i<m;for(intj=0;j<g[i].size();{intt=if(belong[i]!={ng[belong[i]].push_back}}for(inti0;i<n;i++)//下标[0,kinds)是技术的缩点,[kinds,kinds+n){intid=i+for(intj=0;j<p[i].size();ng[id].push_back(belong[p[i][j]]);//项目和技术之间建边,belong[p[i][j]]技}for(inti=0;i<kinds+n;{sort(ng[i].begin(),ng[i].endng[i].resize(unique(ng[i].beginng[i].endng[i].begin一个项}memset(hd,-1,sizeof(hd));cnt=0;S=kinds+T=S+for(inti0;i<n;i++)//源点s往所有的项目建流量为收益的边insert(S,i+kinds,a[i]);for(inti=0;i<n+kinds;for(intj0;j<ng[i].sizej++)//中间的点的流量全是infinsert(i,ng[i][j],inf);for(inti0;i<kinds;i++)//所有技术往汇点tinsert(i,T,cost[i]);}intmain{intscanf("%d",for(intcas=1;cas<=cs;{scanf("%d%d",&n,&m);intsum=0;for(inti=0;i<n;scanf("%d",&a[i]),sum+=a[i];for(inti=0;i<m;i++)scanf("%d",&b[i]);intnum,c;for(inti=0;i<n;{scanf("%d",p[i].clearfor(intj=0;j<num;{scanf("%d",}}for(inti=0;i<m;{g[i].clearfor(intj=0;j<m;{scanf("%d",&c);if(c)}}memset(dfn,-1,sizeof(dfn));top=deep=kinds=0;for(inti=0;i<m;i++)if(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024专业电脑配件批发销售协议版B版
- 2024年地方电力网络升级改造工程承包合同书版
- 2024商业采购协议范本大全版B版
- 2024专业版劳动协议终止通知函范例版B版
- 江南大学《分子生物学》2022-2023学年第一学期期末试卷
- 江南大学《材料科学与工程基础》2021-2022学年第一学期期末试卷
- 国际残疾人日帮助残疾人关爱弱势群体课件
- 二零二四年度技术开发合作合同标的和义务3篇
- 暨南大学《解析几何》2022-2023学年第一学期期末试卷
- 暨南大学《房地产金融》2021-2022学年第一学期期末试卷
- 烹饪烹饪营养与卫生教案
- 车库通风施工方案
- 科室医院感染管理小组工作手册(第二版)
- 美国标准黄卡
- 危大工程及超过一定规模的危大工程清单(住建部2018第31号文)
- 非人力资源部门的人力资源管理PPT
- 光伏发电项目并网接入系统方案
- 完整版牙体牙髓病学总结
- 印刷常见不良与解决对策汇总
- 食材验收管理小组及职责
- 本科教学工作审核评估学院汇报PPT课件
评论
0/150
提交评论