ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【题解】CF1415F Cakes for Clones

2021-10-07 11:33:38  阅读:202  来源: 互联网

标签:Cakes 题解 更新 本体 蛋糕 Clones 考虑 分身 转移


一个蛋糕有两种接法:分身接 / 本体接。

考虑令 \(g_{i}\) 表示 \(i\) 用分身接,最早在什么时刻本体能到位放下分身。令 \(f_{i,j}\) 表示 \(i\) 用本体接,分身将被去用于接 \(j\),这种方案是否可行。

考虑 \(g_i\) 的转移:

  • \(i+1\) 用本体接:放完分身就跑过去,时间有多的话可以选择跑到 \(j\) 放分身等着,然后跑回来接蛋糕,更新 \(f_{i+1, j}\) 。
  • \(i+1\) 用分身接:直接更新 \(g_{i+1}\) 。

考虑 \(f_{i,j}\) 的转移:

  • \(j\not=i+1\):那么 \(i+1\) 需要用本体接,更新 \(f_{i+1,j}\) 。
  • \(j=i+1\):此时的分身已经在 \(i+1\) 了不需要管,只需要考虑:
    • \(i+2\) 用本体接:仍然考虑在后面挑一个点放分身,转移和 \(g_i\) 差不多。
    • \(i+2\) 用分身接:更新 \(g_{i+2}\),最优方案就是直接往 \(i+2\) 跑,算好 \(i+1\) 蛋糕下落的时间。

最开始的想法是假的,因为本体分身接蛋糕时,另一个所在的合法位置不一定是连续的。大概率是受了 CF1539E 的影响 ...

不过因为蛋糕的接法序列肯定是分身一段本体一段,所以就去想想,如果当前位置本体接,那么需要哪些信息(分身信息:下一个接分身的点在哪);如果当前位置分身接,那么需要哪些信息(最早到达的时间:本体能自由活动多远)。记录好信息,转移方程很好列出。

代码:Submission #131024907 - Codeforces

标签:Cakes,题解,更新,本体,蛋糕,Clones,考虑,分身,转移
来源: https://www.cnblogs.com/qiulyqwq/p/15375389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有