Codeforces Round#614(掉分之路)

本题是一个思维题局部贪心便能解决,一开始以为要每次一半选手出错,但是结果不对,又改为平方根个选手出错,结果还是不对。
教训:
看完题解才知道既然每次都要有人答案错误,从而使下一次问答的分母变小,如果采用跳跃式分母递减(折半或者开平方)会导致分母较大且参与的运算次数过多,因为局部贪心策略是将不利因素降到最低,所以原先跳跃式错误,于是使用逐步递减法这样会使分母逐渐优化变小且过大的分母只参与尽量小的次数计算从而实现贪心策略
在这里插入图片描述

#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
int main(){
    double t;
	cin>>t;
  	double sum=0;
    if(t==1)cout<<"1.000000000000"<<endl;
    else if(t==2)cout<<"1.500000000000"<<endl;
    else 
    while(1){    //分母递减式变小使sum尽量变大
    	sum+=1.0/t;
    	t--;
    	if(t==0)break;
	}
	if(sum)
	printf("%.12f",sum);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值