Codeforces Round #638 (Div. 2)
Contest Info
| Solved | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 4/6 | O | O | Ø | Ø |
- O 在比赛中通过
- Ø 赛后通过
- ! 尝试了但是失败了
- - 没有尝试
Solutions
C.Phoenix and Distribution
题意:
将字符串 $s$ 分为 $k$ 个非空串,找出使得$ k$ 个非空串中字典序最大的字符串字典序最小的方案
思路:
求最大值的最小值,那么对某种分配来说,求字典序最大时要保证$k$个序列每个都尽可能小,这样最后求出来的最小值才尽可能的小。
由于要求$k$个串是非空的,那么对原串先排序,取前$k$个分配给$k$个字符串。
此时如果只剩下一种字母,给字典序最小的一些字符串循环分配即可。
如果剩下的字母多于一种,则全部分给一个字符串,因为这样分较大的字母最靠后,字典序最小。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1e5+100;
int T, n, k;
char s[maxn];
int main(){
scanf("%d", &T);
while(T--){
scanf("%d%d %s", &n, &k, s+1);
sort(s+1, s+1+n);
bool flag1 = false, flag2 = false;
for(int i = 1; i <= k-1; i++)
if(s[i]!=s[i+1]){
flag1 = true;
break;
}
if(flag1){
printf("%c\n", s[k]);
continue;
}
for(int i = k+1; i <= n-1; i++)
if(s[i]!=s[i+1]){
flag2 = true;
break;
}
if(flag2) printf("%c%s\n", s[1], s+k+1);
else printf("%c%s\n", s[1], s+1+n-(n-1)/k);
}
}
D.Phoenix and Science
题意:
开始时有 $1$ 个质量为 $1$ 的细菌,白天可以选择部分细菌分裂,晚上每个细菌的质量增加 $1$,问最少需要多少天总质量能达到 $m$,输出分裂方案
思路:
由于求最少天数,我们考虑质量增长最快的方式——指数增长:每个白天所有的细菌都分裂,这样每晚增加的质量(当前细菌数目)即为一个 $a_0=1, q=2$ 的等比数列,求出和小于等于 $m$的最长等比数列,将多出来的质量分进其中的某一天即可,相邻两晚的质量之差即为白天分裂的个数.
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int T, n;
int main(){
scanf("%d", &T);
while(T--){
scanf("%d", &n);
vector<int> g;
for(int i = 1; i <= n; i *= 2){
g.push_back(i);
n -= i;
}
if(n>0){
g.push_back(n);
sort(g.begin(), g.end());
}
printf("%d\n", g.size()-1);
for(int i = 1; i < g.size(); i++)
printf("%d ", g[i]-g[i-1]);
printf("\n");
}
}
我可能脑子有点糊,我读完题后想成$x$个细菌分裂会变成$2^x$个细菌,实际上是变成$2*x$,分裂多少个就增加多少个细菌,之后要更加细心
Refrence:
https://www.cnblogs.com/Kanoon/p/12815637.html
https://www.cnblogs.com/kikokiko/p/12815671.html
Codeforces Round #638 (Div. 2)的更多相关文章
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
随机推荐
- IdentityServer4 之 Resource Owner Password Credentials 其实有点尴尬
前言 接着IdentityServer4的授权模式继续聊,这篇来说说 Resource Owner Password Credentials授权模式,这种模式在实际应用场景中使用的并不多,只怪其太开放 ...
- zabbix v3.0安装部署【转】
关于zabbix及相关服务软件版本: Linux:oracle linux 6.5 nginx:1.9.15 MySQL:5.5.49 PHP:5.5.35 一.安装nginx: 安装依赖包: yum ...
- Mac安装Go语言
正文 安装 安装我们使用 HomeBrew ,其使用方法详见我的上一篇博文 brew install go 配置环境变量 Go1.3及以后版本跳过以下步骤 进入变量文件 cd ~ vim .bash_ ...
- Flutter 布局类组件:线性布局(Row和Column)
前言 所谓线性布局,即指沿水平或垂直方向排布子组件.Flutter中通过Row和Column来实现线性布局,并且它们都继承自弹性布局(Flex). 接口描述 Row({ Key key, // 表示子 ...
- PMP知识领域
· 十大知识领域 整合-项目整合管理 识别.定义.组合.统一和协调个项目管理过程组的各种过程和活动而展开的活动与过程. 整合:统一.合并.沟通和简历联系:贯穿项目始终 七个过程组 一.制定项目章程(启 ...
- pyi文件是干嘛的?(一文读懂Python的存根文件和类型检查)
参考资料: https://blog.csdn.net/weixin_40908748/article/details/106252884 https://www.python.org/dev/pep ...
- PC个人隐私保护小方法
前言 近期爆出了腾讯读取用户浏览器浏览记录的消息.话不过说直接上图,懂的自然懂. 网上也有详细的分析文章,不管它读取后用来做什么,在你不知情的情况下读取了你的浏览器浏览记录,你说气不气. 虽然在整体大 ...
- CSAPP:Lab0 -Docker搭建纯净Linux环境
1. 安装docker 在mac-os下我们可以利用homebrew很容易的安装docker. brew install docker 当然去官网下载也很容易 Empowering App Devel ...
- Chrome Performance性能分析面板使用
最近做的项目都是内嵌egret游戏,想在移动端监测下它的性能,于是就开始了对Performance的探索: 一.使用 打开控制台,一顿操作: 网络选择Fast 3G,模拟手机普通3G环境,虽然现在大家 ...
- kioptrixVM3
简介 Vulnhub是一个提供各种漏洞环境的靶场平台. 个人学习目的:1,方便学习更多类型漏洞.2,为OSCP做打基础. 下载链接 https://www.vulnhub.com/entry/kiop ...