【每日总结】2021-1-22

【每日总结】2021-1-22

学习时间:5h
刷题数:1
在这里插入图片描述

学习内容:继续学动态规划和二分。
题目:切绳子
今天在昨天的代码的基础上做了两处修改:
1、将边界l和r定义为double型,这样在可以排除小数点的干扰原代码修改代码
2、将最后输出的结果由mid改为r。因为若上一步的运算为r=mid-1,而此时mid=l,则说明mid和l的值偏大,则输出r;若上一步的运算为l=mid+1,而此时l>mid=r,可以输出r或mid的值。
这也就是昨天我错50%的原因。
核心代码

 while(r-l>=0)
        {
            mid=(l+r)/2;
            int count=0;
            for(int i=0; i<n; i++)
            {
                count+=(int)a[i]/mid;
            }
            if(count>=k)
                l=mid+1;
            else
                r=mid-1;
        }
        printf("%.2lf\n",(double)r/100);

题目:维斯顿的烦劳
这又是一个鬼畜题目,我还来改去,还是错50%。
刚开始用的二维数组dp,发现数组没法开那么大,报运行错误,然后换成一维数组。
二维数组
一维(错误)
但是这样写枚举的顺序错了,对于当前处理的物品时会被之前的物品所影响,相当于多次放入物品i。
就像这样
在这里插入图片描述

然后我就把代码改成和oi-wiki的模板一样
在这里插入图片描述
样例通过,但是依然错误50%,
服了,吐血。。。。。。。。。

谁是我们的敌人?谁是我们的朋友?这个问题是革命的首要问题。------《毛选》
庚子年 冬 怀化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值