Codeforces1348 题解

Posted zengzk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces1348 题解相关的知识,希望对你有一定的参考价值。

AC代码连接

A Phoenix and Balance

显而易见,将前(frac{n}{2}-1)个和最后1个分为1组,剩下的1组即为最优方案。

B Phoenix and Science

这题直接构造。

(a)中不重复的值的个数为(cnt)

如果(cnt>k)无解。

如果(cnt < k)那么将其补到k;如果(cnt=k)则不操作;然后按小到大输出所有不重复的值,重复(n)次。

C Phoenix and Distribution

分类讨论一下完事了。

将输入的串排序。

特判(k=1)

  • 如果全是相同的字符,就平均分配。
  • 如果最小的字符的个数等于(k)个且只有两种字符,那么将前(k)个字符分为(k)组,剩下的平均分配。
  • 否则,将前(k)个字符按顺序分为(k)组,剩下的字符全给第(1)组,字典序最大的必定是第(k)组。

D Phoenix and Science

这题逆向思维做。

题目几乎是在明示只考虑每天的增量。

经过简单的推导,可以得到两个性质

  1. 在第(i)天可以到达的范围是([i, 2^i-1])
  2. 每天的增量不减。

所以天数就是满足(2^d-1 ge n)(d)的最小值。

从最后一天开始跑,只要跑到前一天可达的范围且满足增量不减就行了。

总结

前4题都是比较简单的,但是最近刷题太少了状态下滑严重。还是需要尽可能地保持竞技状态吧。。。

D题非常有意思,我还是受之前GCJ round1B A题dls的解法启发才想出来的。

以上是关于Codeforces1348 题解的主要内容,如果未能解决你的问题,请参考以下文章

[动态规划] Codeforces 1348E Phoenix and Berries

codeforces-1348-D Phoenix and Science

CodeForces 1348-C Phoenix and Distribution(字典序)

Codeforces Round #638 (Div. 2)

5.2 每日一题题解

Codeforces Round #638 (Div. 2)