8.26总结
分数
T1 | T2 | T3 | T4 | T5 | T6 | 总分 |
---|---|---|---|---|---|---|
100pts | 100pts | 12pts | 100pts | 60pts | 14pts | 386 |
T3
考试时没想好,随手打了一个树形DP,喜提12分。
正解:
定义状态dp[i][j]表示以i为根的子树,保留j个节点拆掉的最小边数
答案:
int ans=dp[1][p]
for(int i=2;i<=n;i++){
ans=max(ans,dp[i][p]+1)//因为只有1节点不用切断与父亲的道路,其他点都要切断一条与他的父节点的道路
}
初始化: dp[i][1]=vt[i].size() 一开始的点都是不连儿子只连父亲
转移方程:dp[x][j]=min(dp[x][j],dp[x][j-k]+dp[v][k]-1),就是一个基本的背包类树形DP
T5
拓扑的DP方程写错位置,喜提60分
其实就是一个拓扑+递推
dp[i]表示第i个点挤奶的最早时间
每次删边的时候更新dp
dp[v]=max(dp[v],dp[x]+w)
因为v是从x过了w的时间后才能挤奶
初始状态:
dp[i]=s[i]
不能早于s[i]的时间
T6
考时没写出来,但正解应该是BFS+Dij
先用多起点BFS求出每个点是安全还是不安全的,以安全和不安全花费的钱的数量建边,跑Dij即可。
本人(KK_SpongeBob)蒟蒻,写不出好文章,但转载请注明原文链接:https://www.cnblogs.com/OIer-QAQ/p/18575250
分类:
个人记录
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
2023-08-27 CF1424G题解