2016个人训练赛2
文章平均质量分 50
金金金金鑫
这个作者很懒,什么都没留下…
展开
-
Codeforces 591A Wizards' Duel
题意:给你一段长为l的道路,有两个人分别在两头以速度p、q相向而行,问他们在距离起点多少米相遇。思路:初中数学题。#includedouble l,p,q;int main(){ scanf("%lf%lf%lf",&l,&p,&q); double ans=(l/(p+q))*p; printf("%.4lf\n",ans); return 0;}原创 2016-07-16 19:16:15 · 224 阅读 · 0 评论 -
Codeforces 590A Median Smoothing
题意:给你一串01数组,定义一种中位数的操作,即在连续的三个数中,如果有2个以上的0,那么这三个数均变为0,如果有2个以上的1,那么这三个数均变为1。问最少需要几次,能将原始串变到不再发生改变的串,并输出该串。思路:找规律。先来考虑最终状态,最终状态只可能为00000001111111或者11111111100000000或者00000000000或者111111111111这几种状态原创 2016-07-16 19:17:22 · 284 阅读 · 0 评论 -
Codeforces 602A Two Bases
题目:给你n位bx进制的数X和m位by进制的数Y,问你X大于、等于、小于Y。思路:将X、Y都转为10进制进行比较。#includetypedef __int64 LL;const int MAX=45;int nx;LL X,bx[MAX];int ny;LL Y,by[MAX];int main(){ scanf("%d%I64d",&nx,&X); for原创 2016-07-16 19:36:46 · 206 阅读 · 0 评论 -
Codeforces 591B Rebranding
题意:给你一串长为n的字符串和m种替换,每种替换给出两个字符,将字符串里的这两种字符互换,为最后得到的字符串是什么。思路:用vector按顺序存储每个字母所变换后的字符,最后按每个字母变换的最后一种情况变换即可。#include#includeusing namespace std;const int MAX=200005;int n,m;char s[MAX],ch1原创 2016-07-16 19:39:22 · 171 阅读 · 0 评论 -
Codeforces 602B Approximating a Constant Range
题意:给你一个n个数的数组,让你求最长的区间,该区间内满足任意两个数之差的绝对值小于等于1。思路:其实就是区间内最多只有两种不同的数字,这里维护下这种性质和最长长度区间就好了。定义如下:ans为答案sum为维护的区间内的值的总和num[i]表示区间内数值为i的个数那么我们如何判断该区间内是否存在其他的数呢?如:判断该区间内只有a和b两种数字,那么就得满足sum==a*n原创 2016-07-16 19:44:13 · 395 阅读 · 0 评论 -
Codeforces 601A The Two Routes
题意:给你n座城镇,并给出m条铁路,每条铁路的长度为1,除有铁路的地方之为,其他任意两点之间都存在道路长度也是1。铁路只能动车过,公路只能汽车过。现在动车和汽车同时从1城市出发要到n城市,问动车、汽车都到达n城市的最早时间。思路:分析下题目。可以发现,一定有动车或者汽车其中一种可以直接从1城市到n城市的,因为其中一定有一条直通的铁路或者公路。剩下的就是求另一种不能直接到的交替工具到n的原创 2016-07-16 19:58:49 · 260 阅读 · 0 评论