2011-2012集训队现场选拔赛三(最后一场)解题报告

GPA III-by likaer

主要是为了GPA III,别的大家尽情忽略0.0

B:The magic bus

从左到右遍历枚举,水题

C:GPA III

GPA III(分组背包)


double g[12]={4.0,3.7,3.3,3.0,2.7,2.3,2.0,1.7,1.3,1.0,0.0}//保存gpa值

首先开二维数组
double dp[N][t];//15代表存放N个物品,t代码总复习时间
dp[i][k]代表在放入前i个物品时,容量为k的情况下的最优解

根据题意
有n组物品,从每组物品中取1个放入或者不放,
可以得出结论,dp[i][k]的最优解有3种情况,
1.不把第num[i][k]个物品放入进背包
       (1)该组不放物品
       (2)该组放别的物品更好
2.把物品放入该背包最优解:dp[i][k]=dp[i-1][k-num[i][j]]+g[j];

for(i=1;i<=n;i++)
{
for(j=0;j<10;j++)
{
for(k=num[i][j];k<=m;k++)
{
if(dp[i][k]<dp[i-1][k-num[i][j]]+g[j])//该物品和该组别的物品
{
dp[i][k]=dp[i-1][k-num[i][j]]+g[j];
}
if(dp[i-1][k]>dp[i][k])//该组放物品和该组不放物品
{
dp[i][k]=dp[i-1][k];
}
}
}
}

 

 

D:判断题

贪心

E:Contest Seating

最水的题目,无视

F:字符串比较

注意:(4)空格字符的前面或者后面紧跟着上述特殊符号(是指()[]{}.,;:),那么不必考虑该空格字符。

这里的话语有隐含意思: 只要在特殊符号旁边的空格串都是可以无视的,例如"a  (     b"="a(b"

G:紧急援救

图论之迪杰斯特拉算法(有兴趣的自己去研究下)


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.