【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 ...
随机推荐
- Codeforces 893F(主席树+dfs序)
在子树内和距离不超过k是一个二维限制,容易想到主席树,但主席树显然没法查最小值,因为不满足区间可减.kdtree和二维线段树可以干这事,但肯定会T飞.但事实上我们的问题有一个特殊性:对某个点x,查询其 ...
- BZOJ3240 NOI2013矩阵游戏(数论)
必修五题. // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #include<cmath> ...
- How Many Points? LightOJ - 1077(线段经过整点个数与gcd 证明)
题意: 已知两点 (x1,y1) 和 (x2, y2)求两点间线段上的整点的个数 解析: 就是求gcd(abs(x2- x1),abs(y2 - y1)) 证明: 我们分水平方向和竖直方向两个方向看 ...
- 用vim去掉utf-8 BOM
'去掉utf-8 BOM :set nobomb '保留utf-8 BOM :set bomb
- 【刷题】洛谷 P3690 【模板】Link Cut Tree (动态树)
题目背景 动态树 题目描述 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor ...
- # DZY Love Math 系列
DZY Love Math 系列 [BOZJ3309] DZY Loves Math 顺着套路就能得到:\(Ans = \sum_{T=1}\lfloor \frac{n}{T} \rfloor \l ...
- Mybatis笔记八:MyBatis中#{}和${}的区别
先给大家介绍下MyBatis中#{}和${}的区别,具体介绍如下: 1. $将传入的数据直接显示生成在sql中 2. #方式能够很大程度防止sql注入. 3.$方式无法防止Sql注入. 4.$方式一般 ...
- 【BZOJ1922】大陆争霸(最短路)
[BZOJ1922]大陆争霸(最短路) 题面 BZOJ 洛谷 题解 最短路变形题. 定义\(dis\)表示最短路,\(d\)表示最早可以进入当前点的时间.显然\(d=max(max(dis_v,d_v ...
- Javascript/jQuery关于JSON或数组集合的几种循环方法
JavaScript遍历JSON或数组集合: /** * 根据json数据生成option树形控件 * 如果有children节点则自动生成树形数据 * @param {JSON} data * @p ...
- 解题:洛谷4178 Tree
题面 重(新)学点分治中...... 普通的点分治一般这几步: 1.找重心 2.从重心开始DFS,得到信息 3.统计经过重心的路径 4.分别分治几棵子树,继续这个过程 然后是常见的(制杖的我的)一些疑 ...