摘要:
C. Add One 显然对于每一位单独分析 我们经过一次进位只能变成10 这样该怎么做呢 我们显然可以dp 设dp[i][j]表示i(0-9)经过j次变换有几位 显然我们初始化i+j<10就是1 else dp[i][j]=dp[1][i+j-10]+dp[0][i+j-10] 就是我们变成10需 阅读全文
posted @ 2022-10-18 23:00
ycllz
阅读(33)
评论(0)
推荐(0)
摘要:
C2. Potions (Hard Version) 我们正着做的同时 维护一个堆 让后要是寄了 我们从堆里拿出一个最大的数拿出去即可 这样既合法并且我们剩下的也是最小的 所以肯定是最优解 #include <bits/stdc++.h> using namespace std; const int 阅读全文
posted @ 2022-10-18 15:29
ycllz
阅读(19)
评论(0)
推荐(0)
摘要:
C. Parsa's Humongous Tree 显然可以证明我们的每一个节点肯定是会取到边界值才是最优解 比如 我们当前其他节点确定 我们中间节点v不确定 我们让av从lv开始 av++ 如果旁边节点的数大于av的较多 我们贡献减少 如果旁边节点的数大于av的较少我们的贡献增加 显然这是一个单峰 阅读全文
posted @ 2022-10-18 14:03
ycllz
阅读(16)
评论(0)
推荐(0)