【codeforces】【比赛题解】#861 CF Round #434 (Div.2)
本来是rated,现在变成unrated,你说气不气。
链接。
【A】k-凑整
题意:
一个正整数\(n\)的\(k\)-凑整数是最小的正整数\(x\)使得\(x\)在十进制下末尾有\(k\)个或更多的\(0\)并且\(n\)整除\(x\)。
举个例子:\(375\)的\(4\)-凑整数是\(375\cdot80=30000\)。\(30000\)是最小的整数使得末尾有\(4\)个及以上的\(0\),并且能被\(375\)整除。
试求出\(n\)的\(k\)-凑整数。
输入:
一行,两个正整数\(n,k(1\leq n\leq10^9,0\leq k\leq 8)\)。
输出:
一个整数,\(n\)的\(k\)-凑整数。
题解:
算出\(n\)中的\(2\)和\(5\)质因数的个数。注意精度。
#include<cstdio>
#include<cmath>
using namespace std;
int n,n2,k,t,f,t2,f2;
int main(){
scanf("%d%d",&n2,&k); n=n2;
while(!(n2%)) n2/=, ++t;
while(!(n2%)) n2/=, ++f;
t2=<k-t?k-t:;
f2=<k-f?k-f:;
printf("%I64d",(long long)n*(int)(pow(,t2)+0.5)*(int)(pow(,f2)+0.5));
return ;
}
【B】哪层楼?
题意:
在Polycrap住的大楼中,每层有相等的公寓数量。不幸的是,Polycrap并不知道每层楼有多少间公寓,但是他记得这些公寓从\(1\)开始从低层编号到高层。就是说,前几间公寓在第一层,接下来几间在第二层等等。Polycrap不记得总共有多少间公寓,所以你可以认为大楼无穷高(就是说有无数层楼,有无数间公寓)。注意楼层从\(1\)开始编号。
Polycrap记得某些公寓在几楼。保证这些信息不互相矛盾。意思是一定存在这样的大楼满足Polycrap的信息。
给定这些信息,有办法确定\(n\)号公寓的确切楼层吗?
输入:
第一行,两个数\(n,m(1\leq n\leq100,0\leq m\leq100)\)。\(n\)表示你要寻找楼层的公寓,\(m\)表示Polycrap所知道的公寓数量。
接下来\(m\)行,每行两个数\(k_{i},f_{i}(1\leq k_{i},f_{i}\leq100)\),表示第\(k_{i}\)间公寓在第\(f_{i}\)层楼,所有的\(k_{i}\)互不相同。
输出:
如果能确定\(n\)号公寓在哪一层,输出这个层数,否则输出-1。
题解:
难点在于不是要确定一层有几间公寓,而是要确定第\(n\)间公寓在哪一层,这是不同的。
我们可以先确定可能的每层公寓数的最大值和最小值,这可以直接枚举。而如果对于最大值和最小值,\(n\)号公寓所在楼层都是一样的,那么可以确定一定是这层楼,否则无法确定。
#include<cstdio>
int n,m,k[],f[],ans1=,ans2=;
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=m;++i) scanf("%d%d",k+i,f+i);
for(int i=,o=;i<=;++i,o=){
for(int j=;j<=m&&o==;++j) if((k[j]-)/i+!=f[j]) o=;
if(o&&!ans1) ans1=i;
if(o) ans2=i;
}
if((n-)/ans1+==(n-)/ans2+) printf("%d",(n-)/ans1+);
else puts("-1");
return ;
}
【C】你的意思是……?
题意:
Beroffice文本编辑器有很多特色,其中之一是自动寻找并更正拼写错误。
Beroffice的这一功能只针对小写字母。Beroffice认为一个单词有拼写错误就意味着单词中有三个连续的辅音字母。唯一的例外是这三个字母是相同的,如果这样,这一大块字母都没有拼写错误,不管这一段有多长。准确的说,一个单词有拼写错误当且仅当有三个及以上的连续辅音字母,并且这些辅音字母不完全相同。
举个例子:
这些单词有拼写错误:“hellno”,“hackcerrs”和“backtothefuttttre”。
这些单词没有:“helllllooooo”,“tobeornottobe”和“oooooo”。
如果Beroffice找到了一个有拼写错误的单词,它会在这个词中加上尽量少的空格(把它分成若干个单词)使得每一部分都不含有拼写错误。
输入:
一个字符串,只包含小写字母,长度在\(1\)到\(3000\)以内。
输出:
如果这个单词没有拼写错误,直接输出,否则输出这个字符串插入若干空格后的字符串。
题解:
贪心,找到了拼写错误就断开。
#include<cstdio>
char str[],lst1,lst2;
const bool c[]={,,,,,,,,,,,,,,,,,,,,,,,,,};
int main(){
scanf("%s",str); lst1=lst2=-;
for(int i=;str[i]!='\0';++i){
// printf("%d %d\n",lst1,lst2);
str[i]-='a';
if(!c[str[i]]) lst1=lst2=-;
else
if(lst1!=-&&lst2!=-&&(!(lst1==lst2&&lst2==str[i]))) putchar(' '), lst1=lst2=-;
printf("%c",str[i]+'a');
lst1=lst2; lst2=c[str[i]]?str[i]:-;
}
return ;
}
【codeforces】【比赛题解】#861 CF Round #434 (Div.2)的更多相关文章
- 竞赛题解 - CF Round #524 Div.2
CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...
- Codeforces Round #434 (Div. 2)
Codeforces Round #434 (Div. 2) 刚好时间对得上,就去打了一场cf,发现自己的代码正确度有待提高. A. k-rounding 题目描述:给定两个整数\(n, k\),求一 ...
- Codeforces Round #434 (Div. 2)【A、B、C、D】
Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...
- CF Round #551 (Div. 2) D
CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...
- CF Round #510 (Div. 2)
前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...
- CF Round #600 (Div 2) 解题报告(A~E)
CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861C Did you mean...【字符串枚举,暴力】
C. Did you mean... time limit per test:1 second memory limit per test:256 megabytes input:standard i ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861B Which floor?【枚举,暴力】
B. Which floor? time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861A k-rounding【暴力】
A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input ...
随机推荐
- Python学习---日期时间
在Python里面日期时间的功能主要由几个模块提供:time,calendar,datetime,date等 time主要用到的功能函数: #!/usr/bin/python3 # coding:ut ...
- [UVA 10635] Prince ans Princess
图片加载可能有点慢,请跳过题面先看题解,谢谢 这道题... 还是要点思维的... 第一眼看是个最长公共子序列,但是, \(N\le 62500\) ,并不能 \(O(n^2)\) 求 $ $ 这道题有 ...
- Letter Combinations of a Phone Number - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Letter Combinations of a Phone Number - LeetCode 注意点 可以不用按字典序排序 解法 解法一:输入的数字逐 ...
- 使用rundll32.exe绕过应用程序白名单(多种方法)
0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...
- 使用SUID二进制文件进行Linux权限升级技巧
0x00 基础知识 众所周知,在Linux中一切都以文件存在,包括具有允许或限制三个执行操作(即读/写/执行)权限的目录和设备.因此,当给任何文件设置权限时,应该需要了解允许的Linux用户或限制 ...
- 配置nginx为FastDFS的storage server提供http访问接口
1.拉取模块代码 # git clone https://github.com/happyfish100/fastdfs-nginx-module.git 2.编译安装nginx,添加支持fastdf ...
- CAS使用心得
1.理解CAS实现SSO需要哪些组成部分 2.理解CAS实现SSO流程,包括登陆.注销.二次登陆.其他应用登陆 3.CAS部署需要SSL支持,理解容器如何开启SSL.服务端证书.jre证书信任.创建以 ...
- 使用 mysql-proxy 监听 mysql 查询
什么是 mysql-proxy? mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server. 它使用mysq ...
- Java泛型底层源码解析--ConcurrentHashMap(JDK1.7)
1. Concurrent相关历史 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全 ...
- Hadoop生态圈-使用phoenix的API进行JDBC编程
Hadoop生态圈-使用phoenix的API进行JDBC编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.