第二次集训——2011年2月27日

      很侥幸,昨天迟回去,队长刚好没在,躲过了一劫,但是要牢记,不能超假啊,后果很严重的。

      今天感到了集训的自由性~~上午还是做昨天的题目,有点反感,就去做09年的校赛题目,发现一道很好的题目,杨辉三角

      题目大意是给出在杨辉三角中的相邻两个数的位置,求出在这个图形中的位置。

      题目数据是给出的数在LONG INT范围内,可是具体行列到哪种程度不敢想象~~~

      当时做的人基本都是混过去的,就是说默认在INT64范围内做,无法顾及到很多数据,所以题目的数据弱,竟然都过了~~~

      我想到了解方程的方法,根据两个值列两个方程,但是很显然这是个有多个解的方程,解还得去验证到底对不对,中间试解的过程比较慢,但由于题目数据的弱,行数不会超过50行,所以试根也很快了,但是遇到犀利一点的数据怎么办呢?比如99999999 1

      恰巧刚看过扩展的欧几里得算GCD的方法,有了大概印象,可以求一个一元二次方程整数解,然后就可以把通解表示出来,这道题需要这个,这样一次就可以得一个根,速度接近线性了!争取在两天内把它编写出来!

      下午是个郁闷的下午。题目都是很恶心的,描述一大堆,做做出了2题。

A题:好像是跟NOIP差不多的题目

算法:二分+贪心

         由于要使得最小的使用度尽量大,二分使用度;每样物品必须要出现购买一样,这样就可以购买使用度符合范围的,且MONEY尽量少的,就可以判断当前解是否可行;

注意了,二分的端点很重要的,这里左端点可以选择0,右端点选择出现过的最大使用度。呃~~~Wrong了,应该要加1,因为左边是可以取到的,右边不可取到,这样要考虑到最好的情况:最后的答案刚好是最大的使用度。

代码:

猜你喜欢

转载自blog.csdn.net/zjsxzjb/article/details/6211654