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!。
明天人就都齐了,正儿八经的干一架吧。

明天也要加油鸭!

猜你喜欢

转载自blog.csdn.net/qq_43141958/article/details/89060205