- 博客(222)
- 收藏
- 关注
原创 Oracle基础-查询
查询基本查询语句在SQL*PLUS 中设置格式字段设置别名运算符和表达式模糊查询 - LIKE范围查询查询结果排序基本查询语句SELECT [DISTINCT] column_name1,… FROM table_name [WHERE conditions];在SQL*PLUS 中设置格式COLUMN column_name HEADING new_name;例子:COLUMN us...
2019-09-23 21:41:19
219
原创 Oracle基础-约束
约束约束非空约束主键约束外键约束唯一约束检查约束小结约束概念:设置输入值需要满足的要求定义规则:设置字段的规则确保完整性:数据的精确性和可靠性,防止错误或者无效的信息非空约束创建表时设置非空约束CREATE TABLE table_name(column_name datatype NOT NULL,xxx);修改表时添加非空约束ALTER TABLE table_name ...
2019-09-23 17:44:55
203
原创 Oracle基础-管理表与操作表数据
管理表与操作表的数据认识表表字段的数据类型认识表基本存储单位二维结构行(记录)和列(域或者字段)约定每一列数据必须具有相同的数据类型列名唯一每一行数据的唯一性表字段的数据类型字符型CHAR(n)、NCHAR(n)NCHAR是按照Unicode格式存放数据CHAR的n最大值为2000、NCHAR的n最大值为1000VARCHAR2(n)、NVARCHAR2(...
2019-09-23 00:31:18
228
原创 Oracle基础-用户和表空间
用户和表空间系统用户登录Oracle查看登录用户启用scott用户表空间概述查看用户表空间创建表空间修改表空间修改数据文件删除表空间系统用户登录Oracle1、系统用户sys,system:sys权限大于system,并且sys需要用管理员权限登录。sysman:操作企业管理器scott前三个用户在安装时候已经设置了,而scott默认密码是tiger2、使用system用户登录...
2019-09-21 23:18:43
265
原创 waiting(TTFB)时间过长,记录解决过程
【问题】今天在网站监测到网站打开时的速度很慢。 【排查过程】 浏览器的开发者工具中(一般是F12快捷键)的Network中栏目下看到,加载一些静态资源耗费的时间比较少, 仅在首次连接时时间过长,未解决前连接时间长达10s。 如下图(这是解决后的时长) 【解决过程】 网站使用的是php去写,清除掉Application下的Runtime目录下的所有文件,然后重启php即可。...
2018-08-24 18:15:01
4634
原创 【最小生成树】原理和代码实现
最小生成树(Minimum Spanning Tree)对于一个给定的连通的无向图 G = (V, E),希望找到一个无回路的子集 T,T 是 E 的子集,它连接了所有的顶点,且其权值之和为最小,我们把他称为【最小生成树】。 性质(1)最小生成树不是唯一,但最小生成树的权值是唯一。算法(1)克鲁斯卡尔(Kruskal)算法 俗称“加边法”,算法复杂度:O(ElogV),其中...
2018-05-22 16:50:37
7885
1
原创 【带权并查集】理论和应用
这篇文章主要讲解带权并查集的理论、设计和实践。理论并查集本质这和以往的并查集模型不太一样。并查集的数据结构使用数组实现时,那么数据结构的本质的是一个含有多棵树的森林。下图是普通并查集的连接情况。并查集连接方式每一颗树本身代表其所有结点是在同一集合内,连接整个集合是通过数组的下标代表当前结点的序号,相应数组的值代表其父结点的序号的方式,这样的连接不带有其他关系带权...
2018-05-20 02:18:51
1109
5
原创 【并查集】POJ 1733 Parity game
POJ 1733 : Parity game 若x, y之间1的个数为【偶】数个, 那么[1,x) 与[1,y]中1的个数【同】奇偶性。 若x, y之间1的个数为【奇】数个, 那么[1,x) 与[1,y]中1的个数【异】奇偶性。 我们可以将其理解为若输入x, y, even, 即x, y属于同种, 反之则属于不同种。 由于题目给出的区间是闭区间[x,y],我们需要处理成[...
2018-05-17 11:40:22
186
原创 【并查集】POJ 2912 Rochambeau
POJ 2912 : Rochambeau题意 n个小朋友进行石头剪刀布的游戏,n个小朋友分为3组,每组里面的人出的手势都是一样的。但是其中有一个裁判,裁判可以出任意的手势。如果只有一个裁判则输出最迟在第几行能看出玩家几是裁判,如果有多个可以出任意手势的则输出Can not determine,如果没有裁判则输出Impossible。思路 这里实际上是应用了带关系的并...
2018-05-16 16:49:17
186
原创 【并查集】POJ 2492 :A Bug's Life
POJ 2492 : A Bug’s Life 编号1~n的Bugs,给出不同性别的m对,证明是否有同性恋的Bugs。 可以看出题目是含有关系的并查集,将1~n归为男性,n+1~2 * n为女性。 当查询Find(x) == Find(y)时,证明含有错误的列表,则输出Suspicious bugs found!, 否则则合并x,y(Union(x,y + n),Unio...
2018-05-16 13:41:26
189
原创 【并查集】POJ 1703 Find them, Catch them
POJ 1703 : Find them, Catch them 有两大帮派,现在不知道每个人的帮派情况。有两种操作,D x y 表示x和y在不同帮派,A x y查询x和y的帮派情况。 如果在同一帮派,输出In the same gang. 如果不在同一帮派,输出In different gangs. 不确定帮派情况则输出Not sure yet.这里是POJ 11...
2018-05-15 18:26:37
145
原创 【并查集】POJ 1182 食物链
POJ 1182 : 食物链 由于题目中的N个动物都是A,B,C三类中的其中一种。题目有两种操作方式,【1】”1 X Y”,表示X和Y是同类,这个操作就是并查集中的【并】操作,【2】”2 X Y”,表示X吃Y,这个操作实际上是维护了森林中树之间的关系(类似有向图,此时树类比成一个顶点)。题目求这两个操作不成功的个数,假设为ans。问题拆分 【1】进行1 X Y表示X和Y是同类...
2018-05-15 15:53:35
346
原创 【并查集】练习题以及解答
核心代码(C++版本)const int MAXNUM = 500000 + 10;int id[MAXNUM];int Size[MAXNUM];int Count;// 初始化void make_set(int n){ for(int i = 0 ; i < n; i++){ id[i] = i; Size[i] = 1; ...
2018-05-11 17:58:51
1067
转载 并查集(Union-Find)算法介绍
原文链接:http://blog.jobbole.com/108359/本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出一些思路上的过程,即为什么要使用这个方法,而不是别的什么方法。我觉得...
2018-05-11 11:36:48
255
原创 POJ 1845 【数论】
题目链接:POJ 1845题意 求ababa^b的所有约数之和,最终结果对9901求模需要知识 1、快速幂:二分法求nmnmn^m的结果 2、因数分解:遍历求出所有因数 3、约数和定理:假设n=p1a1∗p2a2∗...pnanp1a1∗p2a2∗...pnan{p_1}^{a_1} * {p_2}^{a_2} * ...{p_n}^{a_n}, 其中pipi...
2018-05-10 10:16:38
196
原创 第十九章 ALDS1_13_C:15 Puzzle 十六格拼图
知识点 迭代加深:在循环执行深度受限搜索的过程中逐步增加限制值limit,直到找到解为止。 如果当前状态到最终状态的最小成本h加上当前状态深度超过了限制深度d,就可以直接中断搜索。问题链接ALDS1_13_C:15 Puzzle问题内容 求当前16宫格如何移动成目标的16宫格。思路 用A*或者IDA* 算法实现代码IDA*算法#include<iostream> #in
2018-01-05 00:21:23
690
原创 第十九章 ALDS1_13_B:8 Puzzle 九宫格拼图
问题链接ALDS1_13_B:8 Puzzle问题内容 求当前9宫格如何移动成目标的9宫格。思路 同样使用回溯的方法去做。代码#include<iostream> #include<cstdio> #include<algorithm>#include<queue>#include<map>#include<string>using namespace std;con
2018-01-04 22:20:05
475
原创 第十九章 ALDS1_13_A:8 Queens Problem 八皇后问题
知识点 八皇后问题比较多解法,这里说的是最简单的回溯解法。问题链接ALDS1_13_A:8 Queens Problem问题内容 在8*8的国际象棋棋盘里,有k个皇后已经放好了,皇后会将她的这行、这列、左右斜边上的其他棋子攻击,问如何将8个皇后放到8*8的棋盘保证她们互相不攻击。思路 我们用递归的方式去尝试,在递归完成后若不成功,则恢复原来的状态继续尝试其他的递归。代码#inclu
2018-01-04 21:54:12
564
原创 第十八章 数论
问题链接ALDS1_1_C:Prime Numbers 判断n是否是质数#include #include using namespace std;int isPrime(int x) { if (x 2) return 0; else if (x == 2) return 1; if (x % 2 ==
2018-01-04 21:28:43
310
原创 第十七章 DPL_3_B: Largest Rectangle 最大长方形
问题链接DPL_3_B: Largest Rectangle问题内容 求最大的干净面积。0代表干净,1代表有污渍。和上一不同的是,这个题目面积可以是长方形的。思路 首先通过以行为直方图,以行为第一遍历,纵向记录每个点当前的最大面积。然后从行向开始动态规划。 利用栈实现。如果栈为空,将当前元素压入栈中。如果栈顶元素的高度(上面一步计算出来的纵向最大面积)小于当前的高度,则压入栈中。如果
2018-01-04 21:27:45
338
原创 网址的url编码解码讲解
问题这是某个网站url的编码,也就是网址所显示的字符。 %E8%AF%84%E8%AE%BA%E7%AE%A1%E7%90%86 原来的内容是 评论管理 原理说明这实际上是url的字符进行encode编码操作,想知道原来的内容是什么则将其decode解码即可。 如评论管理进行encode编码操作变成%E8%AF%84%E8%AE%BA%E7%AE%A1%E7%90%86, %E8%AF%
2018-01-04 17:39:42
1682
原创 二叉堆
参考:二叉堆堆的定义 堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质: [性质一] 堆中任意节点的值总是不大于(不小于)其子节点的值; [性质二] 堆总是一棵完全树。 将任意节点不大于其子节点的堆叫做最小堆或小根堆,而将任意节点不小于其子节点的堆叫做最大堆或大根堆。常见的堆有二叉堆、左倾堆、斜堆、二项堆
2018-01-03 18:26:29
431
原创 jsoup解析html的简单demo
jar包下载jsoup1.10.1文档参考jsoup中文api测试说明 本例使用全球国家名称代码这个网站进行测试,将网站列表中的各国家的“二位字母”的内容获取并打印出来。 代码import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.s
2018-01-02 12:04:33
484
原创 第十七章 DPL_3_A:Largest Square 最大正方形
问题链接DPL_3_A:Largest Square问题内容 在H*W个边长为1cm的正方形瓷砖,0代表瓷砖有污渍,1代表瓷砖干净。求干净的最大正方形。思路 dp[i][j]代表从瓷砖(i,j)向左上方扩展可形成的最大正方形。 dp[i][j] = min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1]) + 1代码#include<iostream> #
2018-01-01 16:49:17
374
原创 第十七章 DPL_1_D:Longest Increasing Subsequence 最长递增子序列
问题链接DPL_1_D:Longest Increasing Subsequence问题内容 求序列A的子序列中递增序列最长的长度。思路 LCS问题,不懂的点这里最长递增子序列代码#include<iostream> #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using
2018-01-01 15:48:09
242
原创 第十七章 DPL_1_B:0-1 Knapsack Problem 0-1背包问题
问题链接DPL_1_B:0-1 Knapsack Problem问题内容 求价值为viv_i、重量为wiw_i的N个物品以及容量为W的背包最多能装的最大价值。思路 基础的01背包问题,不懂的点这里0-1背包代码#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namesp
2018-01-01 15:42:14
306
原创 第十七章 DPL_1_A:Coin Changing Problem 硬币问题
问题链接DPL_1_A:Coin Changing Problem问题内容 对于m个面值不同的硬币,求凑成面值为n最少需要多少个硬币。思路 这题不是贪心算法范畴内,这是动态规划相关的问题。 状态转移方程式: T[i][j]=min(T[i−1][j],T[i][j−C[i]]+1)T[i][j] = min(T[i-1][j], T[i][j - C[i]] + 1) T
2018-01-01 15:34:24
402
原创 第十六章 CGL_6_A:Segment Intersections: Manhattan Geometry 线段相交问题
知识点 扫描线:将一条与x轴(或y轴)平行的直线向上(向右)平行移动寻找交点的直线。平面扫描算法: 1、将已输入线段的端点按照y升序排序,添加到表EP 2、将二叉搜索树T置为空 3、按顺序取出EP的端点(相当于让扫描线自下而上移动),进行以下处理如果取出的端点是垂直线段的上端点,则从T中删除该线段的x坐标如果取出的端点是垂直线段的下端点,则将该线段的x坐标插入到T如果取出的端点是垂
2018-01-01 15:07:03
455
原创 第十六章 计算几何模版
模版#define EPS (1e-10)#define equals(a,b) (fabs((a) - (b)) // 点类class Point {public : double x, y; Point() {}; Point(double x, double y) :x(x), y(y) {} Point operator + (Poin
2018-01-01 03:02:38
339
原创 第十五章 GRL_2_A:Minimum Spanning Tree 最小生成树
知识点 我们在第十三章时候讲过最小生成树,我们用的prim算法和邻接矩阵,现在这个题目是顶点数量比较多的情况,所以我们需要使用新的算法。 kruskal算法 1、将图G=(V,E)的边eie_i按照权值升序排列。 2、设最小生成树的边的集合为K,并将其初始化为空。 3、在保证K⋃eiK \bigcup e_i不出现环的前提下,按照i=1,2,…|E|的顺序将eie_i添加
2017-12-31 13:53:54
320
原创 第十五章 GRL_5_A:Diameter of a Tree 树的直径
知识点 直径:树的最远结点间的距离问题链接GRL_5_A:Diameter of a Tree问题内容 求出树的直径思路 1、任选一结点s,求到s最远的结点x 2、求到x最远结点y 报告结点x与结点y的距离,即树的直径代码#include <iostream>#include <cstdio>#include <vector>#include <queue>us
2017-12-31 13:29:50
326
原创 第十五章 GRL_3_A:Articulation Points 关节点
知识点 关节点:在图G中,如果删除顶点u以及从u出发的所有边后得到的子图不能连通,则顶点u是图G的关节点,也称为割点。问题链接GRL_3_A:Articulation Points问题内容 求出图G的关节点思路利用tarjan算法 代码参考:tarjan算法代码#include<cstdio>#include<vector>#include<algorithm>using nam
2017-12-31 13:01:25
637
原创 第十五章 GRL_4_B:Topological Sort 拓扑排序
问题链接GRL_4_B:Topological Sort问题内容 求有向图的拓扑排序思路 利用广度优先搜索或者深度优先搜索都可以遍历。代码广度优先搜索#include <iostream>#include <cstdio>#include <vector>#include <queue>#include <list>#include <algorithm>using name
2017-12-31 02:21:59
272
原创 第十五章 GRL_1_C:All Pairs Shortest Path 所有点对间最短路径
知识点 负环:所有边的权值之和为负 弗洛伊德(Warshall-Floyd)算法条件 不包含负环的图执行步骤 设Di,j,kD_{i,j,k}为从ii到jj的只以(1..k)(1..k)集合中的节点为中间節点的最短路径的长度。 若最短路径经过点k,则Di,j,k=Di,k,k−1+Dk,j,k−1D_{i,j,k}=D_{i,k,k-1}+D_{k,j,k-1}; 若最短路径不经
2017-12-31 01:34:05
1560
3
原创 第十四章 DSL_2_C:Range Search (kD Tree) 范围搜索
知识点 范围搜索:从拥有多个属性的报表集合(数据库)中,寻找具有特定属性且位于指定范围内的元素。问题链接DSL_2_C:Range Search (kD Tree)问题内容 求出矩阵区间内的点的个数思路 构建二维的二叉搜索树,利用深度奇偶性区分x,y的维度去搜索,对于当前的范围如果在搜索的范围则加入到数组中,不然就拆开范围往下遍历。代码#include <iostream>#in
2017-12-31 00:56:52
607
原创 第十四章 DSL_1_A:Disjoint Set: Union Find Tree 并查集
知识点 并查集(Disjoint Sets):用互质集合(一个元素不同时包含于多个集合的集合)对数据进行分类管理的数据结构,包含的操作:makeSet(x):创建仅包含元素x的新集合findSet(x):求包含元素x的集合的代表元素(representative)unite(x,y),合并指定的元素x,y - 在并查集中,查询指定两个元素x,y是否包含于同一集合的操作称为Union F
2017-12-31 00:55:37
308
原创 第十三章 ALDS1_12_C:Single Source Shortest Path II 单源最短路径
问题链接ALDS1_12_C:Single Source Shortest Path II问题内容 求出顶点0到各边的最短路径思路 由于n比较大,所以需要用vector来处理数组,同时每条边都有权值,所以用vector代码#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <v
2017-12-31 00:54:35
865
原创 第十三章 ALDS1_12_B:Single Source Shortest Path I 单源最短路径
知识点 最短路径:对于加权图G=(V,E)中,求给定顶点s、d之间各边权值总和最小的路径。 单源最短路径(Single Source Shortest Path,SSSP):在图G中,求给定顶点u到其他所有顶点did_i之间的最短路径 全点对间最短路径(All Pairs Shortest Path ,APSP):在图G中,求任意两个顶点之间的最短路径dijkstra算法初始化状
2017-12-31 00:53:40
863
原创 第十三章 ALDS1_12_A:Minimum Spanning Tree 最小生成树
知识点树是没有环的图在树中,任意顶点r和顶点v之间必然存在着1条路径生成树:拥有图G的所有顶点,并且在保证自身是树的前提下拥有尽量多的边。最小生成树(MST):个边权值总和最小的生成树普里姆算法 设图G(V,E)所有顶点的集合为V,MST中的顶点的集合为T。从G中选取任意顶点r作为MST的根,将其添加到T。循环执行下述处理,直到T=V。在连接T内顶点与V-T内顶点的边中选取权值最小的
2017-12-30 16:18:52
652
原创 第十二章 ALDS1_11_D:Connected Components 连通分量
知识点 连通分量:连通性未知的图G,其极大连通子图即为G的连通分量。问题链接ALDS1_11_D:Connected Components问题内容 求出两个人能不能通过他们的朋友互相认识对方。思路 用广度优先搜索或者深度优先搜索计算全部人两两之间能不能称为朋友。利用连通分量的性质去将每个不同分量标记为不同的数字即可。代码#include <iostream>#include <c
2017-12-30 15:57:04
912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人