- 蓝桥杯C/C++实用知识总结
NICKMAN-
蓝桥杯c++c语言算法数据结构
蓝桥杯C/C++文章目录蓝桥杯C/C++头文件实用函数及运算符求幂次移位运算符STL排序sort()函数依次读取数据STL全排列函数next_permutation()求数组最大/最小值初始化函数memset()GCD(最大公约数)和LCM(最小公倍数)C++字符串函数实用数据结构模板vector链表list队列C++优先队列栈(stack)集合(set)二叉树存储实用算法模板按字典序排序素数判断
- 实用数据结构---线段树(超详细讲解)
后知后 jue
实用数据结构线段树数据结构RMQSparse-Table
转载自http://blog.csdn.net/metalseed/article/details/8039326一:线段树基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(lgN)!性质:父亲的区间是[a,b],(c=(a+b)/2)左儿子的区间是[a
- 如何使用JCTools实现Java并发程序
概述在本文中,我们将介绍JCTools(Java并发工具)库。简单地说,这提供了许多适用于多线程环境的实用数据结构。非阻塞算法传统上,在可变共享状态下工作的多线程代码使用锁来确保数据一致性和发布(一个线程所做的更改对另一个线程可见)。这种方法有许多缺点:线程在试图获取锁时可能会被阻塞,在另一个线程的操作完成之前不会取得任何进展—这有效地防止了并行性锁争用越重,JVM处理调度线程、管理争用和等待线程
- 「实用数据结构」
徐行tag
学习历程数据结构
map+vectorUVA11991EasyProblemfromRujiaLiu?大意:求一个序列从左到右第k个x出现的下表i应用map>a;intmain(){a.clear();//清空a里所有数据if(a.count(x)==0)//判断a中以(int)x打头的vector是否为空a[x]=vector();//在a中以(int)x打头create一个动态数组a[x].push_back(
- 实用数据结构
风云来
算法
维基百科上的一个页面列举了:常见的数据结构.除此之外的一些常用的数据结构:Tries(前缀树)Bloomfilter(布隆过滤器)Rope:主要用于某些文本编辑器中,可用于字符串高效地插入、删除、追加等操作。SGI的STL中实现了Rope(http://www.sgi.com/tech/stl/Rope.html)Skiplist(跳表)SpatialIndices(空间索引),如R-trees和
- 实用数据结构总结之哈夫曼树小结
liygcheng2010
C/C++ACMC++二叉树数据结构
哈夫曼树:定义:给定n个节点和它们的权值,以它们为叶子节点构造一颗带权路径和最小的二叉树,该二叉树即为哈夫曼树,亦称最优树。求哈夫曼树算法步骤:1.将所有节点放入集合K2.若集合K中剩余节点大于2个,则取出其中权值最小的两个节点,构造它们同时为某个新节点的左右儿子,该新节点是它们共同的双亲节点,设定它的权值为其两个儿子节点的权值和。并将该父亲节点放入集合K,重复步骤2或33.若集合K中仅剩一个节点
- 《算法竞赛入门经典——训练指南》实用数据结构
9974
注:有些题目因为太简单或者做过类似的题目就没做,引用了别人的题解。对于初学者来说,这些题目都是很不错的。UVa,LA很难找题目,直接把题号打进去交.友情链接:UVaLA不断更新中,我是先做所有的例题,然后在做习题。基础数据结构例题例题1UVa11995ICanGuesstheDataStructure!ADT题解(别人的)例题2UVa11991EasyProblemfromRujiaLiu排序或者
- 实用数据结构与算法
池塘游泳的蜗牛
前言 本文主要介绍在现实生产环境使用较多的高效搜索数据结构与算法。空间、性能、实现复杂度一直都是数据结构与算法设计的三元矛盾。优秀算法与数据结构往往都是在这三者之间平衡后的产物,所以算法与数据结构不存在好与坏之分,只有适合与不适合。图算法并查集链式数据结构跳跃表树形数据结构HashTreePriorityQueueBasicTrieTreeRadixTree待续MerklePatriciaTre
- 数据结构-队列_习题
toceph
数据结构队列数据结构与算法
《实用数据结构》第4章6.1题//算法设计题.要求:设一个循环队列Queue,只有头指针front,不设尾指针,另设一个含有元素个数的记录器count,//试写出相应的入队和出队的算法#include #include #include using namespace std;#define MAXLEN 10#define Status int#define datatype int #defi
- 数据结构-队列_习题
164711368
数据结构队列
《实用数据结构》第4章6.1题//算法设计题.要求:设一个循环队列Queue,只有头指针front,不设尾指针,另设一个含有元素个数的记录器count,
//试写出相应的入队和出队的算法
#include
#include
#include
using namespace std;
#define MAXLEN 10
#define Status int
#define datatype
- 【暑假】[实用数据结构] AC自动机
hahalidaxin
Aho-Corasick自动机 算法: AC自动机用于解决文本一个而模板有多个的问题。 AC自动机可以成功将多模板匹配,匹配意味着算法可以找到每一个模板在文本中出现的位置。 KMP中对模板构造失配边,多模板每条模板独立构造失配边太过麻烦。 算法利用Trie+KMP中的失配边。insert(模板) 构造Trie+getFail添加失配边->AC自动机的状态转移图。 匹配文本串text时只需要调
- 【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns
hahalidaxin
UVAlive4670DominatingPatterns 题目: DominatingPatterns TimeLimit:3000MS MemoryLimit:Unknown 64bitIOFormat:%lld&%llu SubmitStatusDescriptionThearchaeologistsaregoingtodecipheraverymysterious``language"
- 【暑假】[实用数据结构]UVAlive 3942 Remember the Word
hahalidaxin
UVAlive3942RemembertheWord 题目:RemembertheWord TimeLimit:3000MS MemoryLimit:Unknown 64bitIOFormat:%lld&%llu SubmitStatusDescriptionNealisverycuriousaboutcombinatorialproblems,andnowherecomesaproblemab
- 【暑假】[实用数据结构]UVAlive 3026 Period
hahalidaxin
UVAlive3026Period 题目:Period TimeLimit:3000MS MemoryLimit:Unknown 64bitIOFormat:%lld&%llu SubmitStatus DescriptionForeachprefixofagivenstringSwithNcharacters(eachcharacterhasanASCIIcodebetween97and126
- 【暑假】[实用数据结构]范围最小值问题(RMQ)
hahalidaxin
范围最小值问题: 提供操作:Query(L,R):计算min{AL~AR}Sparse-Table算法: 定义d[i][j]为从i开始长度为2j的一段元素的最小值。所以可以用递推的方法表示。 预处理RMQ_init如下(感觉像区间DP): 1intRMQ_init(constvector&A){
2intn=A.size();
3for(inti=0;i&A){
4intn=A.size
- 【暑假】[实用数据结构]动态连续和查询问题
hahalidaxin
动态连续和查询问题: 支持操作: Add(x,d):让Ax增加d Query(L,R):计算sum(AL,AR)定义lowbit如下:1intlowbit(intu){returnu&(-u);} 前缀和sum与修改结点add如下:1intsum(intu){
2intret=0;
3while(u>0){
4ret+=C[u];u-=lowbit(u);
5}
6returnret
- 【暑假】[实用数据结构]UVAlive 3644 X-Plosives
hahalidaxin
UVAliveX-Plosives 思路: “如果车上存在k个简单化合物,正好包含k种元素,那么他们将组成一个易爆的混合物” 如果将(a,b)看作一条边那么题意就是不能出现环,很容易联想到Kruskal算法中并查集的判环功能(新加入的边必须属于不同的两个集合否则出现环),因此本题可以用并查集实现。模拟装车过程即可。 代码: 1#include
2#include
3#defineFOR(a,
- 【暑假】[实用数据结构]KMP
hahalidaxin
KMP算法 KMP算法是字符串匹配算法,可以在O(n)的时间完成,算法包含两部分,分别是:构造适配函数与两串匹配。失配边的使用大大提高了算法效率,可以理解为已经成功匹配的字符不在重新匹配,因为我们已经知道它是什么,对应到算法中匹配失败后应该在最大前缀之后继续匹配,因为某后缀已与最大前缀匹配成功而不用重新比较。 以下为代码实现: 1constintmaxn=1000+5;
2
3voidgetF
- 【暑假】[实用数据结构]动态范围查询问题
hahalidaxin
动态范围查询问题: 一、线段树+点修改 支持操作:Update(x,v):将Ax修改为vQuery(L,R): 计算[L,R]内的最小值 1intminv[maxn];
2intql,qr;
3intQuery(intu,intL,intR){
4intM=L+(R-L)/2,ans=INF;
5if(ql叶该路径上的祖先add之和
40if(M=0){minv[u]=maxv[u]=
- 【暑假】[实用数据结构]UVa11995 I Can Guess the Data Structure!
hahalidaxin
UVa11995 ICanGuesstheDataStructure! 思路:边读边模拟,注意empty的判断!代码如下:#include
#include
#include
usingnamespacestd;
intmain(){
queueq;
priority_queuepri_q;
stacksta;
intn;
while(cin>>n){
while(!q.e
- 【暑假】[实用数据结构]UVa11991 Easy Problem from Rujia Liu?
hahalidaxin
UVa11991EasyProblemfromRujiaLiu? 思路: 构造数组data,使满足data[v][k]为第k个v的下标。因为不是每一个整数都会出现因此用到map,又因为每个数出现次数不等可能相差很大,因此用到vector。 注意:对于数据的清空与判空不要忘记,而map在调用之前必须有map.count的检查。代码: 1#include
2#include
3#includ
- 【暑假】[实用数据结构]UVAlive 3135 Argus
hahalidaxin
UVAlive3135ArgusArgusTimeLimit:3000MS MemoryLimit:Unknown 64bitIOFormat:%lld&%lluSubmitStatusDescriptionAdatastreamisareal-time,continuous,orderedsequenceofitems.Someexamplesincludesensordata,Internet
- 【暑假】[实用数据结构]UVAlive 3027 Corporative Network
hahalidaxin
UVAlive3027CorporativeNetwork 题目: CorporativeNetworkTimeLimit:3000MS MemoryLimit:30000KTotalSubmissions:3450 Accepted:1259DescriptionAverybigcorporationisdevelopingitscorporativenetwork.Inthebeginning
- 【暑假】[实用数据结构]前缀树 Trie
hahalidaxin
前缀树Trie Trie可理解为一个能够快速插入与查询的集合,无论是插入还是查询所需时间都为O(m) 模板如下: 1constintmaxnode=1000+10;
2constintsigma_size=26;
3
4structTrie{
5intch[maxnode][sigma_size];
6intval[maxnode];
7intsz;
8
9voidclear(){
- 【暑假】[实用数据结构]UVAlive 4329 Ping pong
hahalidaxin
UVAlive4329 Pingpong 题目:PingpongTimeLimit:3000MS MemoryLimit:Unknown 64bitIOFormat:%lld&%lluSubmitStatusDescriptionN(3N20000)pingpongplayerslivealongawest-eaststreet(considerthestreetasalinesegment).E
- 【暑假】[实用数据结构]UVa11997 K Smallest Sums
hahalidaxin
UVa11997KSmallestSums 题目: KSmallestSums You'regivenkarrays,eacharrayhaskintegers.Therearekk waystopickexactlyoneelementineacharrayandcalculatethes
- 实用数据结构总结之二叉树遍历
数据结构
二叉树简单总结: 二叉树节点结构: struct Node{ Node *lchild;//指向其左儿子节点的指针,当其不存在左儿子时为NULL Node *rchild;//指向其右儿子节点的指针,当其不存在右儿子时为NULL /* 节点附加信息 ..... */ } 对于该结构,先序遍历,中序遍历,后序遍历分别为: 先序遍历:
void preOrder(Node *Tree) { /* 对
- 实用数据结构之二叉排序树小结
二叉排序树
实用数据结构之二叉排序树小结:
定义:
满足以下条件的二叉树: 对于树上任意一个结点,其上的数值必大于等于其左子树上任意结点的数值 必小于等于其右子树上任意结点的数值
故二叉排序树的插入:
1.若当前树为空,则x为其根结点 2.若当前结点大于x,则x插入其左子树, 若当前结点小于x,则x插入其右子树 若当前结点等于x,则根据具体情况选择插入左子树或者右子树或者直接忽
- 《数据结构与算法分析:C语言描述》复习——第四章“树”——二叉搜索树
数据结构与算法
2014.06.14 23:27
简介:
二叉搜索树是学习二叉树之后,接触的第一个实用数据结构。特点是,左子树全部小于根,右子树全部大于根,元素不重复。一般能够支持对数级别的增删改查操作,但在二叉树发生倾斜的情况下,效率会下降至线性。下面给出插入、删除、查找的示意图。修改可以认为是先删除后插入。
图示:
实现:
1 // My i
- 深入了解Dojo的Collections工具包
Collections
Dojox 的 Collections 工具,一个模拟 Java 的某些实用数据结构的工具包,如:List(ArrayList)、Set、Dictionary、Queue、Stack、BinaryTree 等。这些工具对那些需要用到一些高级 Collections 功能的开发者非常有用。如果您是一位 Java 开发者,您一定对这些数据结构非常熟悉,基于这些工具进行 web 应用开发也将会游刃有余的
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><