Codeforces Round #299

来源:互联网 发布:云计算现状 编辑:程序博客网 时间:2024/04/30 09:59

 A题 简单的模拟。给出一个数,输出它的英文名就好,注意零。

B题 数学题,是二进制法表示数这一类问题的变形。二进制表示数确实有很多优势,在计数上可以达到很大的值。在于领会二进制法的精髓吧,所以代码有时候作为语言的能力甚至超过了言辞。
C题  分治题,用二分法解。读题是一个艰难的过程。给出一等差数列si=A+(i-1)*B;n次询问,每次询问给出l,t,m。题目要求,取数列中l开始的m个数,每次对每个数减一,减t次,到零就停止,求为零的最右边的数的下标是多少。
   二分就是要找到二分的区间以及二分结束的判断条件。显然可以得到最右端的数是lr=(t-a)/b+1,最左端的数是ll=l。且只要sl+(sl+1)+(sl+2)+...+(smid)<=t*m;就可以将二分区间向右移动,否则向左。需要注意的是longlong ==



1 0
原创粉丝点击