题目简化和分析:

因为要求长度最小,所以我们每个字符就应该发挥最大的价值,不会有没有作用的字符。

设有 \(x_1\) 个 \(c\) ,\(x_2\) 个 \(o\) ,\(x_3\) 个 \(d\) ,\(x_4\) 个 \(e\) ,\(x_5\) 个 \(f\) ,\(x_6\) 个 \(o\) ,\(x_7\) 个 \(r\) ,\(x_8\) 个 \(c\) ,\(x_9\) 个 \(e\) ,\(x_{10}\) 个 \(s\) 。(均为连续)

则子序列的种数为 \(\prod_{i=1}^{10} a_i\)

为了使得 \(\sum_{i=1}^{10} a_i\) 的值最小,种数又最大,我们就要使得 \(a_i\) 的值都相对平均。

Solution:

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef double db; const int N=1e5+50;
const int M=1e5+50;
const int Mod=1e9+7; inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
} ll k; char c[15]={'c','o','d','e','f','o','r','c','e','s'};
ll res[15]={0,1,1,1,1,1,1,1,1,1,1}; ll sol(){
ll tot=1;
for(int i=1;i<=10;++i){
tot*=res[i];
}
return tot;
} int main()
{
k=read();
int cnt=0;
while(1){
if(sol()>=k) break;
cnt%=10;
res[++cnt]++;
}
for(int i=0;i<10;++i){
for(int j=1;j<=res[i+1];++j){
printf("%c",c[i]);
}
}
return 0;
}

随机推荐

  1. Docker 中的 .NET 异常了怎么抓 Dump

    一:背景 1. 讲故事 有很多朋友跟我说,在 Windows 上看过你文章知道了怎么抓 Crash, CPU爆高,内存暴涨 等各种Dump,为什么你没有写在 Docker 中如何抓的相关文章呢?瞧不上 ...

  2. Containerd组件 —— containerd-shim-runc-v2作用

    1.概述 通过<浅析开源容器标准--OCI>.<浅析容器运行时>和<浅析Kubernetes CRI>这三篇博文我们了解了容器标准OCI.容器运行时以及Kubern ...

  3. 行行AI人才沙龙第1期:《AI大模型创业投资,哪里才是真风口?》

    行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. 要说近期科技圈和投资圈"最靓的崽",那自然非"AI大模型"莫属.自ChatGPT发布以 ...

  4. C++ 惯用法之 Copy-Swap 拷贝交换

    C++ 惯用法之 Copy-Swap 拷贝交换 这是"C++ 惯用法"合集的第 3 篇,前面 2 篇分别介绍了 RAII 和 PIMPL 两种惯用法: RAII: Resouce ...

  5. Mysql基础6-常用数据库函数

    一.字符串函数 1.常见Mysql内置字符串函数 concat(s1,s2,s3,...):字符串拼接,将s1,s2,s3...等拼接成一个字符串 lower(str):将字符串str全部转为小写 u ...

  6. 【译】如何在 Visual Studio 中调试异步代码

    虽然异步代码可以提高程序的整体吞吐量,但异步代码仍然无法免除错误!当潜在的死锁.模糊的错误消息以及查找导致 Bug 的 Task 时,编写异步代码会使调试更加困难.幸运的是,Visual Studio ...

  7. 烧死10亿脑细胞的SQL长啥样?

    1 前言 今天在生产中碰到了一个让我十分费解的 SQL,十分有趣. 2 现象 SQL 很好复现,就是逻辑看起来有点唬人 postgres=# create table test(id1 int,id2 ...

  8. 你知道ES6中的这些属性吗

    ES6,也称ESMAScript2015,这个版本增加了很多好用的特性 变量声明 ES6之前用var来定义变量,ES6增加了两个变量声明的方式,分别为const和let,const用来定义常量,let ...

  9. jdk安装自动化

    写个在linux环境安装Java的脚本(install_java.sh),只需将jdk上传至/opt目录下,执行脚本即可. #!/bin/bash #author:zhangyl #本安装使用jdk版 ...

  10. [数据分析与可视化] Python绘制数据地图5-MovingPandas绘图实例

    MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据.关于MovingPandas的使用见文章:MovingPandas入门指北,本文 ...