LCA( ),最近公共祖先,定义为两节点最近的公共祖先~~好像是废话~~ 前置芝士: 图论 此文章中均设 $\mathrm{fa}_i$ 为 $i$ 的父亲,$\mathrm{dep}_i$ 为 $i$ 的深度。 暴力 显然我们找出节点的所有祖先再 $n^2$ 比较即可。 当然你也可以一层层往上跳。 ...
分类:
其他好文 时间:
2020-05-03 10:18:17
阅读次数:
119
栈 思路: 由于括号一般是成对出现,可以利用栈后进先出的特征。将字符串字符按顺序压入栈中,压入过程中如果遇到右括号时,推出栈顶元素,判断当前要压入的右括号是否和栈顶元素是一对,如果是则继续下一字符的压入判断操作。如果不是,直接返回False。当压入过程结束后,如果栈内为空则返回True,否则返回Fa ...
分类:
其他好文 时间:
2020-05-02 13:25:39
阅读次数:
64
#include <cmath> #include <cstdio> #include <iostream> #include <algorithm> using namespace std; const int N = 5000100; int n, m, cnt, fa[N], sum; dou ...
分类:
其他好文 时间:
2020-05-01 16:38:02
阅读次数:
54
首先建立好trie,由于问题询问的结点和不超过2e5,可以用虚树解决 bug百出。。调试了一上午 /* 对给定串建立trie,标记上终止结点,d[u]表示结点u的深度 对于每个询问,标记k个串对应的终止结点,然后建立虚树 虚树里维护size[u],fa[u],所有size[u]=L的点都是符合要求的 ...
分类:
其他好文 时间:
2020-05-01 15:12:41
阅读次数:
69
``` cpp //Tarjan求割点 void tarjan(int now,int fa){ int num=0; low[now]=dfn[now]=++dfnc; for(int i=head[now];i;i=b[i].next){ int u=b[i].to; if(!dfn[u]){ ... ...
分类:
其他好文 时间:
2020-05-01 12:26:28
阅读次数:
60
Façade是一个法语词,意思是外观、门面,因此该模式又称为外观模式! 门面模式不仅仅是一种设计模式那么简单,更是一种设计素养,需要有边界划分的意识! 动机(Motivation) 客户和组件中各种复杂的子系统有过多的耦合 如何简化外部客户程序和系统间的交互接口?如何解耦? 模式定义 为子系统中的一 ...
分类:
编程语言 时间:
2020-04-25 23:46:57
阅读次数:
99
```cpp/* 设 E[i]表示在结点i处,要走出迷宫所要走的边数的期望。 E[i] = ki*E[1] + (1-ki-ei)*E[fa[i]] + (1-ki-ei); E[i] = ki*E[1] + (1-ki-ei)/siz[i]*E[fa[i]] + (1-ki-ei)/siz[i]*... ...
分类:
其他好文 时间:
2020-04-25 19:30:39
阅读次数:
50
为什么要建立用户代理池? 如果我们用浏览器伪装,仅用一个浏览器标识,如果对方服务器的反爬手段高,我们这一个一直访问很容易被抓到,这时候我们可以建一个用户代理池,随机进行访问,增加我们的成功率 话不多说上代码 import urllib.request import random from my_fa ...
分类:
Web程序 时间:
2020-04-18 11:45:29
阅读次数:
72
1. 概述 从本文你可以学习到: 什么时候会使用HashMap?他有什么特点? 你知道HashMap的工作原理吗? 你知道get和put的原理吗?equals()和hashCode()的都有什么作用? 你知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load fa ...
分类:
编程语言 时间:
2020-04-13 00:28:45
阅读次数:
78
2020年04月12日19:06:19 解决github仓库下载慢问题 2个解决办法,一个是借助码云,最后修改配置文件重新导向github网址。 二十修改host文件,配置github的ip。 1.借助码云 比如下载Fabric仓库 https://github.com/hyperledger/fa ...
分类:
其他好文 时间:
2020-04-12 20:27:24
阅读次数:
112