自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

永远保持谦卑好学

每个人都是通过努力去决定自己生活的样子

  • 博客(61)
  • 收藏
  • 关注

转载 海量数据处理 - (top K问题)

原文地址        前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。        先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大

2017-04-03 21:41:47 637

原创 深度优先搜索DFS

思路是尽可能地访问相邻顶点。设仍存在未搜索邻接边的顶点中最后一个被发现的顶点为v, 那么深度优先搜索就是对顶点v的邻接边递归地进行搜索。当v的边全部搜索完毕后,程序延发现v时所经过的边回归,继续搜索前一顶点。搜索一直持续到发现当前起点可到达的所有顶点为止。如果仍有顶点未被发现,则选择其中编号最小的一个作为新起点继续搜索。//用栈实现的深度优先搜索,OJ: AOJ,题号ALDS1_11_B#incl

2017-03-23 15:19:13 320

原创 矩阵链乘法

对于给定的n个矩阵形成的矩阵链M1,M2,M3,…,Mn,求计算乘积M1M2M3…Mn时进行最少次标量相乘的运算顺序,这类问题就称为矩阵链乘法问题(Matrix Chain Multiplication Problem)//O(n的三次方)#include <iostream>#include <algorithm>using namespace std;const int maxn = 1

2017-03-23 11:45:45 454

原创 快速查询区间最值——RMQ算法(线段树实现代码)

要求找出区间内的最大最小值的差。#include<stdio.h>#include<string.h>#include<math.h>#define lson l,m,p<<1#define rson m+1,r,p<<1|1#define Max(a,b) (a<b?b:a)#define Min(a,b) (a<b?a:b)#define INF 999999999/*线段树in

2017-03-23 11:35:19 490

原创 快速查询区间最值——RMQ算法(ST实现)

概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效的算法。当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂

2017-03-23 11:32:53 883

原创 C. Two strings-二分的威力,思路题

Educational Codeforces Round 17 C. Two strings 题意,给两个长度小于十万的字符串A、B,B删除连续的字符串后成为A的子串(不需要连续),求这最长子串,可能为空也可能为A本身。 **| 左边部分 || 删除部分 || 右边部分 |**左边部分、右边部分可能为空,其实就是前后缀,先求出B各个前缀需要A前缀的长度,再求

2017-01-31 21:10:05 1155 1

原创 Complete the Word-一道字符统计,解决很简单,优化有点难

Codeforces Round #372 (Div. 2)B. Complete the Word 解决很简单,直接枚举每一个26长度的字串看符不符合就行了,符合的话先把这个子字符串’?’替换成缺失的字母,这个字符串以后的’?’用任意字母填充完就可以输出。这样做的复杂度是O(26*26*|s|) 可以优化成O(|s|),原理是用一个计数器counter,先统计第一个26长度的字符串字母的出现情

2017-01-25 16:32:44 595

原创 Leaving Auction-一道就考set特性的题目

Codeforces Round #388 (Div. 2) D . Leaving Auction 题意很简单,就是卡时间,首先你要知道set的有序性,唯一性,查找搜索都是O(logN)的时间,由复杂度可以大概推算时间。 每个人的最大出价要数组maxprice 存起来,每个人的每一次出价用set存起来,以便找到最小价格 询问之前,先构造一个最大价格集合,set#include <

2017-01-18 15:59:56 356

原创 Voting-一道题来看set效率和queue效率

题目是Codeforces Round #388 (Div. 2) 的C题分析:策略是采取先deny第一个后于自己位置的对手,如果自己后面没对手了就投剩下的对手中位置最靠前的,道理显而易见,位置越前越有可能deny自己阵容的人,肯定要先“让他说不了话”比较合理一开始直接数组模拟,while(1)遍历数组居然还能过前20多组数据,但这样效率奇低,后来想用优先队列(最小堆),每次把对面的根节点deny,

2017-01-17 11:47:20 477

原创 一道素数打表的水题,顺便记下打表高效方法

codeforces round 388 div2的A题 A. Bachgold Problem题意问输入的n最有有多少个素数加起来组成,素数可以重复使用,那这题用贪心,从2开始算起,因为你要求素数最多的话,肯定是越小的个数越多,做完之后,突然发现根本不用打表,n>=2,要么是奇数,要么是偶数,偶数就全2,奇数就把一个2换成3就可以了,居然如此简单。。。。但当时做的时候真的是闪出来素数打表,这就是

2017-01-15 14:19:00 371

原创 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer

2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) http://codeforces.com/contest/730G. Car Repair Shop 水题,题意是安排日程,因为最迟不得超过客户要求开始的日子,所以是很简单的贪心,检查该

2016-11-06 12:00:22 562

原创 docker国内拉取国外docker镜像加速服务

由于国内直接拉取dockerhub的镜像速度比较慢,有以下一种加速方法 daocloud镜像市场:https://hub.daocloud.io/ 先到以上网址注册并登陆, 点击镜像加速图标, 复制命令到 需要拉取镜像的服务器执行, 这里有一个注意的点,需要检查以下文件格式, 执行脚本后需要手动删除” ] ” 的 ” , ” 然后重启docker, 输入 system...

2018-05-04 19:21:20 2784

转载 etcd:从应用场景到实现原理的全方位解读

原文链接随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来...

2018-04-17 20:29:15 558

原创 一道全排列算法题目

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 牛客网题目链接解题思路:用set保存中间结果集,确保唯一性,先举出一个元素的全排列,再往里面逐个添加元素,每次增加一个元素,该元素在之前结果集的每一个排列,假设该排列的字符串长度为k, 那么该元素有k+1个位置可...

2018-04-06 22:27:37 678

原创 Linux鸟哥的私房菜读书笔记3

第五章 date 命令 date +”%Y/%m/%d” 建议加”“来设置格式,因为我以前写shell的时候试过error,挺难找的 cal 日历 cal 10 2019 cal 2018 bc 计算器 设置小数点后的位数 scale=number, number 就是位数 quit 退出 ctrl + d 代表键盘输入结束(EOF),也可以用来替代exit ctrl + c...

2018-02-07 09:03:00 261

原创 Linux鸟哥的私房菜读书笔记2

BIOS(basic input output system) 是一套程序,写死到主板上面的一个内存芯片中,那就是只读存储器ROM(read only memory),BIOS 控制着开机时各项硬件参数的取得 现在 BIOS 程序代码可能也需要做适度的修改,可以在很多主板官网找到 BIOS 的更新程序,但是 BIOS 原本使用的是无法改写的ROM,因此根本无法修正 BIOS 程...

2018-02-04 23:43:00 176

原创 Linux鸟哥的私房菜读书笔记1

鸟哥Linux第0章:计算机定义:接受用户输入指令与数据(命令+数据),经过中央处理器(CPU)的数据与逻辑单元运算处理后,以产生或存储成有用的信息(用户希望得到的数据)。计算机三部分:输入单元,中央处理器(含有算术逻辑,控制,记忆等单元),输出单元。主板安插了中央处理器,内存,以及一些适配卡中央处理器(Central Processing Unit,CPU),CPU为一个具有特定...

2018-01-31 00:31:15 183

转载 MySQL性能优化的最佳21条经验

转载来自今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.为查询

2017-07-13 09:47:10 362

转载 linux下mysql数据的导出和导入

原文导出整个数据库中的所有数据1、在linux命令行下输入:mysqldump -u userName -p dabaseName > fileName.sqlfileName.sql最好加上路径名导出数据库中的某个表的数据mysqldump -u userName -p dabaseName tableName > fileName.sql 导出整个数据库中的所有的表结构在linux命令行

2017-07-12 21:27:29 605

原创 centos7关闭系统自启动MySQL

systemctl list-unit-files执行此命令能查看当前系统的服务启动和服务状态。 pagedown翻页直到找到结果显示如下:...microcode.service enabled mysql.service enabled mysqld.service enabled NetworkManager-dispatcher.servi

2017-07-12 21:16:39 5471

原创 关于MySQL远程连接的一些小问题

之前我提到过如果设置远程连接,传送门今天我自己用的时候直接查博客来用了,然后发现按照这样设置,远程不能登录,一开始怀疑没刷新,于是直接敲reboot来重启了,后来发现是这样的隐蔽的问题,比如说我root密码原来是root,后来我改成其他(比如说123)了,然后再按照设置远程登录,发现用root用户,密码123登录不了, 后来本地root账户连接数据库mysql> use mysql;Readin

2017-07-12 17:47:26 240

转载 优先队列实现原理分析

来源:ziwenxie, www.ziwenxie.site/2017/03/30/algorithm-priority-queue/原文优先队列是在实际工程中被广泛应用的一种数据结构,不管是在操作系统的进程调度中,还是在相关的图算法比如Prim算法和Dijkstra算法中,我们都可以看到优先队列的身影,本文我们就来分析一下优先队列的实现原理。优先队列以操作系统的进程调度为例,比如我们在使用手机的

2017-07-03 14:16:02 1407

转载 Mysql5.6设置远程连接

root权限连接MySQL后mysql>use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力 mysql> flush privileges; mysql> exit

2017-06-24 22:04:11 8396 1

原创 mysql 5.6.36 win7 32位免安装版配置

32位的5.6还是挺少见的,记录一下MySQL5.6.36压缩包下载地址下载完成后解压,我的路径是 D:\mysql-5.6.36-win32复制根目录下的my-default.ini,改名为my.ini,my.ini用下面内容替换,路径请自行根据需求修改[client]port=3306default-character-set=utf8#客户端字符类型,与服务端一致就行,建议utf8[

2017-05-29 13:23:11 9160

转载 centos7 下 MySQL 安装配置

参考1、配置YUM源在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ MySQL YUM源下载地址下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装mysql源 shell> y

2017-05-17 21:57:22 276

转载 MySQL创建数据库与创建用户以及授权

转自[铭久博客(http://www.cnblogs.com/janken/p/5500320.html)1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;–创建数据库  采用create schema和create database创建数据库的效果一样。2、create user ‘[用户名称]’@

2017-05-09 19:10:44 2756

原创 CentOS中Python pip包管理工具的安装和使用

1.pip工具的下载安装 pip下载命令为:# cd /usr/local/src --路径可以根据情况修改# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certi

2017-05-03 16:42:21 1090

原创 CentOS 7下安装Python3.5

1.首先修改yum配置文件 因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5 因此修改yum配置文件(vi /usr/bin/yum)。 把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。2.安装python3.5可能使用的依赖yum install openssl-devel b

2017-05-03 16:21:06 414

原创 Centos7.0设置开机启动Tomcat

先进入cd /etc/rc.dvi rc.local 把文件最后加上以下两行:export JAVA_HOME=/usr/local/jdk1.8.0_60/usr/local/tomcat/bin/startup.sh startJAVA_HOME的路径根据自己配jdk时的环境路径确定 也要根据Tomcat安装路径调整startup.sh,别忘了start加完之后类似下图, :wq保存

2017-04-29 15:14:31 411

原创 一个易错的while循环问题

有如下程序片段:int i = 0; // i++=2<=2,i=3;i++=3>2,i=4;while(i++ <= 2); printf("%d", i);则正确的执行结果是___C_______。A) 2 B) 3C) 4 D) 无结果

2017-04-08 00:38:43 595

原创 统计数组中差最小(或最大)的组合可能个数

腾讯2017暑期实习生编程题第三题小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入例子: 6 45 12 45 32 5 6输出例子: 1 2思路:先排序,分一般情况和特殊情况,特殊情况数组所有元素相同,差最小最大的组合个数都是C(n,2)否则,差最大的组合个数 = 最小值个数MinNum * 最大值个数MaxNum接下来求 ,差最小(minVal

2017-04-02 21:41:18 1376

原创 给定字符串,删除最少的字符,使剩下的字符串成为回文串

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。经典编程题目啦~~设原字符串s 原字符串反转的字符串t,回文串最长长度问题转为求LCS(s,t)的长度,画个二维数组就能明白原理,dp[i][j]表示 s 前 i 个字符与 t 前 j 个的公共最长子序列(LCS)长度so easy~腾讯2017暑期实习生编程题#inclu

2017-04-02 21:18:58 2587

原创 不申请额外空间调整字符串大小写顺序,大写字母依次放到后面

一道很经典的字符串算法题: 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 例如 AkleBiCeilD, 调整后应该是 kleieilABCD第一次做的时候写的是类似冒泡的两两交换,时间复杂度是O(n*n),明显当n达到万级的时候就会TLE,是很笨的方法。而且声明了 char t;#include <iostream>#include <cs

2017-04-02 20:59:57 1450

原创 new String("aaa")和“aaa”的区别

方式一:String a = “aaa” ;方式二:String b = new String(“aaa”);两种方式都能创建字符串对象,但方式一要比方式二更优。 因为字符串是保存在常量池中的,而通过new创建的对象会存放在堆内存中。如果常量池中已经有字符串常量”aaa”通过方式一创建对象,程序运行时会在常量池中查找”aaa”字符串,将找到的“aaa”字符串的地址赋给a。通过方式二创建对象,无论常

2017-03-30 16:14:02 1175

转载 范围搜索 (Range Query)

范围搜索Author: Subhash Suri译者:Koala++ / 屈伟引       前一阵把搜索引擎的RangeQuery的逻辑重新写了一遍,我写的时候就感觉很不对劲,我们的搜索引擎采用的是一种非常怪异的实现,至少我没在别的搜索引擎里见过,或是在资料中看到过。我要解决的是二维坐标查询,比如你想知道你周围五公里内的医院在什么地方,蛮力解决方法就是把所有医院坐标得到,把x坐标循环过滤一遍,再把

2017-03-23 11:53:51 5569 1

原创 Anton and Fairy Tale--二分,因为手误没写对

Codeforces Round #404 (Div. 2) C. Anton and Fairy Tale大概题意,有一个容量为 n 的粮仓,初始是满的,每天早上补充 m 个单位粮食,不能超出粮仓的容量,多出的部分不管,从第一天晚上开始来对应天数的小鸟,每只偷一个单位粮食(第一天来一只,第二天来两只,以此类推),问粮仓第一次空的天数,例如n=1,m=5,初始为满,第一天的补充没用用,第一天

2017-03-16 15:58:05 229

转载 javascript 的闭包

参考:廖雪峰老师的javascript教程函数作为返回值高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的:function sum(arr) { return arr.reduce(function (x, y) { return x + y; });}sum([1, 2, 3, 4

2017-02-26 20:26:35 221

转载 JavaScript的sort用法

参考:廖雪峰老师的javascript教程排序算法JavaScript的Array的sort()方法就是用于排序的,但是排序结果可能让你大吃一惊:// 看上去正常的结果:['Google', 'Apple', 'Microsoft'].sort(); // ['Apple', 'Google', 'Microsoft'];// apple排在了最后:['Google', 'apple', 'Mi

2017-02-23 09:47:19 464

转载 JavaScript的filter用法

参考:廖雪峰老师的javascript教程filter 它用于把Array的某些元素过滤掉,然后返回剩下的元素。和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。例如,在一个Array中,删掉偶数,只保留奇数,可以这么写var arr = [1, 2, 4

2017-02-23 09:29:53 19356

转载 JavaScript的一个parseInt易错点

参考:廖雪峰老师的javascript教程 小明希望利用map()把字符串变成整数,他写的代码很简洁:'use strict';var arr = ['1', '2', '3'];var r;r = arr.map(parseInt);alert('[' + r[0] + ', ' + r[1] + ', ' + r[2] + ']');结果竟然是[1, NaN, NaN],小明百思不得其

2017-02-22 08:57:17 1540 2

空空如也

空空如也

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

TA关注的人

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