传送门 这道题就是裸的平衡树的题目,操作都是模板,也就不多说了,重在代码。
SBT:
#include
struct SBT {
int v, sz, ch[2 ], cnt;
} t[300005 ];
int n, cnt, root;
#define Upd(k) {\
t[k].sz = t[t[k].ch[0 ]].sz + t[t[k].ch[1 ]].sz + t[k].cnt;\
}
void rot(int &k, bool f) {
int p = t[k].ch[f]; t[k].ch[f] = t[p].ch[!f]; t[p].ch[!f] = k;
Upd(k); Upd(p); k = p;
}
inline void mt(int &k,bool f)
{
if (!k) return ;
if (t[t[k].ch[f^1 ]].sz < t[t[t[k].ch[f]].ch[f]].sz) rot(k, f);
else if (t[t[k].ch[f^1 ]].sz < t[t[t[k].ch[f]].ch[f^1 ]].sz) { rot(t[k].ch[f], f^1 ); rot(k, f); }
else return ;
mt(t[k].ch[f],f);
mt(k,f);
}
void Ins(int &k, int x) {
if (!k) {k = ++ cnt; t[k].sz = t[k].cnt = 1 ; t[k].v = x; return ; }
++ t[k].sz;
if (t[k].v == x) {++ t[k].cnt; return ;}
Ins(t[k].ch[t[k].v < x], x);
mt(k, t[k].v < x);
}
int Del(int &k, int x) {
if (!k) return k;
int tmp;
if (t[k].v == x) {
if (t[k].cnt > 1 ) {-- t[k].cnt; --t[k].sz; return k;}
else if (!(t[k].ch[0 ]*t[k].ch[1 ])) {k = t[k].ch[0 ]+t[k].ch[1 ];}
else { tmp = Del(t[k].ch[0 ], x+1 ); t[k].cnt = t[tmp].cnt; t[k].v = t[tmp].v; Upd(k); return k; }
}
else if ((t[k].v < x && !t[k].ch[1 ]) || (t[k].v > x && ! t[k].ch[0 ])) { tmp = k; k = t[k].ch[0 ]; Upd(k); return tmp; }
else tmp = Del(t[k].ch[t[k].v < x], x);
Upd(k); return tmp;
}
int Ran(int k,int x) {
if (k==0 )return 0 ;
if (t[k].v==x)return t[t[k].ch[0 ]].sz+1 ;
else if (x>t[k].v)
return t[t[k].ch[0 ]].sz+t[k].cnt+Ran(t[k].ch[1 ],x);
else return Ran(t[k].ch[0 ],x);
}
int Kth(int k,int x) {
if (k==0 )return 0 ;
if (x<=t[t[k].ch[0 ]].sz)
return Kth(t[k].ch[0 ],x);
else if (x>t[t[k].ch[0 ]].sz+t[k].cnt)
return Kth(t[k].ch[1 ],x-t[t[k].ch[0 ]].sz-t[k].cnt);
else return t[k].v;
}
int ans;
void pred(int k,int x) {
if (k==0 )return ;
if (t[k].v1],x);
} else pred(t[k].ch[0 ],x);
}
void succ(int k,int x) {
if (k==0 )return ;
if (t[k].v>x) {
ans=k;
succ(t[k].ch[0 ],x);
} else succ(t[k].ch[1 ],x);
}
char c, f;
inline void GET(int &n) {
n = 0 ; f = 1 ;
do {c = getchar(); if (c == '-' ) f = -1 ;} while (c > '9' || c < '0' );
while (c >= '0' && c <= '9' ) {n=n*10 +c-'0' ;c=getchar();}
n *= f;
}
int main() {
GET(n);
int opt,x;
for (int i=1 ; i<=n; i++) {
GET(opt); GET(x);
switch (opt) {
case 1 : Ins(root,x); break ;
case 2 : Del(root,x); break ;
case 3 : printf ("%d\n" ,Ran(root,x)); break ;
case 4 : printf ("%d\n" ,Kth(root,x)); break ;
case 5 : ans=0 ; pred(root,x); printf ("%d\n" ,t[ans].v); break ;
case 6 : ans=0 ; succ(root,x); printf ("%d\n" ,t[ans].v); break ;
}
}
return 0 ;
}
Treap:
#include
#include
#include
using namespace std ;
struct data {
int ch[2 ], v, sz, rnd, cnt;
} tr[300005 ];
int n,size,root,ans,sd = 2333 ;
inline int ran() { return sd = (sd*sd+sd)%(10003 ); }
inline void Upd(int k) {
tr[k].sz = tr[tr[k].ch[0 ]].sz + tr[tr[k].ch[1 ]].sz + tr[k].cnt;
}
void rot(int &k, bool f) {
int t = tr[k].ch[f]; tr[k].ch[f] = tr[t].ch[!f]; tr[t].ch[!f] = k;
Upd(k); Upd(t); k = t;
}
void insert(int &k,int x) {
if (k==0 ) { size++; k=size; tr[k].sz=tr[k].cnt=1 ; tr[k].v=x; tr[k].rnd=ran(); return ; }
tr[k].sz++;
if (tr[k].v==x) { tr[k].cnt++; return ; }
bool f = x>tr[k].v;
insert(tr[k].ch[f],x);
if (tr[tr[k].ch[f]].rndvoid del(int &k,int x) {
if (k==0 )return ;
if (tr[k].v==x) {
if (tr[k].cnt>1 ) { tr[k].cnt--; tr[k].sz--; return ; }
if (tr[k].ch[0 ]*tr[k].ch[1 ]==0 )k=tr[k].ch[0 ]+tr[k].ch[1 ];
else rot(k, tr[tr[k].ch[0 ]].rnd >= tr[tr[k].ch[1 ]].rnd), del(k, x);
} else tr[k].sz--, del(tr[k].ch[x>tr[k].v], x);
}
int get_rank(int k,int x) {
if (k==0 )return 0 ;
if (tr[k].v==x)return tr[tr[k].ch[0 ]].sz+1 ;
else if (x>tr[k].v)
return tr[tr[k].ch[0 ]].sz+tr[k].cnt+get_rank(tr[k].ch[1 ],x);
else return get_rank(tr[k].ch[0 ],x);
}
int get_kth(int k,int x) {
if (k==0 )return 0 ;
if (x<=tr[tr[k].ch[0 ]].sz)
return get_kth(tr[k].ch[0 ],x);
else if (x>tr[tr[k].ch[0 ]].sz+tr[k].cnt)
return get_kth(tr[k].ch[1 ],x-tr[tr[k].ch[0 ]].sz-tr[k].cnt);
else return tr[k].v;
}
void pred(int k,int x) {
if (k==0 )return ;
if (tr[k].v1],x);
} else pred(tr[k].ch[0 ],x);
}
void succ(int k,int x) {
if (k==0 )return ;
if (tr[k].v>x) {
ans=k;
succ(tr[k].ch[0 ],x);
} else succ(tr[k].ch[1 ],x);
}char c, f;
inline void GET(int &n) {
n = 0 ; f = 1 ;
do {c = getchar(); if (c == '-' ) f = -1 ;} while (c > '9' || c < '0' );
while (c >= '0' && c <= '9' ) {n=n*10 +c-'0' ;c=getchar();}
n *= f;
}
int main() {
GET(n);
int opt,x;
for (int i=1 ; i<=n; i++) {
GET(opt); GET(x);
switch (opt) {
case 1 : insert(root,x); break ;
case 2 : del(root,x); break ;
case 3 : printf ("%d\n" ,get_rank(root,x)); break ;
case 4 : printf ("%d\n" ,get_kth(root,x)); break ;
case 5 : ans=0 ; pred(root,x); printf ("%d\n" ,tr[ans].v); break ;
case 6 : ans=0 ; succ(root,x); printf ("%d\n" ,tr[ans].v); break ;
}
}
return 0 ;
}
Splay
#include
#define MAXN 300005
struct node {
int v, cnt, sz, ch[2 ], f;
}t[MAXN];
int rt, sz, n;
#define Upd(r) {t[r].sz = t[t[r].ch[0]].sz + t[t[r].ch[1]].sz + t[r].cnt;}
void rot(int x)
{
int y = t[x].f, z = t[y].f;
bool f = (t[y].ch[1 ] == x);
t[y].ch[f] = t[x].ch[f^1 ];
if (t[y].ch[f]) t[t[y].ch[f]].f = y;
t[x].ch[f^1 ] = y; t[y].f = x;
t[x].f = z;
if (z) t[z].ch[t[z].ch[1 ]==y] = x;
Upd(y);
}
void Spaly(int r, int tp) {
for (int y, z; (y = t[r].f) != tp; rot(r)) {
z = t[y].f;
if (z == tp) continue ;
if ( (t[z].ch[0 ] == y) == (t[y].ch[0 ] == r) ) rot(y);
else rot(r);
}
if (!tp) rt = r; Upd(r);
}
void Ins(int r, int x) {
int y = 0 ;
while (r && t[r].v != x) { y = r; r = t[r].ch[x > t[r].v]; }
if (r) ++ t[r].cnt;
else {
r = ++ sz; t[r].sz = t[r].cnt = 1 ;
t[r].v = x; t[r].f = y; if (y) t[y].ch[x > t[y].v] = r;
}
Spaly(r, 0 );
}
void Find(int v) {
int x = rt; if (!x) return ;
while (t[x].ch[v > t[x].v] && t[x].v != v) x = t[x].ch[v > t[x].v];
Spaly(x, 0 );
}
int Ran(int v) {
Find(v);
return t[t[rt].ch[0 ]].sz;
}
int Kth(int x)
{
int y=rt,p;
if (x>t[rt].sz)return 0 ;
while (1 )
{
p=t[y].ch[0 ];
if (t[p].sz+t[y].cnt1];
}
else if (t[p].sz>=x) y=p;
else return t[y].v;
}
}
int Nxt(int x, bool f)
{
Find(x);
if ((t[rt].v>x&&f)||(t[rt].vreturn rt;
int p = t[rt].ch[f];
while (t[p].ch[f^1 ]) p = t[p].ch[!f];
return p;
}
void Del(int v) {
int p = Nxt(v, 0 ), s = Nxt(v, 1 );
Spaly(p, 0 ); Spaly(s, p);
p = t[s].ch[0 ];
if (t[p].cnt > 1 ) -- t[p].cnt, Spaly(p, 0 );
else t[s].ch[0 ] = 0 ;
}
char c, f;
inline void GET(int &n) {
n = 0 ; f = 1 ;
do {c = getchar(); if (c == '-' ) f = -1 ;} while (c > '9' || c < '0' );
while (c >= '0' && c <= '9' ) {n=n*10 +c-'0' ;c=getchar();}
n *= f;
}
int main() {
GET(n);
int opt,x;
Ins(rt, -0x7fffffff ); Ins(rt, +0x7fffffff );
for (int i=1 ; i<=n; i++) {
GET(opt); GET(x);
switch (opt) {
case 1 : Ins(rt,x); break ;
case 2 : Del(x); break ;
case 3 : printf ("%d\n" ,Ran(x)); break ;
case 4 : printf ("%d\n" ,Kth(x+1 )); break ;
case 5 : printf ("%d\n" ,t[Nxt(x, 0 )].v); break ;
case 6 : printf ("%d\n" ,t[Nxt(x, 1 )].v); break ;
}
}
return 0 ;
}
你可能感兴趣的:(平衡树-区间树)
丹凤张杰‖人生【感悟】词四首
丹凤张杰
丹凤张杰‖人生【感悟】词四首三月春风拂面过阳光普照生万物花草树木生新样大好河山换容光日落夕阳半边天半辈己过无少年人生只有几万天何必苦恼度余年一辈儿孙一辈福努力进步自奋斗间隔运行有步骤命运在手自己走不早奋斗白了头咋能不叫人害羞少壮勤奋老来运一生不做无用人作者简介:张杰,笔名,丹江浪子,微信名,安全文明,商洛,丹凤人。中共党员,退役军人,初小文化,职业,通村客运乘务员。商洛棣花古镇乡土文化研究院会员,
zookeeper原理篇-Zookeeper的数据存储与恢复原理
逐梦々少年
前言经过前面的一些文章的学习和了解,我们对Zookeeper有了一定的理解,但是无论是节点持久化,还是启动流程中的数据恢复等,我们都没有详细的去了解内部的数据存储和恢复的机制,本篇文章就开始学习Zookeeper的数据存储相关。内存存储zookeeper刚开始的时候,我们就已经知道其结构就像一个内存数据库一样,按照树的结构,能把节点的路径、节点数据以及ACL和节点的数据存储,其核心就是依靠Data
晨间日记秋的颜色
吉祥无碍_江苏_宅家
天边的云好自在,我漫步在天空下,感觉着轻抚而过的秋风吹过,听不到叶落花落的声音,空中没有了桂花的馨香,满树的柿子,苹果,梨,桔子,猕猴桃……硕果累累,香气四溢。赤橙黄绿青蓝紫,那是秋果的颜色,香了秋风秋雨秋夜,醉了被秋风吹来的远客,闻够了秋季的果香,尝尽了秋果的味道,却看到满树的红叶,火红,火红的颜色,像极了那一抹绚烂整个世界的中国红,它又以自然的颜色吸引了你的眼球,一抹希望的颜色,如今它是自然赋
冬日晨阳
A方海燕
阳光潇潇洒洒的露出懒洋洋的笑脸瞬间就温暖大地,金色的太阳光映在房屋上;树木上;田野上;立刻给村庄披上了神秘而美丽的金色连带着呼出的热气,都有一种朦胧的美金色的太阳光顷刻之间就褪去的黑暗,小村庄亮了起来,冬季的阳光;给人们带来了,温暖和喜悦也带来了,希望和光明阳光总是让人很期盼但冬天的阳光却更加的弥足珍贵
盘面20220804-明日可能的向下段走势
卷上星斗
每天发帖真心好累,直接上图。5分钟看,今日中枢震荡向上段已经饱满,明天将开始走向下段。15分钟结构上则表现为中枢震荡,力度决定方向,也决定是向上突破还是向下突破中枢。目前还是看3100点方向,操作上依然是3150-3050区间逢低增加仓位。
如何让孩子越来越完美
娟娟田
孩子不想写作业,我们要想的不是怎样去催促威逼利诱,而是教给孩子时间管理方法、增强学习兴趣;孩子做什么都磨蹭,我们要想办法给他有趣的事情让他盼着,要让他对生活有奔头;孩子胆小不爱交往,我们要在平时树立自信上下功夫,同时教给他交往技巧,多提供交往机会;孩子脾气大爱哭闹,我们了解孩子的敏感期,要改善自己和家人的说话态度,多陪伴多共情,用故事游戏等方式帮他处理情绪;孩子看电视控制不住,我们要给他提供比看电
童趣
Verali_16bb
每个人都有一个童年,而童年趣事也就像海边那各色各样的贝壳,在海水的陪伴下闪闪发光,散发着五颜六色的光彩,数都数不完。而如今我的手上还握着那一颗最闪光的贝壳,那也正是我最难忘的一件童年趣事。记得小时侯,我家院子里种着一棵和我出生时一起种的桔树,我经常拿小刀在树干上刻了个记号,天天去测量自己是否长高。看着一条条横线,我真盼望快快长高。有一天,我忽然发现自己比那记号矮了。天啊!难道我倒着长了?我心里害怕
每日小短句
蠢屁儿
教师之所以伟大,在于他(她)永远消耗自己,照亮别人。教师·赞美老师宁静的夜晚,只有那天上的星星正在窃窃私语。山坡上,大路边,村子口,榛树叶子全都红了,红得像一团团火,把人们的心也给燃烧起来了。春天像一位画家,尽情地挥动着画笔,打扮着祖国各地。春天·春天它脱下破旧的外衣,又开始新的生活;它贪婪地吮吸着春天那清新、甜润的露珠儿,慢慢地长出逗人喜爱的嫩枝绿叶。荷塘里的荷花都羞涩地打着朵。秋天到了,树上金
乡愁
傻瓜书僮
积郁着的阴天,仿佛随时能来一场雨,生活乏闷的把四季变成一季,单调,重复如同枯萎的花瓣。春节变成了一种安慰,总是计算着日子,还有多久能踏上归途,迫切的心情像擂动的鼓,忐忑不安。想起门前的果树是否被硕果压弯,又或许给调皮的孩童弄的变了形。桃树到了春天,鲜红的花瓣把春装饰的明媚,温暖。鲜艳的季节,我们却得奔赴他乡。如此循环不断,不习惯也得欣赏。春意并不磅礴,但是十分明媚,河堤上起了绿油油的草,引得牛羊低
2021-10-11
习茶者刘菲菲
四时风景如画,我们寻美其中,走过青山绿水翠树,又见白草红叶黄花。面向着光明,步履未曾停,凝眸处,烟火人间又一秋,红尘岁月又一程。抬首望秋雁行行,秋云片片,低眉观秋露点点,秋水盈盈。这默默无语的秋,却最是淳厚深情,像极了我们渐渐丰盈的人生。
学党史、筑信念、强担当
Gloria不求赞美之词
党史,是营养剂,是教科书。党员干部要在学习党史中回答好“为什么学党史”“怎么学党史”和“学好党史做什么”,不断坚定信仰信念,树牢担当精神。弄懂“为什么学党史”。百年奋斗征程,百年为民之路,孕育出共产党人忠贞,砥砺着共产党人品格,涌现出雷锋、焦裕禄、黄文秀等一大批忠诚于党、无私奉献的优秀共产党员,弄清楚我们党从哪里来,才能明确路往哪里去,传承和弘扬为民情怀,补足精神之“钙”,更加坚定信念跟党走。掌握
如梦令.早春
亦沐北风
图片发自App白雪凄凄暮暮,长亭游人归路。梦里燕啼声,醒时新草霜处。枯木,枯木,芽叶暖阳满树。
2022-01-09
翁卫和
三星堆“坑”树彰显尧帝上射十日的功勋三星堆“坑”物有夏人纪念尧帝/王登树射日救民安民的神庙遗物。尧登青铜神树即“英雄树”(木棉树)、攀枝花、山间露头树、火树银花……射日的场景。遗物旁证:平头王(与天齐平)金刀(尧战神标志)眼(赤龙之眼,尧帝标志)英雄树(三层之高、帝树)山(长在山顶的树)花(木棉花蕾)乌(太阳金乌)
散了架的喜鹊窝(七)
山之东西
每当夜幕降临,花灯初起,我喜欢漫步在城市古城墙下的林荫道上。树影婆娑,夏花绚烂,夏风习习吹过,芳香扑鼻而来,倍感身心愉悦。置身于这迷人的夜晚,到处闪烁的霓虹灯,大街小巷中通明的路灯,万家灯火照亮城市夜空,夜色阑珊,怎能不让人心旷神怡。那时候,我抬头仰望星空,怅然若失——很显然,城市无处不在的光污染,无情的遮蔽和夺取了夜空的美丽。夜空本来模样被撕裂成一块块碎片,变得面目全非。褪色的夜空,模糊不清,暗
鸿蒙轻内核A核源码分析系列五 虚实映射(6)虚拟映射修改转移
OpenHarmony_小贾
鸿蒙开发 HarmonyOS OpenHarmony harmonyos OpenHarmony 移动开发 驱动开发 鸿蒙内核
6.1映射属性修改函数LOS_ArchMmuChangeProt函数LOS_ArchMmuChangeProt用于修改进程空间虚拟地址区间的映射保护属性,其中参数archMmu为进程空间的MMU结构体,vaddr为虚拟地址,count为映射的页数,flags为映射使用的新标签属性信息。其中函数名称中的Prot是英文Protect的简写。⑴处对参数进行校验,⑵处查询虚拟地址映射的物理地址,如果没有映
鸿蒙轻内核A核源码分析系列四(3) 虚拟内存
OpenHarmony_小贾
OpenHarmony HarmonyOS 鸿蒙开发 harmonyos OpenHarmony 鸿蒙内核 移动开发 驱动开发 系统开发
4.2函数LOS_RegionAlloc函数LOS_RegionAlloc用于从地址空间中申请空闲的虚拟地址区间。参数较多,LosVmSpace*vmSpace指定虚拟地址空间,VADDR_Tvaddr指定虚拟地址,当为空时,从映射区申请虚拟地址;当不为空时,使用该虚拟地址。如果该虚拟地址已经被映射,会先相应的解除映射处理等。size_tlen指定要申请的地区区间的长度。UINT32regionF
无题
窮奇
昨夜在一个叫作北方刮起一阵风随着风他踩着树梢,踩着云彩在月光的注视下,在群星的围观下在第二天的清晨里他来到了一个叫作南方的地方从此他有了另外一个名字北方的人有时的夜里他会回到北方在第二天到来时他又回归南方每当雨季来临时他在路上淋着雨他觉得他是一个流浪的人一个独自划着小舟却在海的中央只能看到海中的风浪头顶的白云蓝天还有手中唯一的船桨他随风随着海浪漂流着从未用过手中的船桨他觉得顺其自然是最好的安排我期
说说百度大模型算法工程师二面经历
AI小白熊
百度 算法 人工智能 大模型 面试 ai 自然语言处理
百度大模型算法工程师面试题应聘岗位:百度大模型算法工程师面试轮数:第二轮整体面试感觉:偏简单面试过程回顾1.自我介绍在自我介绍环节,我清晰地阐述了个人基本信息、教育背景、工作经历和技能特长,展示了自信和沟通能力。2.Leetcode题具体题意记不清了,但是类似【208.实现Trie(前缀树)】题目内容Trie(发音类似“try”)或者说前缀树是一种树形数据结构,用于高效地存储和检索字符串数据集中的
CCF-CSP认证考试(第32次)总结+题解
Romanticroom
算法
总结:这一次我选了时间较近的一次进行练习,结果有点悲,前两题就一个质因数分解还好,第三题我走了弯路,想通过类似线段树的手段处理,结果还差了系数,最后一个点tle了。。。第四题直接放弃了。。(太菜,没脸见人)第五题还抱有幻想,当然也只有幻想。。后两题只能打暴力了,以我现在水平,希望努力一个月能有所改变吧。题解:(这里只给到三题题解,再往后我也不会了。。)题一:仓库规划西西艾弗岛上共有n个仓库,依次编
荒唐读西游
西牛望月
悟空去蓬莱岛寻求医治人参果树的方子,虽然没求着方子,但他人缘好,那岛上的福禄寿三星愿意帮他去说情,以宽延几天期限。福禄寿三星到万寿山五庄观的时候,镇元大仙“正与唐僧师弟闲叙”。不知他们会“闲叙”些什么内容?徒弟偷了人家的果子,毁了人家的树,唐僧这做师傅的也认识不到问题的严重性,企图一走了之,跟着徒弟两次偷跑,两次被捉,不久前还捆在树桩上,刚刚还裹在漆布里,要下油锅烹呢,三藏师傅徒弟这时候应该还在羞
不是风波
疏林红叶
图片发自App迷迷糊糊中,有人拍拍玉的肩膀:“把你的靠背往前挪挪。”玉没想那么多,抬手扳起座位旁边的小扳手,后边那人往前推了推她的靠背,靠背一下子变得很直,坐起来有些不舒服。玉在座位上拧来拧去,都找不回刚才的舒适。窗外的树木倏忽而过,像一个个居心不良的强盗,更增加了她的不适。“把你的座位往前挪。”玉开始回味刚才那句话,她说话为什么那么盛气凌人呢?我为什么要听从她摆布呢?玉开始有些生气,在脑子里描摹
读书分享第100天
忎染
1、不带有色眼镜看人:看待一个人方式不一定只看个人的技能和知识层面,往往一个人的内心的信念和心态更能决定这个人的高度。当然个人能力是不可缺少的。2、“照镜子”:每个人都是一面可以看到自我缩影的镜子,学会通过他人寻找自己的不足与弊端,学习他人长处。自我也要树立一面正向的镜子。3、成就他人,成就自我:再给予他人帮助,提高他人的成就时也是在提高他的信念和改变他的心态。在这个过程中也是在提高自我,丰富自我
纸老虎
大番薯_5f9d
觉得自己就像一张纸老虎,像一棵被白蚁侵袭的树,外表枝繁叶茂,内里已残破不堪,我的树皮随着时间流逝一层一层地掉落。今天是一个预兆,我这棵朽木,掉了一层大树皮。我在试镜时出错了,忘了很多词。结束后,老师对我说:你已经很棒了。我勉强咧开嘴笑一笑,背着书包往外走。刚走出门,看见她背着相机从对面教室往外走。我叫住她,她冲我说了一声"嗨",随即又转过头继续赶路。我停在原地。我脸上的悲伤难道这么不明显吗?低着头
2-88 基于matlab的四叉树加权聚焦多聚焦图像融合
'Matlab学习与应用
matlab工程应用 matlab 人工智能 计算机视觉 全聚焦图像 加权焦点测量方法 四叉树加权聚焦多聚焦图像融合
基于matlab的四叉树加权聚焦多聚焦图像融合,的四叉树分解策略将源图像被分解成四叉树结构中具有最佳尺寸的块。在这个树形结构中,使用一种新的加权焦点测量方法(名为加权修正拉普拉斯之和)来检测焦点区域。可以很好地从源图像中提取出来,并重建生成一幅全聚焦图像。由于采用了四叉树分解策略和新的加权焦点测量法,因此所提出的算法简单而有效。程序已调通,可直接运行。2-88加权焦点测量方法-小红书(xiaoho
雅宸班三年级上第七周
启元艾米
树叶凋零,气温骤降,大地萧索,随着霜降节气的到来,秋季也宣告结束了,冬天在向我们招手,大东北即将迎来另一番美景。本周开始进入数学板块的学习,三年级依然要借助图景化教学,富有想象力的故事依然受到孩子们的欢迎。唱数是对数感的培养,所以我们会用各种方法数数。晨圈中孩子们最喜欢的是久久国里的小九儿小朋友,每天我们都会和小九儿一起大声数着数去上学,或者倒着数回家去,孩子们首先会猜一猜小九的学校或家在哪里,最
《机器学习》—— XGBoost(xgb.XGBClassifier) 分类器
张小生180
机器学习 人工智能
文章目录一、XGBoost分类器的介绍二、XGBoost(xgb.XGBClassifier)分类器与随机森林分类器(RandomForestClassifier)的区别三、XGBoost(xgb.XGBClassifier)分类器代码使用示例一、XGBoost分类器的介绍XGBoost分类器是一种基于梯度提升决策树(GradientBoostingDecisionTree,GBDT)的集成学习算
三毛说:一个人至少拥有一个梦想
清风摇曳
一个人至少拥有一个梦想,有一个理由去坚强。心若没有栖息的地方,到哪里都是在流浪!——三毛人生总有那么一段时间让自己走,自己扛,不要感觉害怕,不要感觉孤单,这只不过是成长支付的代价,人生的道路上谁都会遇到困难和挫折战胜它你就是英雄,就是生活的强者,人生向前走的过程应该是慢慢学会做减法的过程,贪念越多心里装的包袱越多人越是寸步难行,学会放下才能走的更快更远!在当下的时间里树立好自己的目标和梦想,至少在
读《万物有灵》|看贾平凹对宇宙人生的感应
幽篁啸歌
万物有灵贾平凹在谈论散文的力度硬度时说:“不是说些慷慨激昂之词,要有个人对宇宙人生的感应。”《万物有灵》就是一部没有慷慨之词,却表达出作者对宇宙人生感应的作品;尽管他的散文像小说,小说像散文。他笔下的万物有天上的太阳、月亮和星星,天空中的飞鸟,大地上的树木、花草、石头、池塘和贝类,还有形形色色的人——奶奶、爹、娘、叔、小妹、女儿、朋友……作者说太阳有灵(《太阳路》),是因为人们种的树会在阳光的照射
根据标签出现的频次渲染不同大小的圆和文字,圆随机摆放且相互之间不重叠
Vivqst
前端 javascript 开发语言
效果图:按每个标签出现的频次大小渲染出不同比例大小的圆,渲染的圆的宽度区间为[40,160],其中的文字的大小区间为[12,30],圆的位置随机摆放且不重叠。根据已知条件可得出,标签中频次最高的对应圆的宽度(直径)为160px、字号为30px,频次最低的圆的宽度(直径)为40px、字号为12px,那么最终问题的关键就是如何计算出其他标签频次对应的圆的大小?假设标签频次中的最大值为max,最小值为m
【语句】如何将列表拼接成字符串并截取20个字符后面的
青龙摄影
javascript html 前端
base_info="".join(tree.xpath('/html/head/script[4]/text()'))[20:]以下是对这个语句的详细讲解:tree.xpath('/html/head/script[4]/text()')部分:tree:通常是一个已经构建好的HTML文档树对象,它是通过相关的HTML解析库(比如lxml)对HTML文档进行解析后得到的。/html/head/sc
多线程编程之卫生间
周凡杨
java 并发 卫生间 线程 厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
How to Install GUI to Centos Minimal
sunjing
linux Install Desktop GUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
Shell 函数
daizj
shell 函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表 双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
threadLocal实例
bijian1013
java thread java多线程 threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
activemq安全设置—设置admin的用户名和密码
bijian1013
java activemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
返回null还是empty
bylijinnan
java apache spring 编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
[科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
mac中用命令行运行mysql
dcj3sjt126com
mysql linux mac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
MongDB查询(1)——基本查询[五]
eksliang
mongodb mongodb 查询 mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
base64,加密解密 经融加密,对接
y806839048
经融加密 对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
java经典的基础题目
macroli
java 编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点 学习永无止境 纵观千象 regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hive hive分析表 hive统计信息 hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源