2024.11.25 NOIP2024模拟赛
挂了若干分。
赛时
T1
赛时开了
其实当时我没判断上界,所以暴力分一分没拿,挂了
T2
当时慌了,先写了
T3
首先一眼
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
// if(!flag[i][j])continue;
// if(dp[pre[i][j].x1][pre[i][j].y1]>dp[pre[i][j].x2][pre[i][j].y2]){
// fa[i][j].x=pre[i][j].x1;
// fa[i][j].y=pre[i][j].y1;
// dp[i][j]=dp[pre[i][j].x1][pre[i][j].y1]+1;
// dis[i][j]=dis[pre[i][j].x1][pre[i][j].y1]+(i-pre[i][j].x1)*(i-pre[i][j].x1)+(j-pre[i][j].y1)*(j-pre[i][j].y1);
// }
// else{
// if(dp[pre[i][j].x1][pre[i][j].y1]<dp[pre[i][j].x2][pre[i][j].y2]){
// fa[i][j].x=pre[i][j].x2;
// fa[i][j].y=pre[i][j].y2;
// dp[i][j]=dp[pre[i][j].x2][pre[i][j].y2]+1;
// dis[i][j]=dis[pre[i][j].x2][pre[i][j].y2]+(i-pre[i][j].x2)*(i-pre[i][j].x2)+(j-pre[i][j].y2)*(j-pre[i][j].y2);
// }
// else{
if(dis[pre[i][j].x1][pre[i][j].y1]+(i-pre[i][j].x1)*(i-pre[i][j].x1)+(j-pre[i][j].y1)*(j-pre[i][j].y1)<dis[pre[i][j].x2][pre[i][j].y2]+(i-pre[i][j].x2)*(i-pre[i][j].x2)+(j-pre[i][j].y2)*(j-pre[i][j].y2)){
fa[i][j].x=pre[i][j].x1;
fa[i][j].y=pre[i][j].y1;
dp[i][j]=dp[pre[i][j].x1][pre[i][j].y1]+1;
dis[i][j]=minn[i-1][j-1]+(i-pre[i][j].x1)*(i-pre[i][j].x1)+(j-pre[i][j].y1)*(j-pre[i][j].y1);
}
else{
fa[i][j].x=pre[i][j].x2;
fa[i][j].y=pre[i][j].y2;
dp[i][j]=dp[pre[i][j].x2][pre[i][j].y2]+1;
dis[i][j]=dis[pre[i][j].x2][pre[i][j].y2]+(i-pre[i][j].x2)*(i-pre[i][j].x2)+(j-pre[i][j].y2)*(j-pre[i][j].y2);
}
// }
// }
}
}
但它假了,
当时赛时想到了一个可以做
T4
线段树常数太大了,直接
总结
- 不要太过自信,加上一堆反向优化。
- 要注意常数的问题。
- 注意好自己的时间规划,不要上头一道题写
。 - 不要死磕正解,想出来的假正解可能还没暴力分高。
- 一定要对拍!!!