社区讨论
关于本题容易WA的几个点
P1772[ZJOI2006] 物流运输参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lvmfwmir
- 此快照首次捕获于
- 2024/04/30 21:44 2 年前
- 此快照最后确认于
- 2024/05/01 09:43 2 年前
- 混淆 和 , 是天数, 是点数,检查你计算 时,枚举的是不是点数 ,还有 。
for(int i=1; i<=n; i++)
{
for(int j=i; j<=n; j++)
{
memset(ok, 0, sizeof ok);
for(int u=1; u<=m; u++)
for(int k=i; k<=j; k++)
if(limit[k][u])
...
spfa(1);
cost[i][j] = d[m];
}
}
- 容易爆 的地方:题中说每天都会有一条从 ~ 的路线,但是不保证第 ~ 天走同一条路能够到达,所以 可能会等于 ,所以和 相乘就会爆掉,所以你可以采取下面这种写法来保证不会爆 :
for(int i=1; i<=n; i++)
{
f[i] = 2e9;
for(int j=0; j<i; j++)
{
if(cost[j+1][i]!=INF)
f[i] = min(f[i], f[j] + cost[j+1][i] * (i - j) + (!!j) * k);
}
}
关于为什么要 (!!j) * k,如果不这样的话,从 转移的话就会多加上 。
回复
共 0 条回复,欢迎继续交流。
正在加载回复...