More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
  1. 首页
  2. ARTS
  3. 正文

ARTS打卡 第十五周

2021年8月29日 509点热度 1人点赞 0条评论

ARTS打卡 第十五周

首先是算法,本周leetcode还是有很多有意思的题目的

题目 这道题的O(n)的做法还是比较好的,感觉是一个较有启发性的思路

然后是今天周赛的题目

题目 这个是求不同子序列的数量的一个变式,如果理解的清楚的话可以很容易把这个变式写出来。但是这道题的基础版,求解不同子序列的dp还是很有意思的。对于每一个数,如果他是第一次出现,那么他的贡献是前面所有子序列的和,因为前面的子序列都可以加上他来形成新的答案。同时他也可以自己为头,就再加上1。如果他不是第一次出现,那么我们需要减去他上一次出现所造成的贡献,然后再把这一次新的加上。

即如果a[i]是第一次出现,那么dp[i] = 2 * dp[i - 1] + 1 //因为要加上原来的

否则dp[i] = 2 * dp[i - 1] - dp[last[a[i]]]

题目

这道题的状压dp也很不错,属于经典问题,就是若干个分组,满足每个分组总和不大于一个数的前提下,最少能分多少组,应该是np问题

这周总体来说有点划,因为上周结束了GSoC导致这周有点放纵,折腾了很多在linux上玩windows游戏的方法,都成功了,现在可以快乐的玩warframe和sc2了

然后还在继续看程序员的自我修养,看完了动态链接的部分,这周争取看完这本书。

还有要说的一点是我重装系统换成了ubuntu20,感觉还不错,支持了很多新东西。

标签: arts
最后更新:2021年8月29日

sheep

think again

点赞
< 上一篇
下一篇 >

文章评论

取消回复

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS