30
2019
08
如何理解splay树
本文参考资料:https://www.cnblogs.com/cjyyb/p/7499020.html学习splay树首先要学习SBT,即二叉搜索树,二叉搜索树,对于任意一个节点,左儿子的值比它小,右儿子的值比它大并且任意一棵子树单独拎出来也是一棵二叉搜索树二叉搜索树进行中序遍历后序列正好是有序的,查找复杂度o(lgn)。但是如果一开始给定的序列就是有序的,我们构造的SBT会是一条长链,查找复杂度就变会o(n)了。各位大佬们为了解决平衡树这个尴尬的问题,想出了各种方法。。也就是弄出了各种树,AV
作者:ruixiao1989 | 分类:NOIP | 浏览:292 | 评论:0
27
2019
08
leecode 136 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4题解:此题需要用的位运算来解决,异或运算的几个性质:交换律:a ^ b ^ c <=> a ^ c ^ b
任何数于0异或
作者:ruixiao1989 | 分类:面试算法 | 浏览:230 | 评论:0
23
2019
08
信息学奥赛一本通 树链剖分 1560:【例 1】树的统计
这题是模板题,先两个dfs把树剖开,重新编号,再借助线段树求解,求路径上的权值和还需要借助lca的思路先跳到同一条链上再利用区间求和。#include <iostream>
#include <cstring>
#include <cstdio>
#define MIN -0x3f3f3f3f
#define mem(a,b) memset((a),(b),sizeof((a)))
作者:ruixiao1989 | 分类:NOIP | 浏览:275 | 评论:0
16
2019
08
信息学一本通-1579:皇宫看守 树形dp
一棵树有 N 个节点,现在需要将所有节点都看守住,如果我们选择了节点 i,那么节点 i 本身,节点 i 的父亲和儿子都会被看守住,每个节点有一个选择代价,求完成任务所需要的最小的代价。显然这是一道树形DP。根据每个节点其实有只有三个状态:①被自己看守;②被儿子看守;③被父亲看守。我们设这三种状态分别为 F1,F2,F3。当然最终作为答案的根节点没有父亲就从 F1,F2 里面选小的。接下来我们要考虑怎么转移。首先看 F1,我们规定 F1[ i ] 代表的是 i 节点被自己看守且以 i 为根的子树都
作者:ruixiao1989 | 分类:NOIP | 浏览:281 | 评论:0
15
2019
08
noip2018-提高组 赛道修建
思路是二分答案,看当前最小最大长度能不能构成m条道路//2018-noip 道路修复 用到树 二分
#include<bits/stdc++.h>
using namespace std;
const int N=50004;
inline int read(){
char ch=getchar();
int res=0,f=1;
作者:ruixiao1989 | 分类:NOIP真题代码注释 | 浏览:284 | 评论:0
14
2019
08
2017提高组-列队
这个题目对一个初入noip的童鞋来说很烧脑呢,因为对线段树并不是很熟悉,所以在做这个题目之前需要先学习几个知识点:线段树权值线段树主席树,可持久化线段树可持久化数组经过对以上几个知识点,尤其是权值线段树和主席树的学习,才能理解如何动态建立多棵线段树,如何去找区间第K大的值。然后才能慢慢理解这道题的做法,很多巧妙的思想是自己无论如何也想不出来的。还是佩服这些烧脑的大仙们。。。#include<bits/stdc++.h>
#define mid ((l+r)>
作者:ruixiao1989 | 分类:NOIP真题代码注释 | 浏览:288 | 评论:0
09
2019
08
2016NOIP提高组-愤怒的小鸟
题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=18981)n<=18考虑状态压缩,把n个小猪能否被消灭用二进制的1,0来表示比如状态S=15 二进制是 000000000000001111 表示状态S下第1,2,3,4 只小猪可以被消灭dp[s]就表示状态S下消灭这些小猪最少需要的抛物线条数。2)因此我们枚举任意两只小猪构成的抛物线,用st[i][j] 表示i和j两只小猪构成的抛物线能够消灭小猪的状态比如st
作者:ruixiao1989 | 分类:NOIP真题代码注释 | 浏览:290 | 评论:0
08
2019
08
想要跳槽需要学习的一些内容
黑马刘意基础av33742840崔希凡Javaweb:av37452727MySQL基础+高级篇(241集)-尚硅谷:av49181542jQuery:av56025673JPA:av58112424JUC:av58122884NIO:av58122578Java语言高级-Java8/9/10/11新特性:av511795102019年Java基础教程(基于JDK11)-尚硅谷:av48370019黑马spring经典入门教程av40323796尚硅谷spring教程av50002153尚硅谷m
作者:ruixiao1989 | 分类:生活杂谈 | 浏览:307 | 评论:0
07
2019
08
价值投资-必须要懂的六大财务分析指标
根据以上财务指标选出的股票是什么样子的呢,让我们一起来写个选股策略出来。首先毛利率20%以上营业利润率10%以上净资产收益率15%以上负债比30%以下自由现金流量为正营业收入 月增率增加,年增率增加,近三个月营收与近12月平均营收对比交易策略:
作者:ruixiao1989 | 分类:量化策略 | 浏览:301 | 评论:0
07
2019
08
量化策略-仓位管理
今天分享一个简单的仓位管理策略:买入策略:高于过去5天的平均价格1%,全仓买入卖出策略:低于过去5点的平均价格,空仓卖出# 导入函数库
from jqdata import *
# 初始化函数,设定基准等等
def initialize(context):
# 设定沪深300作为基准
set_benchmark('000300.XSHG')
# 开启动态复权模式(真实价格)
set_
作者:ruixiao1989 | 分类:量化策略 | 浏览:283 | 评论:0