摘要:
0. C#define EOF (-1)~(-1) ⇒ 0int arr[1000005]; // C 语言中没有直接的动态数组,一维数组的大小需要预先声明,大小由问题的规模而定int n, int m;while (~scanf("%d, %d"... 阅读全文
摘要:
0. C#define EOF (-1)~(-1) ⇒ 0int arr[1000005]; // C 语言中没有直接的动态数组,一维数组的大小需要预先声明,大小由问题的规模而定int n, int m;while (~scanf("%d, %d"... 阅读全文
摘要:
本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊。算法是演员,变量、数组、容器等就是舞台,然后整个算法的处理流程,都是针对这些数据(存储在变量或者 STL 中的容器中)进行初始化,修改,更新的,算... 阅读全文
摘要:
本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊。算法是演员,变量、数组、容器等就是舞台,然后整个算法的处理流程,都是针对这些数据(存储在变量或者 STL 中的容器中)进行初始化,修改,更新的,算... 阅读全文
摘要:
1. 分治、动态规划的局限性没有合适的分割方式时,就不能使用分治法;没有合适的子问题或占用内存空间太大时,就不能用动态规划;此时还需要回到最基本的穷举搜索算法。穷举搜索(exhaustive search)会把生成答案的过程分为几个选择的过程,之后利用递归调用完成各个... 阅读全文
摘要:
1. 分治、动态规划的局限性没有合适的分割方式时,就不能使用分治法;没有合适的子问题或占用内存空间太大时,就不能用动态规划;此时还需要回到最基本的穷举搜索算法。穷举搜索(exhaustive search)会把生成答案的过程分为几个选择的过程,之后利用递归调用完成各个... 阅读全文
摘要:
贪心不贪心,是设计者说了算,也就是说,什么情况下是贪心的选择,什么情况下不是贪心的选择,由设计者自己定义。比如公交线路的选择,最优可以指定为,1. 时间最短,也可以是,2. 最少换乘;1. 活动选择问题(activity selection problem)某公司的一... 阅读全文
摘要:
贪心不贪心,是设计者说了算,也就是说,什么情况下是贪心的选择,什么情况下不是贪心的选择,由设计者自己定义。比如公交线路的选择,最优可以指定为,1. 时间最短,也可以是,2. 最少换乘;1. 活动选择问题(activity selection problem)某公司的一... 阅读全文