CSU-ACM暑假集训训练1(二分 2015/7/21)

6 篇文章 0 订阅

题型1:快速幂

Problem E Rightmost Digit

延拓:细胞分裂,初始状态X,繁殖为固定的模式,写出变换矩阵A,n min后即A^n*X。


题型2:方程数值解

Can you solve this equation?  

nuclear objective:求方程在[0,100]上的零点

Strange fuction

nuclear objective:求极值(发现可以求导转化为B题)


题型3:二元、三元方程整数解

Sacrament of the sum

给定两个序列,问是否可以各取一个数其和为给定的数X。

A+B=X,枚举A,然后二分查找B是否存在。

Can you find it?

A+B+C=X。

这题单纯枚举AB二分C,1000*500*500*log(500,2),将超时。

我们可以先将A+B整合一下为D,那么问题转化为C+D=X。

这样枚举C,二分D,1000*500*log(500^2,2),规定时间出解。


特别注意:误差控制

 B Can you solve this equation?

For each test case, you should just output one real number(accurate up to 4 decimal places)

注意到代码 if ((r-l)<1e-6) return m;
 对于题目要求精确到N位,那么应至少控制(r-l)<1e-(n+2)。

举列辅证(精确小数点后1位):

若1e-1 l=0.1,r=0.19,m=0.145->0.1,实际精确值为0.16->0.2。WA;

若1e-2 l=0.143,r=0.152,m=0.1475->0.1,实际精确值0.151->0.2。WA;

当<1e-3:对于L,R之间的任意实数小数点后第二位的数值不变,所以小数点后第一位不会因为四舍五入出现错误。

(此处有问题,稍后更正)


 D Pie

两种方法,第一种是先二分出半径最后输体积,第二种直接二分体积。

心得体会:

两种方法本质一样。然而第一种方法虽然半径的精度够高,但是根据体积公式π*r*r*h,体积的精度会造成很大的丢失,需要更加严格的控制精度,否则导致难以通过。例如:精确值R=100.0112,S=10002.24012544,二分值r=100.01只精确2位,s=10002.0001,两种面积保留小数相差太大难以AC。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值