由codeforces beta round 1 总结的一些知识

先说C题吧...

呃...看了白衣少年的文章,总结一下这题的知识点...

首先说一下题意,有一个正n边形,输入其中3个点,问这个正n边形可能存在的最小面积,n<=100。

解题思路:一个正n边形存在一个外接圆,这个n边形的每条边的圆心角是确定的,2*pi/n,圆周角也是确定的,pi/n(用a表示),那么任意两个顶点确定的圆周角一定是a的整数倍,这就是关键点,然后枚举n就行了。

                 然后说一下基础知识点:求三角形的角利用余弦定理,高中知识就不讲了。

                                                         求正n边形面积,外接圆半径为r,中心角的一半为Rang,周长为pn,边心距为rn,则s=pn*rn/2=n*r*r*sin(Rang)*cos(Rang)

                                                         怎么求r?

                                                         三角形外接圆的半径R=a*b*c/(4*s)  a,b,c是三边长,s三角形面积,s怎么求?

                                                         令p=(a+b+c)/2,  2*s=sqrt(p*(p-a)*(p-b)*(p-c))  

                  这样这道题再注意一下精度就可以ac了。(还没写代码,以后补上)

再说B题..

呃...这道题是变种进制转换,难点在10进制转换成26进制,A-Z代表1-26,也就是每一位的范围是1-26,正常的26进制不是应该0-25吗?这就是变种的地方。

网上流传一种做法,代码简单紧凑,虽然举了几个例子都对了并且很多人都这样ac了,但我看了几遍代码没看出个为什么这样写,所以我又查了官方帖的解题报告,纯英文...我表示看的蛋疼,借助狗血的谷歌翻译看完,发现官方题解里面提到了一种规范解法,就是先把10进制转换成普通的26进制,然后对每位进行检查,如果小于等于0,把这一位加上26并从上一位减去1,首位特殊判断一下是否为0,就行了,并且官方报告里提到那些看似紧凑的算法出错的可能性很高。

A题极水...

  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值