- 博客(17)
- 收藏
- 关注
原创 神经网络完成分类(正则化)
了解Tensorflow入门非常推荐MOOC网上的这个课程:人工智能——Tensorflow笔记将蓝点、红点用一条曲线分隔开开。# -*- coding: utf-8 -*-"""Created on Thu Aug 1 20:06:08 2019@author: ushop"""'''正则化缓解过拟合: 正则化在损失函数中引入模型复杂度指标 利...
2019-08-03 16:42:36
364
原创 动态规划法(入门)——最大正方形、最大长方形
最大正方形(Largest Square)题意:现有H*W个边长为1cm的正方形瓷砖排列在一起,其中有一部分瓷砖有污迹,求仅有干净瓷砖构成的最大正方形的面积。输入4 50 0 1 0 01 0 0 0 00 0 0 1 00 0 0 1 0输出4首先,我们设一个dp数组,其中dp[i][j]表示第(i,j)个位置向左上方扩展形成的最大正方形的边长值。也就是说dp...
2019-07-19 18:11:02
1183
1
原创 计算几何学(3)
点的内包:判断点是否在多边形内。输入 一个多边形点的序列 问题数 各个问题的点的信息输出 2代表在圈内 1代表在圈上 0代表在圈外只要检查一p为端点且平行于x的射线与多边形g的边的相交次数,我们就能判断给定的点p是否内包与多边形g。对于构成多边形各边的线段设与分别为向量a和向量b。点p是否位于上可通过ccw的方法检验,即检验a和b是否...
2019-07-18 16:51:30
247
原创 计算几何学(2)
直线的正交/平行判定利用内积的值(cosθ)值来判断。//判断向量a和b是否正交bool isOrthogonal(Vector a,Vector b){ return equals(dot(a,b),0.0);} bool isOrthogonal(Point a1,Point a2,Point b1,Point b2){ return isOrthogonal(a1-a2,...
2019-07-18 09:59:29
182
原创 计算几何学(1)
//结构体表示点struct Point{ int x,y;};我们将既有大小又有方向的量称为“向量”。相对的,只有大小没有方向的量称为“标量”。这里,将向量考虑成从源点(0,0)指向对象点P(x,y)的有向线段。//同时也完全可以用点的数据结构来表示向量typedef Point Vector;我们可以用包含两个点(起点p1和终点p2)的结构体或类来表示线段。这里要...
2019-07-18 09:26:14
285
原创 算法和数据结构——高等图算法(关节点)
Articulation Point(关节点)在连通图G中,如果删除顶点u及以顶点u出发的所有边后所得的子图不连通,我们就称顶点u为图G的关节点或者连接点。上图中灰色的顶点就是图的关节点。输入 |V||E| s0 t0 ... sn-1 tn-1输出 按照升序依次输出图G的关节点限制 1≤|V|≤100000、1≤|E|≤100000、G连通、不...
2019-07-15 09:01:00
1015
原创 算法和数据结构——高等图算法(拓扑排序)
有向无环图DAG可用来表示各种事物的顺序。比如以各项工作为顶点,有向边来表示工作顺序。上图中我们着手处理工作B之前需要先处理完成工作A和工作X,如果对这种表示顺序关系的DAG进行拓扑排序,我们便可以得到一个恰当的工作排序,对于一个有向无环图DAG,只要存在边(u,v),就让u在线性序列中位于v之前,这就是拓扑排序。所谓图的拓扑排序,就是让图中全部有向边都由左向右,同时将所有顶点排列在...
2019-07-14 20:29:54
716
原创 高等数据结构——kD Tree
从拥有多个属性的报表集合(数据库)中,寻找具有特定属性且位于指定范围内的元素,这类问题称为范围搜索。编写程序,对魔某个二维平面上点的集合,列举出给定范围内的点。另外,给定的点集合无法进行点的添加和删除操作(静态)。输入 n x0 y0 ... xn-1 yn-1 q sx0 tx0 sy0 ty0 ... sxq-1 txq...
2019-07-13 18:52:15
209
原创 高等数据结构——Union Find Tree
Disjoint Sets是一种用于互质集合(一个元素不同使包含于多个集合的集合)对数据进行分类管理的数据结构。这种数据结构可以有效的动态处理一下操作。makeSet(x):创建仅包含元素x的新的集合 findSet(x):求包含元素x的集合的“代表”元素 unite(x):合并指定的元素x、y在Disjoint Sets中,查询“指定的两个元素x、y是否包含于同一个集合”的操作称为Un...
2019-07-13 11:38:06
554
原创 算法和数据结构——有权图(最小生成树、最短路径计算)
普力姆算法(Prim's Algorithm)是求图G=(V,E)最小生成树(MST)的代表性算法之一,基本思路如下:从G中选取任一顶点r作为MST的根,将其添加至T 循环执行下述处理直至T=V 在连接T内顶点与V-T内定点的边中选取最小的边,将其作为MST的边,并将u添加至T 实现这一算法的关键,在于选择边时“如何保存权值最小的边”。用邻接矩阵来实现prim算法需要准备一下变量:...
2019-07-12 20:06:35
572
原创 算法和数据结构——图
图这种数据结构表现的是对象集合以及其间关系的集合。图里的“对象”称为结点(Node)或者顶点(Vertex)。"关系"表示顶点与顶点之间的关系,称为边(Edge)。图大致分为以下四类:名称 特征 有向图 边无方向 无向图 边有方向 加权无向图 边有权无方向 加权有向图 边有权有方向 图的具体例子这里不再啰嗦了。直接来了解一下图的表示与术语:...
2019-07-11 12:42:40
154
原创 动态规划法(入门题)——硬币问题
本次将介绍(可能不是一次性的噢):0-1背包问题、硬币问题、最长递增子序列、正方形搜索。硬币问题(Coin Changing Problem):题意:先有面值为元的n种硬币,求支付m元时所需硬币的最少枚数。各面值的硬币可以重复使用任意次。输入 m n 输出输出所需硬币的最少枚数,占1行限制,,各面值均不相同,其中必须包含1。这个问题可以通过动态规...
2019-07-10 15:55:45
3972
1
原创 动态规划法(入门题)——01背包问题
01背包问题(0-1Knapsack Problem)题意:先有价值为、重量为的N个物品以及容量为W的背包。选择装入包中的需满足:背包总价值尽可能得高 背包总重量不超过W输入第1行输入2个整数N,W,空格隔开。接下来N行输入第i个物品的价值与重量,每个物品占一行,相邻数值之间空格隔开。输出输出总价值的最大值,占1行限制、、、输入示例4 54 25 2...
2019-07-10 15:55:00
338
原创 算法和数据结构——动态规划法(Dynamic Programming,DP)
动态规划法是一种求最优解的数学思路,广泛应用于组合优化、图形解析等问题的相关算法中。将算式的计算结果记录在内存之中,需要时直接调用该结果,从而避免无用的重复计算,提高效率。本文利用多维数组->进行动态规划法->完成最长公共子序列、矩阵列乘法问题。引入:斐波那契数列满足如下递推式子:易得:int fibonacci(int n){ if(n==0||n==1...
2019-07-09 15:30:29
381
原创 算法和数据结构——堆
预备知识:完全二叉树所有结点深度相同,且所有内部结点都有两个子结点的二叉树称为完全二叉树(Complete Binary Tree)。同时,二叉树的结点深度最大差距为1,最下层叶子都集中在该层最左边的若干位置上,这种二叉树也是(近似)完全二叉树。设结点数为n,那么完全二叉树的树高则为。利用这性质,我们可以高速地管理数据。二叉堆如果一个完全二叉树各节点键值与一数组的各元素具有对应...
2019-07-08 15:54:16
137
原创 算法和数据结构——二叉树搜索
搜索树是一种可以进行插入、搜索、删除等操作的数据结构,可以用作字典或优先队列。二叉树搜索是最基本的搜索树。二叉搜索树(Binary search tree)的性质:设x为二叉搜索树的结点。如果y为x左子树中的结点,那么y的键值≤x的键值。另外,如果z为x右子树中的结点,那么x的键值≤z。二叉搜索树——插入二叉搜索树的结点#include<bts/stdc++.h&...
2019-07-07 15:47:07
220
原创 算法和数据结构——树
树是一种用于表达层级结构的数据结构。软件开发中,常用树结构来抽象表达文档、组织结构图、图形图像等结构。关于树结构本文讨论:有根树、二叉树。有根树:根(root)是唯一一个没有父结点的结点。我们将没有子节点的结点称为外部节点(external node)或者叶节点(leaf)。除叶结点以外的结点称为内部节点(internal node)。有根树T中结点x的子结点数称为x的度(degree...
2019-07-07 12:50:40
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人