2019年4月4日-4月6日训练总结

清明节有点懒,老师给的题没怎动,然后那套练习第一题也没咋看,第二天着实是有些累。

说先想说一下区间dp那套题,主要是想说一下c,两次dp着实被绕进去了,理解了好一顿。
总结一下不足
1.还是题少了,不论是看的还是自己做的,对dp的思想还不是很理解。
2.状态转移方程记得不够清新,应用也不是很熟练。
3.思路僵硬,压根就没想到这玩意可以两次dp。
然后就是区间dp的问题,其实这个东西感觉上核心还是和dp差不太多,主要就是从逐个求解比较去最优变成了再一个个小区间上求解然后合并取最优
从大佬那里扒来的板子

for(int len = 1;len<=n;len++){//枚举长度
        for(int j = 1;j+len<=n+1;j++){//枚举起点,ends<=n
            int ends = j+len - 1;
            for(int i = j;i<ends;i++){//枚举分割点,更新小区间最优解
                dp[j][ends] = min(dp[j][ends],dp[j][i]+dp[i+1][ends]+something);
            }
        }
    }

然后是今天练习赛的事情,感觉学算法学的过于局限了,弄不弄就往上套,其实根本不需要,还有就是数据的过大导致超时的问题,这也是最大的问题,如何优化成了今天最大的任务,也新学了一个函数,substr,用于截取string字符串的子串,也就是这个玩意,最后一个题的代码从80+的行数简化到30+,也另一个函数strstr,strstr(“Helloworld!”,“world”);输出结果是:world!。
明天人就都齐了,正儿八经的干一架吧。

明天也要加油鸭!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值