暑期集训 Day7 —— 模拟赛复盘





${\color{Green} \mathrm{Problem\ 1 :最优包含 }} $

发现是 DP,于是开始设计状态:DP[i][j] 表示前一个字符串匹配到位置 i,后一个匹配到 j 的最少修改次数。
然后转移挂了:

if(S[i]==T[j]){
	DP[i][j]=min(DP[i][j],DP[i-1][j-1]);
}else{
	DP[i][j]=min(DP[i][j],DP[i-1][j-1]+1);
}

死因:

  • DP 转移方程打错,忽视了 DP[i][j] 还可以等于 DP[i-1][j],挂了 \(80\) 分。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 2 :团 }} $

赛时发现不会打正解,听老师说是签到题,十分慌乱,糊了一个 \(50\) 分暴力上去了。后来发现是对每个团建一个虚拟原点。

前两次图论题想了虚拟源,结果没有用,这次没想虚拟源,结果用上了。

经验:边太多可以试着建虚拟点。

死因:

  • 对图论的敏感程度不够,没有想到写虚拟源点的做法。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 3 :Essential Operations }} $

线段树,但是好像要维护撤消,于是往主席树想,但是不会打。后来有个人看到了老师的标程,发现是两个线段树,于是会了。

后来线段树写挂了,而且我的写法会 MLE,线段树里不能存 \(l,r\),直接递归是计算。

要多打线段树题QwQ。

死因:

  • Push_down 线段树乘法懒标记时,加法标记也要改:
Tree[pos<<1].addlazy=(1ll*Tree[pos<<1].addlazy*k)%Mod;
Tree[pos<<1|1].addlazy=(1ll*Tree[pos<<1|1].addlazy*k)%Mod;
  • Addlazy 要赋初始值为 \(0\)Mullazy 要赋初始值为 \(1\)

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 4 :模拟工厂 }} $

贪心题,但是死活想不出来怎么贪,后来发现只要每次遇到有买货的,就按照“先提速度,再生产”的方法调整,直到货够用即可。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





总结

期望:\(100+50+0+0=150\)

实际:\(20+0+0+0=20\)

posted @ 2024-02-24 17:15  Sundar_2022  阅读(5)  评论(0编辑  收藏  举报