主要是为了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:紧急援救
图论之迪杰斯特拉算法(有兴趣的自己去研究下)