Solution Set - 神奇 NOIP 模拟赛
\]
「A. 莓良心」 给定 \(\{w_n\}\),对于所有将其划分为 \(k\) 个非空集合的方式,求 \(w_i\times (w_i\text{ 所在集合大小})\) 之和的总和模 \(998244353\) 的值。\(n\le10^6\)。
考虑算每个 \(w_i\) 的贡献次数,首先 \(w_i\) 自己算一次,\(\stir{n}{k}\);任意 \(j\not=i\) 的 \(w_j\) 和 \(w_i\) 放一次时贡献一次,\((n-1)\stir{n}{k-1}\),\(\mathcal O(n)\) 算第二类斯特林数单点值即可。
「B. 尽梨了」 给定 \(\{(a,b)_n\}\),初始时 \(t=0\),每次选一个未选过的 \(i\),令 \(t\leftarrow(a_i+1)(t+1)+b_i\),需要保证此时 \(t\le m\)。求最多能选择的次数。\(n\le2\times10^5\),\(m\le10^9\)。
交换贪心可知确定要选的集合时最优的选取顺序,依此排序后,问题变为从其中依次取子序列。注意到 \(a=0\) 的必然最后选,且按 \(b\) 从小到大选;\(a\not=0\) 每次选择至少有 \(t\leftarrow 2(t+1)\),对于这种情况直接 DP,最后考虑 \(a=0\) 即可。复杂度 \(\mathcal O(n\log m)\)。
「C. 团不过」 有求 \(n\) 堆有标号石子堆,每堆石子数量在 \([1,2^n)\) 且不存在两堆相同数量石子堆时,Nim 先手必胜的方案数。\(n\le10^7\)。
令 \(f_i\) 为仅考虑 \(i\) 堆石子的方案数,显然可以通过下降幂、\(f_{i-1}\) 和 \(f_{i-2}\) 进行转移。复杂度 \(\mathcal O(n)\)。
「D. 七负我」 给定无向图 \(G\),给每个结点赋非负实数权值 \(a_i\),使得 \(\sum a_i=x\),最大化 \(\sum_{(u,v)\in E}a_ua_v\)。\(n\le40\)。
调整法证必然有一种方案,\(a_i>0\) 的结点的导出子图是团,团内部的最优决策显然是平均分点权(可以不等式或者口算一下拉格朗日乘子法),继而发现取最大团最优。这里直接 Meet in Middle 求最大团即可。复杂度 \(\mathcal O(2^{\frac{n}{2}}n)\)。
「A. 特殊字符串」 水。
「B. 宝可梦」 给定一个 \(n\times m\),有墙或空地的迷宫,保证空地在四联通意义下构成树。接下来 \(q\) 组询问,每次给定起点,第一步方向(保证不撞墙)和终点,求从起点摸着右手的墙走,需要走多少步到终点。\(nm\le5\times10^5\),\(q\le10^5\)。
分析清楚题意后,直接拆四个点建图。注意到可能作为起点,或者可能是中间过程的点必然是两两可达的,所以图是一整个环,在环上随便写写就行。
Attention. 图在具体题目的具体性质分析清楚再动手,直接搓一个基环树森林的做法太浪费时间了。
「C. 矩阵」 给定 \(n\times m\) 的矩阵 \(A\),找一条四联通意义下的路径,使得依次经过的元素构成等比序列,或声明存在长度无穷大的路径。\(nm,a_{i,j}\le4\times10^4\)。
先判掉无穷大,之后枚举第一步然后记忆化搜索可以做到 \(\mathcal O(nm\log^2 a)\),或者 DP 一下可以做到 \(\mathcal O(nm)\)。
「D. 乘法」 求十六进制下 \(n!\) 除去末尾 \(0\) 后的最后 \(16\) 位。\(n<2^{64}\),多测 \(T\le10\)。
先求出 \(n!\) 含因子 \(2\) 的个数,接下来要求出
\]
其中 \(f(n)=(n-[2\mid n])!!\),问题转化为求双阶乘。令 \(F_n(x)=\prod_{i<2n,2\nmid i}(2x+i)\),那么 \(F_n(0)=(2n-1)!!\),且 \(F_{2n}(x)=F_n(x)F_n(x+n)\),注意到当次数 \(k>63\),\([x^k]F_n(x)=0\),所以可以暴力卷积。在二进制扫描 \(n\) 的同时倍增,可以做到 \(\mathcal O(T\log^3n)\)。
2021.11.01. 总之就是四道傻瓜题。
「A. 集合均值」 水。
「B. 聚烷撑乙二醇」 水。但出题人不写浮点比较 SPJ 还卡精度。
「C. 技术情报局」 给定 \(\{a_n\}\),求 \(\sum_{[l,r]}\left(\max_{i=l}^r\{a_i\}\right)\left(\prod_{i=l}^ra_i\right)\),序列随机,模给定数 \(M\)。\(n\le10^7\)。
单调栈 \(\mathcal O(n)\) 嘛,我告诉你能做就肯定能做的啦~
「D. 肯德基」 求 \(\sum_{i=1}^n\mu^2(i)i\)。\(n\le10^{14}\),数据组数 \(T\le100\)。
容斥,答案显然是
\]
其中 \(S(n)=\frac{n(n+1)}{2}\)。发现可以用 \(i^2\) 对 \(n\) 进行整除分块。复杂度方面,当 \(i\le n^{\frac{1}{3}}\),仅有 \(\mathcal O(n^{\frac{1}{3}})\) 个取值;当 \(i>n^{\frac{1}{3}}\),有 \(\frac{n}{i^2}\le n^{\frac{1}{3}}\),也仅有 \(\mathcal O(n^{\frac{1}{3}})\) 个取值,所以分块复杂度为 \(\mathcal O(n^{\frac{1}{3}})\)。总复杂度即 \(\mathcal O(\sqrt n+Tn^{\frac{1}{3}})\)。
「A. 按位或」 求序列 \(\{x_n\}\) 的个数,满足 \(3\mid x_i\),\(\bigvee_{i=1}^nx_i=t\)。答案模 \(998244353\)。\(n,t\le10^{18}\)。
不太签到的题。联想十进制下 \(\bmod~3\) 的结论,发现 \(3\mid x_i\) 等价于从最低位起,相邻两个 bit 为一组,各组数值之和是 \(3\) 的倍数。容斥没有满足或起来为 \(t\) 的 bit 组计数即可。
「B. 最短路径」 给定一棵含有 \(n\) 个点的树,以及其中一个大小为 \(m\) 的关键点集 \(S\)。对于 \(S\) 中 \(|T|=k\) 的子集 \(T\),求依任意次序遍历过 \(T\) 中所有结点的最短路径长度的期望。答案模 \(998244353\)。\(n\le2\times10^3\),\(m\le300\)。
遍历 \(T\) 的最短路径长度显然是 \(T\) 的虚树所含边数 \(\times2\) 减去 \(T\) 的树上直径,分别计数。对于边数,枚举边,求这条边两侧都有关键点的方案数;对于直径,令 \(d(u,v)\) 表示 \(u,v\) 的树上距离,对于路径 \(D(u,v)\) 定义一个严格偏序关系:
\]
其中 \((u,v)>(x,y)\) 指一般的二元组偏序关系,当然也可以替换成方便区分的其他式子。在此基础上,可以证明对于 \(D(u,v)\),若不存在 \(w\) 能够使 \(D(u,w)>D(u,v)\land D(v,w)>D(u,v)\) 变大,则 \(D(u,v)\) 是直径。枚举直径 \(D(u,v)\),求出无法更新直径的点集 \(\{w\}\),剩下的 \(k-2\) 个关键点都取自 \(\{w\}\),组合算贡献。
为什么我忽略了边数和直径可以拆开算啊……
「C. 仙人掌」 给定一株仙人掌,求其邻接矩阵的行列式。\(n\le 10^5\)。
等价于边匹配,得到的排列中,二阶轮换的贡献是 \(-1\),其余 \(k\) 阶轮换的贡献是 \(2\times(-1)^{k-1}\)。圆方树 DP 即可。
「D. 对弈」 Cover「SDOI 2011」黑白棋。我不会,但是。
2021.11.03 @ LOCAL/20211103/
「A. 鲜血之女王」 水,不过赛时无脑 DP 压根没证正确性(虽然过了。
「B. 撤离」 求排列 \(\{p_n\}\) 冒泡排序恰好进行 \(k\) 次 swap 后得到的排列。\(n\le10^6\)。
我真的做过这道题吗? 我会求进过完整 \(t\) 轮后的交换次数,也会求到经过完整 \(t\) 轮后得到的排列,而一轮最多 swap \(\mathcal O(n)\) 次,所以在这个排列的基础上再模拟一轮冒泡即可。
「C. 闪蝶」 水,线段树维护 GF 板题(但是选手不得试图使用生成函数。
「D. 缘分的天空」 给定一棵含 \(n\) 个结点的树,对于 \(k=0,1,\dots,n-1\),求随机切树上 \(k\) 条边得到的森林中,每棵树所含结点数量的平方之和的期望值。答案模 \((10^9+7)\)。\(n\le10^5\)。
E_k(|T|^2) &= E\left[\left(\sum_u [u\in T]\right)^2\right]\\
&= E\left(\sum_u [u\in T]^2\right)+2E\left(\sum_{u\not=v}[u\in T][v\in T] \right)\\
\end{aligned}\\
\begin{aligned}
\Longrightarrow E_k\left(\sum_i |T_i|^2\right) &= n+2\sum_{u\not=v}[\operatorname{path}(u,v)\in G_k]\\
&= n+\frac{2}{(n-1)^{\underline{k}}}\sum_{l=1}^{n-1}c_l(n-1-l)^{\underline{k}}.
\end{aligned}
\]
其中 \(c_l\) 表示原树上长度为 \(l\) 的路径条数。若能求出 \(\{c\}\),可以发现这个式子是差卷积:
\]
好吧其实难点是实现,求 \(\{c\}\) 可以 DSU 或者点分,但得写多项式卷积。注意路径条数不超过 \(n^2\),所以可以写模 long long
的 NTT。但是最后这个卷积是真的没办法——只能写 MTT。总之吧我一份代码写了 MTT + NTT,常数大概是标算的 \(0.2\) 倍叭。但是有 9K 的码量。
「A. 谜之阶乘」 水。
「B. 子集」 将 \(1\sim n\) 划分为 \(k\) 组,每组大小相等且数字和相等。多测,\(\sum n\le10^6\)。
每组大小是偶数显然;若是奇数,尝试先用一些数组把每组大小填充成偶数。观察样例并打表发现可用 \(1\sim 3k\) 填每组前 \(3\) 个,具体构造方法多种多样(我懒得描述了√
「C. 混凝土粉末」 \(\{a_n\}\) 初始全为 \(0\),\(q\) 次操作,区间加,询问某个 \(a_i\) 最早什么时候 \(\ge h\)。\(n,q\le10^6\)。
对不起两个 log 无脑整体二分能操过。 离线下来,在序列上做扫描线,在时间轴上维护 BIT 或线段树,树上二分求答案,即可做到单 \(\log\)。
「D. 排水系统」 挺可爱的题 w。我的题解。
「A. 回文」 给定字符矩阵 \(\{S_{n\times m}\}\),求从 \((1,1)\) 出发走到 \((n,m)\) 且只向下或向右走的所有路径中,依次经过的字符形成回文字符串的路径数量。\(n,m\le500\)。
明显只能从起点和终点同时 DP。\(f(i,j,k)\) 表示起点终点各走 \(i\) 步,起点走到第 \(j\) 行,终点走到第 \(k\) 行,当前行走路径字符串对称的方案数。讨论一下转移,滚掉第一维状态就行了。
「B. 快速排序」 水。
「C. 混乱邪恶」 给定 \(A\subseteq\{1,2,\dots,m\}\),\(|A|=n\in(\lfloor\frac{2m}{3}\rfloor,m]\)。求 \(S\cup T=A,S\cap T=\varnothing\),且 \(\sum_{a\in S}a=\sum_{b\in T}b\)。\(m\le10^6\)。
要看出这是道构造题而非乱搞题就很难啊喂。 如果 \(n\) 是奇数,令 \(A\leftarrow A\cup\{0\}\)。将 \(A\) 的元素升序排列后,令 \(d_i=a_{2i}-a_{2i-1}\),我们尝试用 \(\{d_{n/2}\}\) 来构造等和。(为什么想到两两捆绑?这就是传说中构造题的 movitation?)
观察 \(\{d_{n/2}\}\) 的性质:\(\sum_id_i\le m-\frac{n}{2}<n\)(利用题设性质,太 tm 妙啦),即至少有一个 \(d_i=1\)。接着归纳构造:
若 \(\forall d_i=1\),由于 \(2\mid\sum_id_i\),必然有解;
否则,将 \(\{d\}\) 中最大值和最小值(必为 \(1\))取出,将它们的差值返还。
这个方法显然是很厉害的。
「C. 校门外歪脖树上的鸽子」 给定一棵维护序列长度为 \(n\),随便划分区间的线段树,支持 \(m\) 次区间加或查询区间和操作。但是标记不下传。\(n,m\le2\times10^5\)。
左右加哨兵,变成类似 ZKW 线段树的形式,修改查询都类似于走一条路径,修改/统计某侧儿子的贡献,所以你永远可以相信 毛毛虫剖分。
「A. 破门而入」 水,但有个傻子拿 EGF 推出式子准备开始写暴力卷积的时候发现这是第一类 Stiring 数。
「B. 翻转游戏」 从读完题到证完结论不到 30s.jpg。
「C. 奶油蛋糕塔」 总不能看不出是欧拉路吧,但有个傻子状压连通性+状压度数奇偶性大力 DP WA 了。
「D. 多重影分身之术」 建议换道题放 T4。
我敲?这就是今天的题解吗?!
2021.11.07. 总之就很辣鸡。
2021.11.08. 今天是 Yet another NOI Professional Simulation。(
「A. NOIP 2018」 水。
「B. CSP 2019」 给定 \(n\) 阶矩阵 \(A\) 和列向量 \(b\),\(T\) 次询问,每次询问给出 \(k\),求 \(\bmod 2\) 意义下的 \(A^kb\)。\(n,\sum \log_2k\le2\times10^3\)。
取 \(A\) 的特征多项式 \(p(x)=|xI-A|\),由 \(\sf Cayley–Hamilton\) 定理,\(p(A)=0\)。令
\]
那么 \(A^k=r(A)+kp(A)=r(A)\)。而 \(\deg r=\mathcal O(n)\),考虑答案形式为 \(\sum_i r_iA^ib\),可以预处理 \(A^ib\)快速求解。
写不来,全程口胡。
「C. CSP 2020」 定义正整数 \(x\) 的拆分是数列 \(\{t_k\}\),满足 \(t_i\in\{0,1,\dots,9\},\sum t=x\),此时将 \(t\) 依次写下作为一个十进制数 \(v_x\)。现给出 \(m\),对于 \(n=1,2\dots,m\),求 \(n^3\) 的所有拆分得到的 \(v_{n^3}\) 去重并升序排序后的第 \(n^4\) 个数。答案模 \(p\)(不保证为素数)。\(m\le10^3\)。
注意到成为答案的 \(v_x\) 应有 \(\log_{10}v_x\approx\frac{x}{9}\)。因为在 \(\overline{a99\dots9}\) 中选若干个 \(9\) 减去 \(1\),令 \(a\) 加上减去的总和,这一方案数的规模远大于 \(n^4\)。
回到题目,这种题惯用手法是确定位数,再从高到低枚举,用方案数判断当前位的取值。预处理约 \(n^{1.5}\) 范围内的方案数,对于超过该范围的方案,组合数的快速增长让我们可以快速判断与需求方案数的大小关系。最后,只特判后导 \(9\) 的起始位置即可。总复杂度为 \(\mathcal O(m^{2.5})\)。
「D. NOIP 2021」 对于素数 \(p=4324321=2^5\times3^3\times5\times7\times11\times13+1\),取其原根构成的序列 \(\{g_0,g_1,\cdots,g_{m-1}\}\) 作为密钥,对于明文串 \(S\),定义加密 \(s_i\mapsto g_{i\bmod m}^{s_i}\bmod p\)。现给出 \(m\) 和密文 \(S'~(|S'|=n)\),解出明文 \(S\)。\(m\le10^5\),\(40m\le n\le 50m\le5\times10^6\)。保证明文是有意义的英文段落,\(s_i\) 是大小写字母以及 \(\{\text{' '},\text{'.'},\text{','},\text{'?'},\text{'!'},\text{'-'},\text{'"'},\text{'''},\text{':'},\text{'('},\text{')'},\text{';'}\}\) 中的一个。
任取一个 \(p\) 的原根 \(r\),令 \(g_i=r^{\alpha_i}\),显然 \(\alpha_i\perp\varphi(p)\)。那么 \(s'=g_i^s\Rightarrow \operatorname{Ind}_r s'=\alpha_is\)。\(\operatorname{Ind}_r s'\) 是可求的,我们枚举 \(s\),解同余方程就能够得到若干可能 \(\alpha_i\),用 \(\alpha_i\) 尝试解密一些 \(s\) 即能判断合法性,考虑到对于错误的密钥,解出字符在字符集内的概率极小,视为 \(\mathcal O(1)\)。现在就几乎能完成解密了,不过很卡常。
联系 \(S\) 是英文文段以及生活实际,猜测一些字符在至少 \(40\) 个位置中必然出现,关键问题是找到方便后续计算的字符。注意到 \(\alpha_i\perp\varphi(p)\),即 \(\gcd(\operatorname{Ind}_rs',\varphi(p))\) 完全来自 \(s\)。注意到 \(s\in\{\text{i},\text{h},\text{n},\text{l},\text{u},\text{p},\text{c}\}\) 时恰整除 \(\varphi(p)\);当 \(s=\text{' '}\) 时,\(s\) 的倍数全为非法字符。所以直接考查 \(\operatorname{Ind}_rs'\) 对于它们的整除性即可。
看什么看,我写 T 了。
「A. 开挂」 水。
「B. 叁仟柒佰万」 水。
「C. 超级加倍」 给定一棵树含 \(n\) 个结点的树,求路径 \((u,v)\) 的数量,使得 \(u\not=v\),且 \(u\) 是路径经过结点中标号最小的,\(v\) 是路径经过结点中标号最大的。\(n\le2\times10^6\)。
我是不是傻 qwq。 点分治?我想我优化不动二维偏序。而注意到树上最大最小,应该联想到笛卡尔树。建出大根笛卡尔树和小根笛卡尔树,那么 \((u,v)\) 合法当且仅当在大根树上 \(v\) 是 \(u\) 的祖先,在小根树上 \(u\) 是 \(v\) 的祖先。在一棵树上 DFS,BIT 维护另一棵树上的 DFN 即可。复杂度 \(\mathcal O(n\log n)\)。
「D. 欢乐豆」 给定含 \(n\) 个结点的有向完全图,边 \(\lang u,v\rang\) 的权为 \(w\lang u,v\rang=a_u\),现修改 \(m\) 条边的点权,求两两最短路之和。\(n\le10^5\),\(m\le2\times10^3\)。
显然由修改的边构成的图中,不同的连通块相对独立。在一个连通块中,可以线段树优化 Dijkstra 暴力做最短路。所以可以做到 \(\mathcal O(m^2\log m)\)。有一些并不太困难的小细节叭。
「A. 嗑瓜子」 水。
「B. 第 k 大查询」 给定排列 \(\{a_n\}\),求所有长度大于 \(k\) 的区间的第 \(k\) 大值之和。\(n\le5\times10^5\),\(k\le50\)。
从 \(n\) 到 \(1\) 枚举第 \(k\) 大值 \(x\),一个区间的第 \(k\) 大为 \(x\) 当且仅当其中包含恰好 \(k\) 个大于等于 \(x\) 的数。维护已经枚举过的值,发现可能作为合法区间端点的只有 \(\mathcal O(k)\) 段,暴力计算答案即可。
神 tm std::set::iterator
的自加是最坏 \(\mathcal O(\log n)\) 的,只有扫描整个 set
是均摊 \(\mathcal O(1)\) 的(相当于遍历一棵树),T 飞了。
「C. 树上路径」 给定一棵含有 \(n\) 个结点的树,设 \(l_1,l_2\) 是两条点不交路径的长度(经过结点个数),求可能的 \((l_1,l_2)\) 的数量。\(n\le5\times10^5\)。
路径点不交,那么存在一条边,使得割掉这条边后两条路径分别处于两棵子树,换根求出两棵子树的直径后转化成矩阵并(其实就是后缀最大值)。(换根有点细节别写错了 qwq。
「D. 糖」 数轴上依次有 \((n+1)\) 个关键点,第 \(0\) 个点为原点,第 \(i\) 个关键点的坐标是 \(a_i\)。你从 \(0\) 出发,每走一单位吃掉一颗糖,每到达一个关键点,可以以 \(b_i\) 的单价买糖,以 \(s_i\) 的单价买糖,但最多携带 \(C\) 颗糖。求到达 \(n\) 号关键点时的最小花费(假设你初始的钱足够多)。\(n\le2\times10^5\),保证有解且答案有限。
做这种买卖问题的一贯套路是:凭空买,凭空卖,等价操作赚大钱。我们直接从等价操作的角度研究:
买入再以相同价格退掉 \(\Leftrightarrow\) 不买,所以每到一个关键点可以补满背包。
买入,篡改价格,退掉 \(\Leftrightarrow\) 低买高卖,所以我们只需要处理“买”和“退”两种操作。
实现上,走到 \(i\) 时,维护当前背包内剩余的糖果集合 \(S\),并保持价格单调性。将背包内所有价格 \(<s_i\) 的糖果价格篡改为 \(s_i\)(卖);将背包内所有价格 \(>b_i\) 的糖果价格改为 \(b_i\)(重新买),并用当前 \(b_i\) 补满背包;最后吃掉下一步需要的糖果(挑便宜的吃咯)。
Solution Set - 神奇 NOIP 模拟赛的更多相关文章
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- NOIp模拟赛二十八
(这是NOIp模拟赛?应该是NOI模拟赛不小心加了个p) 嗯,假装这是正经的NOIp模拟赛,从今天开始也写写题解吧(这几天被虐的惨惨) 今日情况:8+50+0=58 A题输出样例,B题正解写挂,C题不 ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
随机推荐
- 可观察对象(Observable)
最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...
- js 对 date 和 字符串 类型的正确互换【各浏览器兼容】,解决invalid Date
1.前言 有个需求,想要把指定日期时间的字符串转换成date类型 pc浏览器正常转换,但手机浏览器 返回结果是 invalid Date [无效的日期] 2.原因 出现这样不兼容的原因其实很简单, p ...
- 新建koa2项目
1.npm install -g koa-generator 2.koa2 项目名称,如果需要ejs引擎koa2 -e 项目名称 3.cd 项目名称 4.npm install 5.npm insta ...
- 函数实现将 DataFrame 数据直接划分为测试集训练集
虽然 Scikit-Learn 有可以划分数据集的函数 train_test_split ,但在有些特殊情况我们只希望它将 DataFrame 数据直接划分为 train, test 而不是像 tr ...
- pycharm创建脚本头文件模板
代码头文件信息可以包括:python 解析器的位置.字符集.作者信息.创建脚本时间等,pycharm工具创建头部信息模板操作步骤如下: 设置头文件:文件-->设置-->编辑器-->文 ...
- HashMap的实现原理(看这篇就够了)
一线资深java工程师明确了需要精通集合容器,尤其是今天我谈到的HashMap. HashMap在Java集合的重要性不亚于Volatile在并发编程的重要性(可见性与有序性). 我会重点讲解以下9点 ...
- 外观模式(Facade模式)
外观模式的定义与特点 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式.该模式对外有一个统一接口,外部应用程序不用关心内部子系 ...
- 【自写信息搜集工具】ThunderSearch开发原理解析
前段时间结合zoomeye的开发文档做了个简易的信息搜集工具ThunderSearch[项目地址 / 博客地址],这次来讲讲具体的实现原理和开发思路 首先要能看懂开发文档,https://www.zo ...
- Rsync安装配置
一.先准备两台CentOS服务器,假定是 1.172.18.2.225(服务端) 需要配置rsyncd.conf文件 2.172.18.2.227(客户端) 不需要配置rsyncd.conf文件 二. ...
- zabbix-server3.4安装
1.安装yum源 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rp ...