ACM题目之 招聘计划

ACM题目之 招聘计划

ID:37865384

大小:36.00 KB

页数:4页

时间:2019-06-01

ACM题目之 招聘计划_第1页
ACM题目之 招聘计划_第2页
ACM题目之 招聘计划_第3页
ACM题目之 招聘计划_第4页
资源描述:

《ACM题目之 招聘计划》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、招聘计划TimeLimit:5000MS MemoryLimit:65536KTotalSubmit:97Accepted:8DescriptionAprojectmanagerwantstodeterminethenumberoftheworkersneededineverymonth.Hedoesknowtheminimalnumberoftheworkersneededineachmonth.Whenhehiresorfiresaworker,therewillbesomeextracost.Onceaworkerishired,hewillgetthesalaryevenifheis

2、notworking.Themanagerknowsthecostsofhiringaworker,firingaworker,andthesalaryofaworker.Thenthemanagerwillconfrontsuchaproblem:howmanyworkershewillhireorfireeachmonthinordertokeepthelowesttotalcostoftheproject.一个工程部经理想确定每个月的员工的总人数。他知道每个月员工人数的最小值。当他雇用或解雇一个员工时,将有一笔额外的开销。一旦,解雇一个员工,即便他没有工作,他将得到这个月的薪水。经理知

3、道解雇工人和雇用工人的开销,以及工人的薪水。因此,这个经理面临这样一个问题:他每个月将雇用或解雇多少员工才能使工程部的总开销最低。InputTheinputmaycontainseveraldatasets.Eachdatasetcontainsthreelines.Firstlinecontainsthemonthsoftheprojectplanedtousewhichisnomorethan12.Thesecondlinecontainsthecostofhiringaworker,theamountofthesalary,thecostoffiringaworker.Thethird

4、linecontainsseveralnumbers,whichrepresenttheminimalnumberoftheworkersneededeachmonth.Theinputisterminatedbylinecontainingasingle‘0’。输入数据可以包含若干数据集。每个数据集包含3行。第一行输入这个工程计划的工期(以月为单位),不超过12个月。第二行包含雇用一个工人的开销,薪水数,和解雇一个工人的开销。第三行包括多个数据,表示每个月需要的最小的工人数。在最后一行输入0表示结束。OutputTheoutputcontainsoneline.Theminimaltota

5、lcostoftheproject.结果只有一行,为这个项目的最小总开销。SampleInput3456109110SampleOutput199EmploymentPlanning条件DP状态:dp[i][j]前i个月,并且第i个月留下j个人的最小花费j>=num[i]&&j<=MaxNumMaxNum=max{num[i]}i>=1&&i<=n转移方程:dp[i][j]=min{dp[i-1][k]+决策代价+j*salary}k>=num[i-1]&&k<=MaxNum注:上面的工资应该加的是第j个月的,因为状态表示是到前i 个月为止k>j决策代价(k-j)*firek

6、-k)*hire边界条件及初始化:dp[i][j]=j*(salary+hire)j>=num[i]&&j<=MaxNum&&i>=1&&i<=n这个初始化是错的,因为其实只有第一个月是可以确定的,其它的都是未知的,你不能直接提前赋值,否则的话,可能在决策枚举进行阶段转移的时候,这个状态是值是不够大的,那么转移到下一个阶段的值不一定是最优的,这个初始化要注意下正确的边界条件和初始化是:dp[1][j]=j*(salary+hire)j>=num[1]&&j<=MaxNum答案:ans=min{dp[n][j]}j>=num[n]&&j<=MaxNum附AC代码:#include

7、h>#include#defineinf1000000intp,f,h;inttran(inti,intj){if(i>j)return(i-j)*f;if(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。