codeforces 807 C. Success Rate(二分)】的更多相关文章

http://codeforces.com/problemset/problem/807/C C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are an experienced Codeforces user. Today you found out that during your…
题目链接:http://codeforces.com/contest/807/problem/C 题意:记 AC 率为当前 AC 提交的数量 x / 总提交量 y .已知最喜欢的 AC 率为 p/q (pq∈[0,1]) . 求最少在提交多少题(AC or NOT)能恰好达到 AC 率为 p/q 题解:当然可以用数学的方法来求解,我的解法并不是用什么数学方法,直接二分暴力就行. 由于(x+s)/(y+s+us)=(p/q)(s表示ac的,us表示没ac的)所以不妨设 x+s=k*p,y+s+us…
Success Rate CodeForces - 807C 给你4个数字 x y p q ,要求让你求最小的非负整数b,使得 (x+a)/(y+b)==p/q,同时a为一个整数且0<=a<=b. (0 ≤ x ≤ y ≤ 109; 0 ≤ p ≤ q ≤ 109; y > 0; q > 0) 解法: (x+a)/(y+b)==p/q; --> x+a=np; y+b=nq; --> a=np-x; b=nq-y; --> 二分n; #include <cs…
题目链接:http://codeforces.com/problemset/problem/807/C 题目大意:给你T组数据,每组有x,y,p,q四个数,x/y是你当前提交正确率,让你求出最少需要再提交几次可以达到目标正确率p/q; 解题思路:假设提交B次,正确A次,那么可以得到(x+A)/(y+B)=p/q,可以推出x+A=k*p,y+B=k*q.那么A=k*p-x,B=K*q-y; 这样我们只需要二分枚举k,判断A,B是否满足(0<=A<=B)即可. #include<iostre…
https://codeforces.com/problemset/problem/773/A 一开始二分枚举d,使得(x+d)/(y+d)>=p/q&&x/(y+d)<=p/q,错在这些数是离散的,不能由两边异号判定一定存在这个交点. 然后改成枚举d,使得y=d*q,这样就一定是倍数了.然后就是要想清楚了,找不到这样卡在中间的d,其实都是因为d不够大的原因,d够大保证是可以的除非正确率是100%. 然后就是二分的上界,按道理q的最大值是1e9,y的最大值也是1e9,他们的公倍…
[题目链接]:http://codeforces.com/contest/807/problem/C [题意] 给你4个数字 x y p q 要求让你求最小的非负整数b; 使得 (x+a)/(y+b)==p/q 同时a为一个整数且0<=a<=b [题解] /* (x+a)/(y+b)==p/q; 则 x+a=np y+b=nq (以上结论只在p和q是互质的情况下有效,当然题目有说p和q互质) a=np-x b=nq-y a<=b 因为p<q所以n越大b会越大; 又p和q都大于等于0…
You are an experienced Codeforces user. Today you found out that during your activity on Codeforces you have made y submissions, out of which x have been successful. Thus, your current success rate on Codeforces is equal to x / y. Your favorite ratio…
C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are an experienced Codeforces user. Today you found out that during your activity on Codeforces you have made ysubmissio…
Success Rate 思路: 水题: 代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define ll long long inline void in(ll &now) { ; ') Cget=getchar(); ') { now=now*+Cget-'; Cget=getchar(…
C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are an experienced Codeforces user. Today you found out that during your activity on Codeforces you have made y submissi…
Success Rate 题目链接 题意 给你两个分数形式的数,然后有两种变化方式 上下都+1 仅下面部分+1 让你求第一个分数变化到第二个分数的最小步数. 思路 有几种特殊情况分类讨论一下. 首先我们先把右边化为最简比. 我们可以得到方程$$\frac{(x+a)}{(y+b)} = \frac{kp}{kq}$$ \[a = k*p - x\\b = k*q - y \] 根据\(b >= a\)可求得\(k = \frac{y-x}{q-p}\)向上取整,并且要求a>=0: 代码 #in…
http://codeforces.com/contest/773/problem/A [思路] 用 (x+a)/(y+b) = p/q 来表示其核心思想,其中a 为做对的题目,b为做的题目,则有x+a = k*p,y+b = k*q.且有0<=a<=b,两式合并可得k>=x/p,k>=(y-x)/(q-p), 则如要满足两个等式,k应取其中较大的值(注意:若取得的k为小数,我们需要的是最小整数解,加1),最后注意一下特殊情况 p = 0,p = q. 最后要注意long long…
题目链接:http://codeforces.com/contest/807/problem/D 题意:对于动态计分的 Codeforces Round ,已知每题的 score 是根据 Round 参加人数和该题过题人数计算,两者之比结合上图得出该题的分数.某人在该题的得分为 score*(1−t/250) 其中 t 表示通过该题的时间. 已知参加该场比赛的所有参加者的过题情况(包括 Vasya 和 Petya),问如何通过增加新的参赛者(尽量少),使得 Vasya 的最终得分高于 Petya…
C - Preparing for the Contest Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 377B Description Soon there will be held the world's largest programming contest, but the testing system sti…
题目链接:Codeforces 484B Maximum Value 题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj 解题思路:类似于素数筛选法的方式,每次枚举aj,然后枚举k,每次用二分找到小于k∗aj而且最大的ai,维护答案,过程中加了一些剪枝. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn =…
题目链接:https://codeforces.com/problemset/problem/607/A 题意: 有 $n$ 个塔排成一行,第 $i$ 个激光塔的位置为 $a_i$,伤害范围是 $b_i$,激活第 $i$ 个塔后,所有在这个塔左侧且距离小于等于 $b_i$ 的塔都会被摧毁,但该塔本身不会被摧毁. 现在会从右向左依次激活每个塔,如果一个塔被摧毁则无法被激活. 现在要在这 $n$ 个激光塔的右边再放一个塔,该塔的位置和威力是任意的.现在从这个新加入的塔开始从右到左依次激活每个塔,求最…
You are given two strings s and t consisting of small Latin letters, string s can also contain '?' characters. Suitability of string s is calculated by following metric: Any two letters can be swapped positions, these operations can be performed arbi…
D. Leaving Auction time limit per test: 2 seconds memory limit per test:256 megabytes input:standard input output:standard output There are n people taking part in auction today. The rules of auction are classical. There were n bids made, though it's…
https://codeforces.com/contest/1117/problem/C 题意 在一个二维坐标轴上给你一个起点一个终点(x,y<=1e9),然后给你一串字符串代表每一秒的风向,然后每一秒你也可以选择一个方向移动,问到达从起点到终点的最短时间 题解 思维:等效法 假如到达终点之后,可以静止不动,可以用自己走反向风方向来抵消风的方向 先只考虑风向,用前缀和将每一秒到达的位置维护出来,假设x秒到达的位置是[x,y],终点为[sx,sy],则若|sx-x|+|sy-y|<=x,则一定…
B. T-Shirt Hunt http://codeforces.com/problemset/problem/807/B time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Not so long ago the Codecraft-17 contest was held on Codeforces. The top 25 p…
http://codeforces.com/problemset/problem/807/A A. Is it rated? time limit per test              2 seconds memory limit per test        256 megabytes input       standard input output standard output Is it rated? Here it is. The Ultimate Question of C…
D. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output We all know the impressive story of Robin Hood. Robin Hood uses his archery skills and his wits to steal the money from rich, a…
题目链接 Nudist Beach 来源  Codeforces Round #309 (Div. 1) Problem D 题目大意: 给定一篇森林(共$n$个点),你可以在$n$个点中选择若干个构成一个集合$S$. 输入数据中会给定一些点,你不能选择这些点. 定义$S$中某城市的值: 令$A$= 该城市的在S中的邻居数量 $B$ = 该城市的所有邻居数量 那么$S$中该城市的值为$\frac{A}{B}$ 定义$S$的比值为$S$中所有城市的值的最小值 题目的要求是让你确定集合$S$,使得$…
题目链接: http://codeforces.com/problemset/problem/660/C 题意: 给定0.1组成的数组,可以改变k个0使其为1,问最终可以得到的连续的1的最大长度. 分析: 很容易想到二分答案的做法, 二分长度,然后找是否存在满足题意的区间. 还可以用尺取法,这样在O(n)时间负责度内就可以完成,但是个人感觉写起来没有二分直观.. 代码: 二分: #include<cstdio> #include<cmath> #include<iostrea…
题目链接: http://codeforces.com/problemset/problem/653/D 题意: x个熊拿着相同重量的物品,从1号结点沿着路走到N号结点,结点之间有边相连,保证可以从1号走到N号. The total weight that travels across a particular edge must not exceed the weight capacity of that edge. 所有经过这条边的熊,他们所拿的重量之和不能大于这条边的容量. 求所有熊所能拿…
题目链接: http://codeforces.com/contest/645/problem/C 题意: 给定01串,将k头牛和农夫放进, 0表示可以放进,1表示不可放进,求农夫距离其牛的最大距离的最小值. 分析: 第一遍读题没看清,直接写成dp...然后样例都不过,我开始怀疑人生怀疑自己..... 后来发现是要求中间的到两边的最大距离的最小值,而对于某个距离是否满足条件很好判断啊~~所以直接二分最大距离即可~ 代码: #include<iostream> #include<cstri…
题目链接:http://codeforces.com/contest/799/problem/C 题意:要求造2座fountains,可以用钻石,也可以用硬币来造,但是能用的钻石有限,硬币也有限,问能造出最大的美丽值为多少. 题解:显然如果两个fountains分别用钻石和硬币来造的话就直接取两种类型里满足条件的最大值即可. 如果选的是同类的话,先按照数量来排序,然后那一个数量为基准二分下个可行的数量,然后还需要一个 数组来存小于等于某个数量的最大美丽值. #include <iostream>…
题目链接:http://codeforces.com/problemset/problem/749/D 题意:就是类似竞拍,然后报价肯定要比上一个高,然后查询输入k个数表示那些人的竞拍无效, 输出最后谁竞拍到了花了多少钱. 比较简单的二分只要找到删除无效人后最大的两个人然后用第二大的那个人的最大竞拍价二分查找 最大的那个人中的竞拍价,然后的得到的第一个大于等于的值即可. #include <iostream> #include <cstring> #include <algo…
题目链接:http://codeforces.com/contest/807/problem/E 题意:已知每个数都能用x=1 + 2 + 4 + ... + 2k - 1 + r (k ≥ 0, 0 < r ≤ 2k)来表示, 给出一串数字问这串数字能有几个x表示.输出可能的长度. 题解:这题比较巧妙具体还是看代码理解一下,不好解释. #include <iostream> #include <cstring> #include <vector> #includ…
题目链接:http://codeforces.com/problemset/problem/779/D 题意:有两个字符串一个初始串一个目标串,有t次机会删除初始串的字符问最多操作几次后刚好凑不成目标串 所得结果减1 其实简单匹配只需要n只要二分查找一下答案那么结果就是n*logn #include <iostream> #include <cstring> #include <string> using namespace std; const int M = 2e5…