- 博客(24)
- 收藏
- 关注
原创 Back-Tracking Algorithms (III)(Example:回溯法解决0/1背包问题)
Topics:0/1 Knapsack problem0-1 Knapsack Problem– The form of solution, State space tree– Bound function问题描述:State space tree for 0-1 knapsack problemPrinciple:界限函数应该有助于杀死一些活动节点。我们的目标是获得最大利润,所以界限函数应该杀死那些不能产生更大利润的。up-bound of profit on node Z:表单
2021-05-16 18:09:05
192
原创 Back Tracking Algorithms(I)
回溯法Topics:General MethodN-Queen problemBack Tracking Paradigm(范式)是一种设计方式,类似于分治算法。有助于优化问题和找到可行的解决方案。General MethodConstraints显示约束和解空间使用回溯法求解的问题通常需要给出某些必须满足的约束条件,这些约束条件可分为两类:显示约束和隐式约束。回溯法要求问题解的结构具有元组形式:(x0,x1,⋯,xn−1),每个xi从一个给定的集合Si取值。这种用于规定每
2021-05-15 15:39:29
130
原创 Shortest paths(II)
Topics:All-pairs shortest pathsFloyd-Warshall algorithmJohnson’s algorithmShortest pathsAll-pairs shortest pathsDynamic programmingProof of claim
2021-05-05 18:30:34
106
原创 Shortest Path(I)
Topics:Shortest pathsDijkstra’ algorithmBellman-Ford algorithmLinear programming and difference constraints先来看一组定义:Paths in graphsShortest pathsA shortest path from u to v is a path of minimum weight from u to v. The shortest-path weight from u
2021-04-17 16:54:19
148
原创 Greedy Algorithms(贪心算法)
Topics:Activity-selection problemElements of the greedy strategyHuffman codingGreedy MethodFor many optimization problem, DynamicProgramming is overkill. A greedy algorithm always make the choice that looks best at every step. That is, it makes loc
2021-04-10 18:12:15
521
原创 Dynamic Programming (II)
Topics:Elements of DP AlgorithmsLongest Common SubsequenceElements of DP AlgorithmsOptimal substructure (principle of optimality)用动态规划方法求解最优化问题的第一步就是刻画最优解的结构。如果一个问题的最优解,包含其子问题的最优解,我们称此问题具有最优子结构的性质。How to discover optimal substructure (a common patt
2021-04-07 16:06:26
92
原创 Dynamic Programming(I)
Topics:Dynamic Programming(DP) paradigmAssembly-Line SchedulingMatrix-Chain MultiplicationRod CuttingOptimization ProblemsA design technique, like divide-and-conquer.Works bottom-up rather then top-down.Useful for optimization problems.Four-ste
2021-03-30 19:39:10
221
原创 Sorting in linear time(线性时间排序)
How fast can we sort?All the sorting algorithms we have seen so far are comparison sorts: only use comparisons to determine the relative order of elements.E.g., insertion sort, merge sort, quicksort, heapsort.The best worst-case running time that we’ve
2021-03-19 15:22:42
279
原创 Quicksort(快速排序)
Quicksort递归地使左部元素均小于等于中间元素,右部均大于。(pivot:主)void QUICKSORT(int A[],int p,int r){ if(p<r) { int q=PARTITION(A,p,r); QUICKSORT(A,p,q-1); QUICKSORT(A,q+1,r); }}int PARTITION(int A[],int p,int r){ int x=A[r];
2021-03-18 19:45:08
173
原创 Heap Sort(堆排序)
HeapsortHeapsData structure indexed by integers 1, 2, …, n.Each element supports the operation PARENT, LEFT, RIGHT.Easily implemented using an array withPARENT(i) = , LEFT(i) = 2i, and RIGHT(i) = 2i + 1.max heap A[PARENT(i)] ≥ A[i]min heap A[
2021-03-17 21:09:29
308
原创 第4章 分治策略(Divide-and-Conquer)
Divide-and-ConquerTopics:Substitution method(代入法)Recursion-tree method(递归树法)Master method(主方法)More example1.Substitution methodThe most general method:◼ Guess the form of the solution◼ Verify by induction◼ Solve for constantsExamples:(其中,re
2021-03-12 16:13:12
172
原创 第3章 函数增长
Growth of functionsTopics:Growth of functionsnotations 3.1渐进记号我们通常对最坏情况下的运行时间感兴趣对常数(exact constants)和低阶项(lower order terms)不感兴趣A good reason for not caring about constants and lower order terms is that the RAM model is not completely realistic an
2021-03-10 16:19:23
85
原创 关于滑动窗口方法
关于滑动窗口方法(cpp实现)1.初始取如下窗口2.之后每次移动一个单位的数组元素3.重复2直至窗口到达数组边界(以下代码来自力扣官方解决方案点击此处跳转)class Solution {public: double findMaxAverage(vector<int>& nums, int k) { int sum = 0; int n = nums.size(); for (int i = 0; i < k
2021-02-04 09:51:14
245
原创 2021-02-01
目录调整文本的背景色调整标题与段落的大小给卡片元素添加 box-shadow降低元素的 opactiy设置多个标题元素的 font-size设置多个标题元素的 font-weight设置段落文本的 font-size设置段落的 line-height调整锚点的悬停状态1.调整文本的背景色为了让页面更美观,除了设置整个页面的背景色以及文字颜色外,还可以单独设置文字的背景色,即在文字的父元素上添加background-color属性。可以使用rgba()颜色。rgba 代表:
2021-02-02 10:35:21
208
原创 2021-01-30
目录使用 text-align 属性创建视觉平衡使用 width 属性调整元素的宽度使用 height 属性调整元素的高度使用 strong 标签加粗文本使用 u 标签给文本添加下划线使用 em 标签强调文本使用 s 标签给文本添加删除线使用 hr 标签创建水平线 1.使用 text-align 属性创建视觉平衡web 内容大部分都是文本。CSS 里面的text-align属性可以控制文本的对齐方式。text-align: justify;可以让除最后一行之外的文字两端对齐,即每
2021-01-31 10:46:32
113
原创 2021-01-28
目录创建一个自定义的 CSS 变量使用一个自定义的 CSS 变量给 CSS 变量附加回退值层级 CSS 变量更改特定区域的变量使用媒体查询更改变量1.创建一个自定义的 CSS 变量创建一个 CSS 变量,你只需要在变量名前添加两个破折号,并为其赋值,例子如下:--penguin-skin: gray;这样会创建一个–penguin-skin变量并赋值为gray(灰色)。现在,其他元素可通过该变量来设置为gray(灰色)。2.使用一个自定义的 CSS 变量创建变量后,CSS 属
2021-01-29 11:08:21
84
原创 2021-01-22
目录使用属性选择器来设置元素的样式理解绝对单位与相对单位给 HTML 的 Body 元素添加样式从 Body 元素继承样式样式中的优先级Class 选择器的优先级高于继承样式ID 选择器优先级高于 Class 选择器内联样式的优先级高于 ID 选择器Important 的优先级最高使用十六进制编码获得指定颜色使用十六进制编码混合颜色使用缩写的十六进制编码使用 RGB 值为元素上色1.使用属性选择器来设置元素的样式你已经通过设置元素的id和class,来显示你想要的样式,而它
2021-01-29 11:03:12
207
原创 2021-01-20
目录调整元素的内边距调整元素的外边距给元素添加负外边距给元素的每一侧添加不同的内边距给元素的每一侧添加不同的外边距使用顺时针方向指定元素的内边距使用顺时针方向指定元素的外边距1.调整元素的内边距所有的 HTML 元素基本都是以矩形为基础。每个 HTML 元素周围的矩形空间由三个重要的属性来控制:padding(内边距),margin(外边距)和 border(边框)。padding控制着元素内容与border之间的空隙大小。在这里,我们可以看到蓝色盒子和红色盒子都在黄色盒子里面。
2021-01-27 11:07:17
68
原创 2021-01-18
目录在元素周围添加边框用 border-radius 添加圆角边框用 border-radius 制作圆形图片给 div 元素添加背景色使用 id 属性来设定元素的样式1.在元素周围添加边框CSS 边框具有style,color和width属性。假如,我们想要创建一个 5px 的红色实线边框包围一个 HTML 元素,我们可以这样做:<style> .thin-red-border { border-color: red; border-width: 5p
2021-01-27 10:53:44
78
原创 2021-01-15
目录声明html的文档的文档类型定义html文档的标题和正文更改文本颜色使用元素选择器来设置元素的样式使用 class 选择器设置单个元素的样式更改元素的字体大小设置元素的字体家族引入谷歌字体字体优雅降级调整图片的大小1.声明html的文档的文档类型在文档的顶部,你需要告诉浏览器你的网页用的 HTML 哪个版本。 HTML 是一个不停进化的语言,大部分浏览器都支持 HTML 的最新标准,也就是 HTML5。但是一些陈旧的网页可能使用的是 HTML 的旧版本。你可以通过<!
2021-01-27 10:46:01
93
原创 2021-01-14
目录单选按钮换行复选框元素嵌套单选按钮radio buttons(单选按钮)就好比单项选择题,正确答案只有一个。单选按钮只是input输入框的一种类型。每一个单选按钮都应该嵌套在它自己的label(标签)元素中。所有关联的单选按钮应该拥有相同的name属性。注意:关联的单选按钮的name属性一定相同,for中的值与嵌套在内部的单选吉键的id值相同。换行<br>复选框<label><input type="checkbox" name="perso
2021-01-26 11:11:45
74
原创 html基本使用
<h2>CatPhotoApp</h2><main> <a href="#"><img src="http://cdn.chenzhicheng.com/relaxing-cat.jpg" alt="一只仰卧着的萌猫"></a> <p>猫咪最喜欢的三件东西:</p> <ul> <li>猫薄荷</li> <li>激光笔<
2021-01-26 10:56:43
92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人