codeforce Round #665(div 2)A B C】的更多相关文章

A. Distance and Axis 题意:在一个0x轴上,给了a在0x轴上的坐标,要你放一个b点使得abs(0B - AB)的值等于 k,但是有的时候如果不移动A点就不能实现这个条件,所以要你求,移动A点的最小距离,让你满足这个条件. 分析:这是要求0B和AB的差距,也就是它们之间的相差多少,也就是将0A分成三份,两份相同的距离就是0B和AB相同的部分x,还有一部分就是0B和AB的相差距离,也就是k,那么我们就可以表示为2x + k = n,所以我们可以从这个式子中分析出,只要n >= k…
Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. 所以暴力判一下就好. Code: #include <bits/stdc++.h> #define N 110 using namespace std; char s[N]; int main() { scanf("%s", s + 1); int n = strlen(s +…
B. More Cowbell time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Kevin Sun wants to move his precious collection of n cowbells from Naperthrill to Exeter, where there is actually grass inst…
除夕夜之有生之年CF第一场 下午从奶奶家回到姥姥家,一看还有些时间,先吃点水果陪姥姥姥爷聊了会儿,再一看表,5:20....woc已经开场20分钟了...于是抓紧时间乱搞.. **A. Guest From the Past** time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Kolya Gerasimov loves kefi…
这场奇差.ABCD四题.179名. 但是E在现场有213个人做出. 描述一下我在35分钟做完D后的心路历程. 首先看到这道E,第一下想到的是把所有的横向和竖向的整列(行)求出相连的个数. 然后想如何能够用这个方法求出每一个格子周围的个数. 后面举了大概半个小时的例子. 最后才得到结论:不行. 这里是第一个失误点:没有在一条道走到黑的时候及时换思路. 然后的半个小时在尝试另一种方法:先求横竖再二分. 也得到了相同的结论:不行. 这里是第二个失误点:没有吸取之前的教训来更换方式. 最后十分钟的时候想…
题目链接:http://codeforces.com/contest/752/problem/C 题意:给出一系列机器人的行动方向(机器人会走任意一条最短路径),问最少标记几个点能让机器人按这个 路径走下去. 显然最后位置肯定要标记,然后怎么使得点最少呢.首先标记一下起点由于机器人走的是最短路一旦第i个点到 标记点的距离小于第i-1个点到标记点的距离是肯定不能这么走,于是这时就要标记一下上个点的位置,统计数 加1. #include <iostream> #include <cstrin…
最后两题是orzCJK学长帮忙代打的,不过总算是到蓝名了(上次睡迟了,只剩半个小时,结果作大死点开题目看,结果rating掉了100多),还有论代码风格的重要性!!!(没写空格被学长各种D) A题 题目简意: 有两个人做游戏,每个人有一块电池,给定初始电量a,b,每一秒你可以给一块电池充1%的电,另一块电池就会掉2%的电,当有一个没电时游戏结束.求游戏的最长时间. input 3 5 output 6 input 4 4 output 5 题解: 大概就是贪心吧,每次给电少的电池充电,注意细节(…
题目链接 : C2. Skyscrapers (hard version) 题目描述 : 与上一道题类似,只是数据范围变大, 5e5, 如果用我们原来的方法,铁定是超时的. 考察点 : 单调栈,贪心,前缀和,后缀和 析题得侃: 上面说了,用原先得方法得话是铁定超时的,那怎么优化呢?通过 easy version ,我们可以 得知合适的位置一定是由两部分组成的,左侧的数的和,右侧的数的和,我们求这些和的时候 也确实浪费了大量的时间,我们能否知道这个位置,然后直接得到这个位置的和呢?然后直接 取一下…
A 容易发现i,i+1至少有一个数出现,于是可以让尽量多的2和奇数出现 #include<bits/stdc++.h> using namespace std; int n,s1,s2; int main() { scanf("%d",&n); ,x;i<=n;i++) { scanf("%d",&x); )s1++;else s2++; } ) { "); else{ printf("2 1"); ;…
题目连接:https://codeforces.com/contest/1323/problem/B 题意:给一个大小为n的a数组,一个大小为m的b数组,c数组是二维数组c[i][j]=a[i]*b[j],问面积为k的矩形有几个. 题解:先把k的所有因子存入一个数组里,然后遍历因子,表示在a数组有 i 个连续的1,那么如果在b数组里有 k/i 个连续的1,形成的矩形面积就是k(线代的矩阵乘法自己脑补一下吧),计算出a数组中符合条件的个数乘以b数组中符合条件的个数,然后把每个因子下的都加起来就是答…