自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Enstein_Jun

与其等待未来,不如创造未来

  • 博客(74)
  • 资源 (5)
  • 收藏
  • 关注

原创 比赛模板(持续更新中)

1、数据结构(1)线段树单点更新#include #include #include #include #include #define MAXN (1<<19)using namespace std;int segTree[MAXN];void update(int i, int lft, int rht, int index, int deta){ if(l

2016-04-26 21:55:38 4710

转载 图论500题

=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree? 基础并查集★1856 More is better

2015-08-12 08:31:21 19581 11

原创 django model (models.E012) 'unique_together' refers to the non-existent field

    今天,在使用django model建表的过程中,遇到一个诡异的bug,django一直给我提示(models.E012) 'unique_together' refers to the non-existent field。我一直没明白,错误代码如下class Test(models.Model): index = models.IntegerField score = ...

2018-04-20 15:59:16 3447

原创 Mac下使用brew安装软件(ffmpeg)

brew install ffmpeg --with-fdk-aac–with-fdk-aac (Enable the Fraunhofer FDK AAC library)–with-ffplay (Enable FFplay media player)–with-freetype (Build with freetype support)–with-frei0r (Build w...

2018-04-17 19:05:52 6701

原创 获取C++数组长度小技巧

    利用C++的泛型编程,我们可以想到一个获取数组长度的小技巧。代码如下:#include &lt;iostream&gt;typedef unsigned array_size;template &lt;typename Type, array_size length&gt;array_size array_length(const Type (&amp;arr)[length]){...

2018-03-12 10:33:06 821

原创 求平均值,防止溢出(只针对整数)

       今天看到有人讨论C/C++中求平均数溢出的问题。于是我便仔细的思考并查找相关资料。我们很容易发现 (a +b) / 2, 溢出的来源是加法可能产生进位运算,那么我们只要想办法避免进位运算就可以了。       因为要避免进位我们很自然的就可以想到位运算。我们可以将a, b分为两个部分(从二进制的角度来看),一个是相等的公共部分,另一个则是不相等的部分。我们可以发现计算平均数的进位主要...

2018-03-09 09:12:22 2759

原创 C++委托构造函数

    在c++11中有一个新特性,就是委托构造函数。委托构造函数可以使用当前类的其他构造函数来帮助当前构造函数初始化。换而言之,就是可以将当前构造函数的部分(或者全部)职责交给本类的另一个构造函数。    我们先看看委托构造函数与普通构造函数的相同点与不同点。相同点: 两者都有一个成员初始值列表与一个函数体不同点: 委托构造函数的成员初始值列表只有一个唯一的参数,就是构造函数(...

2018-02-20 22:20:11 5923 1

原创 C++ const成员函数

我们在写c++类或者阅读一些c++代码的过程中, 我们会遇到这种情形:我们会发现在成员函数的形参列表之后还紧跟一个const, 但是对其的含义一知半解。#include #include class Case{public: Case(char *s):content(s){} void test_const() const{ std::cout

2018-01-31 20:24:48 464

原创 window下控制台编码设置

使用window的同学,应该经常能够感受到控制台编码的问题. 简直苦不堪言啊,控制台里就是没有utf8的选项, 只要源文件一旦是utf8编码, 中文就over了.笔者几经波折, 总算找到了解决的方法.1. win+R打开运行窗口, 输入regedit,  点击确定. 如图所示:之后应该会转入,这个界面:2. 打开HKEY_CURRENT_USER 找到Console,

2017-05-06 14:30:43 4439

转载 PHPExcel类库的使用说明

下面是总结的几个使用方法include 'PHPExcel.php';include 'PHPExcel/Writer/Excel2007.php';//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的创建一个excel$objPHPExcel = new PHPExcel();保存excel—2007格式$objWri

2017-03-07 17:32:03 876

原创 ubuntu server 14.04搭建WordPress(PHP + Apache + MySQL环境)

有一段时间没写博客,最近有些时间就一点点的补吧。之前写了一篇window下的环境配置,现在再来一发Linux下的。不得不说,Linux太方便了。几条命令就能搞定,下面我们具体介绍下,使用那些命令。Apache的安装首先,我们通过一下命令,安装apache2(如果是root权限,则不需要sudo)sudo apt-get install apache2这条命令安装完成之后,我们可以使用这条命令,查看...

2017-01-19 21:03:37 2203

原创 win10 搭建PHP + Apache + MySQL运行环境

PHP安装1、到官网下载适合自己电脑的PHP版本(PHP官网),我教程示例的版本是php-5.5.37-Win32-VC11-x862、根据自己的寻求下载对应的版本,下载完成之后。将它解压到你要安装的目录下(比如,我解压在D:\DevelopmentTools\PHP目录下)3、在解压的根目录(比如,我的根目录为D:\DevelopmentTools\PHP)下找到文件php.ini-

2016-07-31 17:53:00 17516

原创 差分约束系统

差分约束系统,一听这个名字,顿时觉得好高大上。其实并不是这样,那么什么是差分约束系统呢?简单来说就是,给你一堆诸如:x - y 1、差分约束系统现在我们给出一个标准的查分约束的定义。如果一个系统由n个变量和m个约束条件组成,形成m个形如xi-xj≤bk的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即

2016-05-02 11:46:05 864

原创 Dijkstra应用之次短路

我们都知道Dijkstra算法是求解单源最短路的算法。那么现在我们问题不在是最短路了,而是次短路(第二短的路径)。我们现在还能使用DIjkstra算法吗?当然了,你看到这篇博客的名字就知道了。其实一开始我也没想到用Dijkstra来求解次短路问题,在看《挑战程序设计竞赛》的时候看到这种解法,感觉特别神奇,于是来和大家分享分享。        那么我们现在先回忆下Dijkstra是怎么求解最短路

2016-04-29 21:31:22 9191 4

原创 划分树

对于区间第k大值,除了我们之前介绍的归并树之外。现在要登场的数据结构将比归并树的效率更高,他就是划分树。我们学习归并树的时候了解到:归并树 = 线段树 + 归并排序。那么我们今天要介绍的划分树就是:线段树 + 快排。要说有什么不同的,那就是归并树是从有序到无序,而划分树是从无序到有序。1、划分树的定义        给定一序列a[1...n],sorted[1...n]为序列从小到大的排列

2016-04-26 21:18:09 3661 3

原创 归并树(POJ 2104 K-th Number)

在求解区间第k个数的问题,除了划分树以外我们还可以使用另一种高效的方法 ------ 归并树。所谓归并树,就是利用线段树的建树过程,将归并排序的过程保存。在发生地方的发生的

2016-04-20 21:13:11 4307

原创 归并排序

在说明归并排序之前,我们先看看这样的一个问题:给出两个序列Ln1,Rn2(Ln1,Rn2都为非递减序列)。现在问题是,让你将Ln1和Rn2合并为一个非递减序列。         我们稍微一分析,容易写出下列代码:void merge(int *L, int n1, int *R, int n2, int *arr){ int i = 0, j = 0, k = 0; whi

2016-04-19 23:20:15 863

原创 线段树区间更新

在此我们之前学习了线段树的单点更新(点我)。但是现在我们遇到一个这样的问题:给出一个n个元素的数组A1,A2,...,An。我们总共进行m次操作。每次操作为下列两种操作其中一种:1、Add(L, R, v): 将A(L), A(L+1),...,A(R)的值全部增加v。2、Query(L, R): 计算子序列A(L), A(L+1),...,A(R)的元素和,最小值和最大值。注意:A(L

2016-04-11 20:24:54 3340

原创 动态规划---01背包与记忆化搜索

动态规划是一种高效的算法。在数学和计算机科学中,是一种将复杂问题的分成多个简单的小问题思想 ----  分而治之。因此我们使用动态规划的时候,原问题必须是重叠的子问题。运用动态规划设计的算法比一般朴素算法高效很多,因为动态规划不会重复计算已经计算过的子问题。因为动态规划又可以称为“记忆化搜索”。        01背包是介绍动态规划最经典的例子,同时也是最简单的一个。我们先看看01背包的是什么

2016-04-09 15:00:13 4143 3

原创 云虚拟主机+WordPress搭建个人博客(图文)

        很久之前就想直接搭建一个个人博客,之前使用HEXO+Github试过发现太繁琐了,而且还不是很好用(估计是我太菜了)。在前一段时间无意中看云虚拟主机,感觉就像发现新大陆啊(原谅我的无知)。于是就学会了傻瓜式搭建个人博客的方法,特此记录。1、注册虚拟主机        我的虚拟主机用的是阿里云免费版的(传送门),当然你也可以选择其他空间提供商。当然因为安装的是WordPres...

2016-04-09 11:32:13 13123 4

原创 Qt 连接Mysql win10

这个绝对是个大坑啊,都说Qt5.5自带了mysql的驱动。的确是带mysql 的驱动,可是他还是QSqlDatabase: QMYSQL driver not loaded。于是我们还是老实的自己编译吧。1、首先安装好mysql(不会安装的点我,安装32位的mysql,不要问我什么,因为这是坑)和qt。注意:mysql 的 安装路径中不能有空格,别问我为什么,因为Qt不让有空格啊。2、

2016-03-12 10:50:45 1992 3

原创 qt for Android 环境搭建 win10

1、到官网(点我)下载qt-opensource-windows-x86-android-5.5.1(版本都行)。2、下载完成之后,安装qt(根据需求安装,要是不知道,那就全选)3、安装完成之后,我们打开Qt,在菜单栏上:工具 -> 选项 -> Android:点击旁边的小箭头就可以直接下载了,或者点我(百度网盘)。安装完成之后,如上图将目录放入,点击OK,重启Qt。4、点

2016-03-12 10:18:18 2115

原创 Mysql 5.7免安装版配置 win10

1、  百度mysql官网或者点我,下载mysql免安装版:    2、 选择根据你的实际情况选择32位或者64位。下载完成之后,将它解压到你要安装的目录下。(比如:我解压在D:\DevelopmentTools\mysql\Sever)      将根目录下的my-default.ini,改名为my.ini,my.ini用下面内容替换(将根目录替换为自己解压的根目录)[cli

2016-03-12 09:47:08 8145 1

原创 矩阵的运算 --- 倍增法(UVA11149 - Power of Matrix)

昨天我们介绍了矩阵的快速幂(点我),相信大家对于矩阵快速幂都有一定的了解。大家也就知道快速幂对于幂运算的迅速,但是当出现了这样的问题:        我们就会发现即便矩阵快速幂再快,我们计算和我们都是O(n)的算法。那么在这个问题上,我们研究问题的重心就从矩阵的幂,转化为了矩阵幂的和。光看这个好像也想不出什么,那么我们换一个角度来思考这个问题。我们现在是要让计算变得更快,对吧?那么怎么样才

2016-03-08 10:00:37 2531 2

原创 矩阵的运算 --- 矩阵快速幂(UVA10689 - Yet another Number Sequence)

我们向大家介绍了快速幂取模(点我),大家对快速幂都有了一定的了解。由此我们产生了一个想法,既然数值能够使用快速幂来提高幂运算的效率,那么同理矩阵也行。于是引出我们今天要介绍的“矩阵快速幂”。       我们在学习数值的快速幂的时候,代码是这样的:typedef long long ll; ll mod_pow(ll x, ll n, ll mod){ ll res = 1;

2016-03-07 13:22:54 2267

原创 最短路之单源最短路

在学习图论的过程中,最短论问题是比较常见且又具有代表性的一类问题。最短路是给定两个定点,在以这两个点作为起点和终点的路径中,边的权值和最小的路径。在实际生活中,最常见的最短路问题,就是在地图导航上应用。比如我们把权值作为距离,那么我们就可以求得A到B的最短路径。如果时间作为权值,那么我们就可以得到A到B的最短时间。1、Bellman-Ford算法         单源最短路问题就是将起点固

2015-12-23 10:41:05 4527

原创 心情贴【2015-11-5】

这篇博客本来10.29就想写了,无奈因为我的一个陋习(一看小说就停不下来了),所以一直留到了今天。现在也要开始反思反思。          时光荏苒,成为一个acmer都一年了。但是可笑的是,现在和以前相比竟然没什么长进。来CSDN也1年了,但是却没怎么写文章。感觉这一年过得听颓废的。acmer这一块,感觉自己可能有些功利了,或许又是有些急了。现在其实自己心里也挺矛盾,一来现在什么都不会,而来

2015-11-05 12:43:17 796

原创 最小生成树之Prim算法

普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克发现;并在1957年由美国计算机科学家罗伯特·普里姆独立发现;1959年,艾兹格·迪科斯彻再次发现了该算法。因此,在某些场合,普里姆算法又被称为DJP算法、亚尔尼克算法或普里姆-亚尔尼克算法。

2015-08-23 07:28:33 12501

原创 最小生成树之Kruskal算法

给定一个无向图,如果它任意两个顶点都联通并且是一棵树,那么我们就称之为生成树(Spanning Tree)。如果是带权值的无向图,那么权值之和最小的生成树,我们就称之为最小生成树(MST, Minimum Spanning Tree)。        我们由最小生成树的定义,可以延伸出一个修建道路的问题:把无向图的每个顶点看作村庄,计划修建道路使得可以在所有村庄之间通行。把每个村庄之间修建

2015-08-18 08:12:47 151161 26

原创 二叉搜索树(Binary Search Tree)

1、什么是二叉搜索树       二叉搜索树(Binary Search Tree)是一棵有序的二叉树,所以我们也可以称它为二叉排序树(不知道二叉树的童鞋,先看看二叉树:传送门)。具有以下性质的二叉树我们称之为二叉搜索树:若它的左子树不为空,那么左子树上的所有值均小于它的根节点;若它的右子树不为空,那么右子树上所有值均大于它的根节点。它的左子树和右子树分别也为二叉搜索树。2、二叉搜索树的结

2015-08-10 06:50:06 1988

原创 STL 之 优先队列(priority_queue)

1、什么是优先队列       能够完成下列两种操作的数据结构,我们便称之为优先队列。       ①插入一个数值    ②取出最大(或者最小)的数值(获取数值,并且删除)。       从严格意义上来说优先队列,并不是队列,因为它并不遵循队列的FIFO(先进先出的原则)。2、实现优先队列      我们可以使用一种叫做“堆(heap)”的数据结构来实现优先队列。堆有一个重要的

2015-08-10 06:48:29 11650 1

原创 数据结构 -- 并查集

1、什么是并查集       并查集是一种用于管理分组的数据结构。它具备两个操作:(1)查询元素a和元素b是否为同一组   (2) 将元素a和b合并为同一组。注意:并查集不能将在同一组的元素拆分为两组。2、并查集的结构      并查集可以使用树来实现。

2015-08-10 06:46:02 20897 3

原创 《C#高级编程》【第八章】委托、lambda表达式和事件 -- 学习笔记

委托是一个神奇的东西。委托的出现,使得方法可以作为参数进行传递。其中我们接触最多的应该就是通用库类。通用库类,正是由于这种机制才实现了其的通用性。一、普通委托        委托类由关键字delegate来声明。我们先看看,定义一个委托类的语法:

2015-07-29 09:53:18 3199 6

原创 《C#高级编程》【第7章】运算符与类型强制转换 -- 学习笔记

运算符编程语言的基本元素,它使得我们的代码更加的简洁明了。然而我们为了解决操作数类型不同的问题,我们又有引入了强制转换的概念。我们先看看本章的内容构成吧。1、运算符我们来看看一些常见的运算符:条件运算符其语法如下:Condition ? true_Expression : false_Expression当条件Condition为真时,其将执行t

2015-06-22 08:19:54 2788 3

原创 《C#高级编程》【第六章】数组 -- 学习笔记

为了解决大量的同类型元素,于是数组就孕育而生了。数组是具有一定顺序关系的若干对象的集合体,一维数组可以看作是定长的线性表。反之,n为的数组可以看作线性表的推广。从存储结构上来看,数组是一段连续的存储空间。现在我们看看在C#中的数组:

2015-06-15 07:22:57 1378

原创 《C#高级编程》【第五章】泛型 -- 学习笔记

泛型是高级程序设计语言的一种特性。泛型的引入使得程序开发的效率得到提高,代码的重用性大大的提升。有了泛型,我们可以创建独立于被包含类型的类和方法,我们不必给不同的类编写功能相同的很多方法或者类,只创建一个方法或类就可以了。现在我们看看泛型的优点       性能上,泛型不需要进行类型转换(也就是拆箱和装箱)。       类型安全,和Object类相比,Objec

2015-05-27 07:06:50 1751

原创 poj2975 Nim 博弈

自从省赛结束了,好久都做过博弈题了,感觉都快忘了。今天找了几题练练手,在做过程中,感觉这道题挺有意思的。题目的意思是说,在Nim游戏中,先手有几种方式让 Nim 和变为0。(不知道Nim游戏的,请参考:这里) 其实我觉得这道题就是披着博弈的外衣,然后来考查你异或运算符(^)的使用的。在做题之前,我们想要了解异或运算符(^)的一个重要的性质:现在我们有三个整数a, b, c: 我

2015-05-26 07:56:50 1500 2

原创 【第六届山东省ACM竞赛】B题 Lowest Unique Price(SDUT3252)

题目链接:Here       这一题是我今年省赛最大的遗憾啊。诶。。。想想就觉得伤心啊。这一题其实不难,但是比赛时,我已经先到了怎么做,但是由于鄙人的失误,结果导致我们队后两个小时的时间都耗在那里了。越想越觉得可惜啊。我们现在看看这题的思路吧。       这一题,貌似大多人都是有STL的set做的。其实,这一题可以用线段树做(不知道线段树的童鞋请移步:这里),而且还是简单的单点更新问题

2015-05-22 07:15:03 2084 4

原创 《C#高级编程》【第四章】继承 -- 学习笔记

计算机程序,在很大的程度上为了描述和解决现实问题。在面向对象语言中的类很好的采用了人类思维中抽象和分类的方法,类和对象的关系很好的反映了个体与同类群体的共同特征的关系。但是在诸多共同点之下还是存在着些许差异。于是面向对象语言中设计了继承机制,允许我们在保持原有类特性的基础上,进行拓展。由于类的继承和派生机制的引入,使得代码的重用性和可扩充性大大提高。利用这个机制我们还可以...

2015-05-20 08:36:50 1702

原创 《C#高级编程》【第三章】对象和类型 -- 学习笔记

在看过C++之后,再看C#的面向对象感觉就不难了,只是有一些区别而已。那么现在我们来看看什么是类。类是面向对象语言和面向过程语言最大的区别。然而抽象就是面向对象的基本方法。对于抽象我们一点都不陌生,因为抽象是人类认识问题的基本手段之一。抽象是指对具体问题进行概括,抽出一类对象的公共性质并加以描述的过程。一般一个问题的抽象应该包含两个方面:数据抽象和行为抽象。于是在面向对象语言,就引入了类的概念,所

2015-05-16 21:51:56 1101

Binary Bomb

CSAPP 的二进制炸弹试验, 用于锻炼学生对汇编, gdb的熟练程度

2018-01-27

csdn博客小爬虫python

将指定csdn账号下的所有博客下载到data文件夹下,以txt形式存储,文件名为博客名

2017-04-25

图的连通性问题

本课件主要讲解了并查集,割点和桥,强连通分量(Kosaraju, Tarjan)

2017-04-12

电脑操作系统的安装

ppt介绍多种电脑系统安装方法,另外还介绍了升级win10的方法

2016-01-03

第六届山东省“浪潮杯”ACM程序设计竞赛 试题

第六届山东省“浪潮杯”ACM程序设计竞赛 2015.5.10正式比赛的的试题

2015-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除