2 longlongqin

尚未进行身份认证

暂无相关简介

等级
TA的排名 21w+

LearnCpp-chapter1

title: LearnCpp chapter1top: falsetoc: trueauthor:name: longlongqinavatar: ‘https://cdn.jsdelivr.net/gh/longlongqin/CDN-for-HEXO_BLOG/photo.jpg’url: ‘https://www.longlongqin.top’categories: 学习...

2020-04-08 16:54:25

凸包总结

凸包的相关“test”测试一些定义:凸包[Convex Hull]:简单理解为将很多钉子围住的“皮筋”。极点(Extreme Point):有一个点集S。如果存在通过点P的直线L,使得点集S中除了点P之外的其他的点都在这个直线的同一侧,则这个点P就是极点(Extreme Points)。极边(Extreme Edge):两个极点连成的边,剩余的所有点均会在该边的一侧。To-Left TestTo-...

2020-03-22 22:40:26

hexo中插入pdf

法1:安装hexo-pdf插件法2:利用html语法:可以轻松设定尺寸why? 我的本地浏览成功。但在线上却是一片空白。希望只有我一个人是这样吧安装hexo-pdf插件hexo-pdfHexo tag for embeded pdfInstall1$ npm install --save hexo-pdfNormal PDFpdf链接1{% pdf http://7xov2f.com1.z0...

2020-03-21 18:44:50

Front-matter的规则

文章写作时,的front matter 的参数参数描述layout布局title标题date建立日期updated更新日期comments开启文章的评论功能tags标签(不适用于分页)categories分类(不适用于分页)permalink覆盖文章网址其中,分类和标签需要区别一下,分类具有顺序性和层次性,也就是说Foo,Bar不等于Bar,Foo;而标签没有顺序和层次。注意:每个冒号后面是有一个...

2020-03-16 17:28:46

构造凸包——Divide And Conquer

Graham Scan算法说明了凸包构造问题的下界O(nlogn)是可以达到的。其实O(nlogn)的算法远不止这一种,分治法就是一种能达到O(nlogn)复杂度的思想。在此引入运用分治思想的两种算法来构造凸包。归并排序与分治思想引入新算法之前依旧先来回顾一个经典排序算法:归并排序(merge sort)。归并排序的基本流程如下:算法分为两个阶段:分(divide)和归并(merge)。分的阶段将...

2020-03-15 15:34:50

构造凸包-Graham Scan法

Graham Scan算法的流程假设待处理点集S共有n个点。1、预处理预排序(presorting)Graham Scan首先要做的是一个预处理排序操作(presorting)。即找到某个基准点,然后将其余所有的点按照相对于基准点的极坐标排序。如下图:点的排序可以套用任意排序算法的框架,只是将排序对象由数值变为了平面上的点,而比较器改为to left test实现。如何找出第一个点:点1?以点1为...

2020-03-14 19:15:24

构造凸包-Jarvis March(Gift Wrapping)算法

回顾凸包构造算法:极点法、极边法和增量构造法,其复杂度分别为O(n^4^)、O(n^3^)和O(n^2^),效率经过优化已经大大提高了。接下来引入一种新的算法——Jarvis March,其复杂度也是O(n^2^),但是相较于增量构造在最好情况下效率是较高的。实现策略先想一下为何极边法复杂度高达O(n^3^)。实际上我们要对点集中所有边进行遍历,这需要n^2^复杂度,然后对每个边进行鉴别,又需要n...

2020-03-14 16:40:04

Lower Bound

Lower Bound从极点法的O(n^4^)复杂度,到极边法的O(n^3^),再到增量构造法和Jarvis March的O(n^2^),我们经历了将特定问题算法不断优化、降低复杂度的过程。那么还有比O(n^2^)更高效的算法吗?凸包构造算法的下界是什么?推广到一般情况,在计算模型固定的情况下特定问题的复杂度下界又是如何确定的?在计算模型固定的情况下特定问题的复杂度下界(lower bound)是...

2020-03-14 15:48:18

构造凸包-增量构造法

在引入新算法之前首先来回顾一下经典的算法思想:减治(decrease and conquer),注意不是分治(divided and conquer),二者稍有区别。简单来讲就是将问题划分为一个个简单的小问题,减而治之,逐个求解,最终就能得到整个问题的解。减治法的经典例子就是插入排序(insertion sort)。插入排序的过程可以归结成下图:排序的过程中将序列分为两部分:已排序部分(sorte...

2020-03-14 14:03:44

Convex Hull(凸包)

这山之高,就叫凸碧;山之低洼近水处,就叫作凹晶。这凸、凹二字,历来用的人最少,如今直用做轩馆之名,更觉新鲜,不落窠臼。欧拉公式简单介绍一下欧拉公式:虚数中:i^2^=-1 ; i=√(-1)其中θ为实数,i表示虚数中的虚数单位 i;欧拉恒等式:当θ=π时;几何学中的欧拉公式:V-E+F=2 【v:几何体的顶点数;E:边数;F:面数】凸包凸包:比如,我们有很多很多钉子钉在木板上面,然后用一个皮筋将这...

2020-03-14 01:20:27

Let’s Build A Simple Interpreter 7

前言原文链接:https://ruslanspivak.com/lsbasi-part7/之前的那几小结,我们都是把interpreter的代码和parser的代码混在一起,而且interpreter在parser识别出一个如加减乘除之类 的特定的语言结构(language construct)后,就会立刻对它进行求值。这种 interpreter 被称为 语法导向解释器(syntax-direc...

2020-03-13 11:22:00

Let's Build A Simple Interpreter part 1

英文原文链接:https://ruslanspivak.com/lsbasi-part1/前言为什么要你学解释器和编译器?这里你三条理由。 要写一个解释器或编译器,你必须同时用到很多技术。编写一个解释器或编译器会帮助 你提高这些技能并且成为一个更好的软件开发者。而且,你将学到的这些技能在开发任 何软件时都有可能用到,而不仅仅是解释器或编译器。 你确实想要知道计算机如何工作...

2020-03-12 17:31:39

3、布尔逻辑和逻辑门

计算机最早的是机电设备,一般使用十进制计数,比如用齿轮数来代表十进制。但是其实只用开/关两种状态已经足够表示信息了,将其称为二进制(Binary)。在计算机中,当电流流过时,为闭合状态,表示true(1),当没有电流流过时,为断开状态,表示false(0)。但是其实晶体管可以不只是开/关状态,还可以让不同大小的电流通过,一些早期电子计算机,通过对不同电流大小进行划分,可以使用三进制、五进制等等。但...

2020-03-10 13:54:48

Let’s Build A Simple Interpreter 4

原文链接:https://ruslanspivak.com/lsbasi-part4/在前面的文章中你学会了怎样识别和解释包含任意数量的加减操作的算术表达式,例如“7 - 3 + 2 - 1”。还学会了句法图以及它们如何被用来表示一门编程语言的语法。今天你将会学习解析(parse)和解释(interpret)包含任意乘除操作的算术表达式,例如“7 * 4 / 2 * 3”。在这篇文章中使用的是整数...

2020-03-10 13:30:53

计算几何-凸包

注:图片来源:邓俊辉老师的计算几何课程。欧拉公式简单介绍一下欧拉公式:虚数中:i^2^=-1 ; i=√(-1)1573819506389其中θ为实数,i表示虚数中的虚数单位 i;欧拉恒等式:当θ=π时;1573820164006几何学中的欧拉公式:V-E+F=2【v:几何体的顶点数;E:边数;F:面数】凸包凸包:比如,我们有很多...

2020-03-10 03:41:56

Let’s Build A Simple Interpreter 2

If you learn only methods, you’ll be tied to your methods. But if you learnprinciples, you can devise your own methods.原文地址:https://ruslanspivak.com/lsbasi-part2/这是第二个版本V2.0,第二个版本较第一个版V1.0,它可以做到:处理输入字...

2020-03-09 09:45:58

2、电子计算机

这个系列的课程还是值得大家去看一看的。这个系列的视频叫《计算机科学速成课》。虽然叫速成课,我们也要做到心中有数,它肯定不是让你看了这些内容你就什么都知道了。这是科普性的视频。这个视频都是被翻译好的,再次感谢这些翻译者。前言视频在B站上都有全集的,传送门:https://www.bilibili.com/video/av21376839在GitHub上的地址:https://github.com/1...

2020-03-08 11:45:50

Let’s Build A Simple Interpreter 1

为什么要你学解释器和编译器?这里你三条理由。要写一个解释器或编译器,你必须同时用到很多技术。编写一个解释器或编译器会帮助 你提高这些技能并且成为一个更好的软件开发者。而且,你将学到的这些技能在开发任 何软件时都有可能用到,而不仅仅是解释器或编译器。你确实想要知道计算机如何工作。一般解释器和编译器看上去都像魔法一样。但你不应 该对这些魔法感到舒服。你想要揭开解释器和编译器的神秘面纱,理解它们如何工作...

2020-03-08 04:43:11

Tsinghua_Online_Judge_练习

CG2017 PA1-1 Convex Hull (凸包)题目Description (描述)After learning Chapter 1, you must have mastered the convex hull very well. Yes, convex hull is at the kernel of computational geometry and serves as a f...

2020-03-04 17:29:00

Hexo-github搭建个人博客

前言持续更新….我的主题是yilia,然后效果大家可以看一下:https://longlongqin.gitee.io/我的是在windows操作系统上面,在其他的系统上面大同小异。也参考了很多文章及视频教程。主要参考的是:程序羊的视频:https://www.bilibili.com/video/av44544186?from=search&seid=1298162...

2020-03-03 22:59:20

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。