鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

经验集合

2020-08-06

搜索与动态规划有一个共同特点,它要覆盖所有情况。其中记忆化搜索与动规又有同样的特点,在覆盖所有情况的同时有大量的重复计算。

在设计状态时(不论搜索还是动规)要保证覆盖所有状态(动规还要保证有重复)

2020-08-07

拓扑排序给出了动态规划的求解顺序,被取出的点是已知的,没有被取出的点就是未知的。

可以考虑将背包等动态规划题目进行图论建模,并加以拓扑排序深化理解。

记忆化搜索建出的图的逆向拓扑排序才是动规顺序

 

说到「去掉」,试着理解为「留下」。

正着思考难以解决的,可以逆向思维。

2020-08-08

搜索除了状态要覆盖所有的情况,在真实的运行时也要保证不会遗漏

https://www.cnblogs.com/lujin49/p/13453437.html

这个就是个典型例子

2020-08-09

DP与记忆化搜索有着相似性

这种相似性同样体现在代码实现上。

2020-08-11

对于一些有着重复使用的值,预处理是比较好的选择。

https://www.cnblogs.com/lujin49/p/13444234.html是一个例子

2020-08-16

DP能做的DFS不一定能做

考虑区间DP,由于枚举成分,DFS规模会过大

https://www.cnblogs.com/lujin49/p/13511611.html是个例子

2020-08-22

所有的动规,都必须要满足“利用之前的信息”这个条件以达到目的

至于如何利用视题目而定

有些情况下会有特判,有特殊答案

但是只要是能够利用之前的信息,就是动规

2020-08-26

动规、搜索等题目,其转移方法都暗含在题面中

要学会抽丝剥茧剥离出必要信息

2020-08-27

统计颜色种类

本质是各种颜色东西的个数

先加sum=1则color_cnt+1

先减sum==0则color_cnt-1

2020-10-03

利用位运算去掉末尾1的方法

n=n&(n-1)

C(m,n)=A(m,n)/A(m,m)

位运算一定要加括号

保证不重不漏的方法就是按字典序遍历(适用于规模小的情况)

 

 

 

 

 

 

 

 

 

 

 

 二项式定理应该是:

 

 

 

 

 

 

 

 

 

 

 关于的现实意义

 

以30为例

30=2*3*5

2在30的所有系数中每2个去掉一个

3是每3个一个

5是每5个一个

于是剩下的分别是1,2,4

于是有1/2,2/3,4/5

 

 

 

 

 

 

 

 

 注意,在中,其意义为:选出i个系数,其指数为1

(-1)i就是莫比乌斯函数

由于莫比乌斯函数自身的性质,系数为1以上是没有意义的。

附上:

 

posted on 2020-08-06 09:26  鹿我所录  阅读(103)  评论(0编辑  收藏  举报

导航