以下 “二叉树” 均默认为有根无标号但区分左右儿子的二叉树。

设 h n , k h_{n,k} hn,k​ 表示 n , k n,k n,k 的答案,有:
h n , k = ∑ i = 0 n − 1 ( h i , k ⋅ f n − i − 1 + f i ⋅ h n − i − 1 , k + ∑ j = 0 k ( k j ) g n − i − 1 , k − j ∑ j ′ = 0 j ( j j ′ ) g i , j ′ ) h_{n,k}=\sum_{i=0}^{n-1}\left(h_{i,k}\cdot f_{n-i-1}+f_{i}\cdot h_{n-i-1,k}+\sum_{j=0}^{k}\binom{k}{j}g_{n-i-1,k-j}\sum_{j'=0}^j\binom{j}{j'}g_{i,j'}\right) hn,k​=i=0∑n−1​⎝⎛​hi,k​⋅fn−i−1​+fi​⋅hn−i−1,k​+j=0∑k​(jk​)gn−i−1,k−j​j′=0∑j​(j′j​)gi,j′​⎠⎞​
其中 f n f_n fn​ 表示 n n n 个点的二叉树数量。 g n , k g_{n,k} gn,k​ 表示 n n n 个点的所有二叉树中,所有叶子节点到根的路径所经点数的 k k k 次方之和。

然后后面那一堆组合数是 ( a + b + 1 ) k (a+b+1)^k (a+b+1)k 展开成 ∑ j = 0 k ( k j ) b k − j ∑ j ′ = 0 j ( j j ′ ) a j ′ \sum_{j=0}^k\binom{k}{j}b^{k-j}\sum_{j'=0}^j\binom{j}{j'}a^{j'} ∑j=0k​(jk​)bk−j∑j′=0j​(j′j​)aj′ 形式的结果。

考虑先把 f f f 和 g g g 推出来:
f 0 = 1 , f n = ∑ i = 0 n − 1 f i f n − 1 − i f_0=1,\ f_n=\sum_{i=0}^{n-1}f_if_{n-1-i} f0​=1, fn​=i=0∑n−1​fi​fn−1−i​
设 F F F 为 f f f 的 OGF,有:
F = 1 + x F 2 x F 2 − F + 1 = 0 = 1 ± 1 − 4 x 2 x = 1 − 1 − 4 x 2 x \begin{aligned} F&=1+xF^2\\ xF^2-F+1&=0\\ &=\frac{1\pm\sqrt{1-4x}}{2x}\\ &=\frac{1-\sqrt{1-4x}}{2x} \end{aligned} FxF2−F+1​=1+xF2=0=2x1±1−4x ​​=2x1−1−4x ​​​

然后对于 g g g:
g 1 , k = 1 , g n , k = 2 ∑ i = 0 n − 1 f n − 1 − i ∑ j = 0 k ( k j ) g i , j g_{1,k}=1,\ g_{n,k}=2\sum_{i=0}^{n-1}f_{n-1-i}\sum_{j=0}^k\binom{k}{j}g_{i,j} g1,k​=1, gn,k​=2i=0∑n−1​fn−1−i​j=0∑k​(jk​)gi,j​
设 G G G 为 g g g 的 EGF( [ x n ] [ t k ] G = g n , k k ! [x^n][t^k]G=\frac{g_{n,k}}{k!} [xn][tk]G=k!gn,k​​),有:
G = x e t + 2 x F G e t ( 1 − 2 x F e t ) G = x e t G = x e t 1 − 2 x F e t = x e t 1 − ( 1 − 1 − 4 x ) e t \begin{aligned} G&=xe^t+2xFGe^t\\ (1-2xFe^t)G&=xe^t\\ G&=\frac{xe^t}{1-2xFe^t}\\ &=\frac{xe^t}{1-(1-\sqrt{1-4x})e^t} \end{aligned} G(1−2xFet)GG​=xet+2xFGet=xet=1−2xFetxet​=1−(1−1−4x ​)etxet​​

回到最上面那条式子。设 H H H 为 h h h 的 EGF,有:

H = 2 x H F + x G 2 e t + x e t ( 1 − 2 x F ) H = x G 2 e t + x e t H = x G 2 e t + x e t 1 − 2 x F H = x e t 1 − 4 x + x 3 e 3 t 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) e t ) 2 \begin{aligned} H&=2xHF+xG^2e^t+xe^t\\ (1-2xF)H&=xG^2e^t+xe^t\\ H&=\frac{xG^2e^t+xe^t}{1-2xF}\\ H&=\frac{xe^t}{\sqrt{1-4x}}+\frac{x^3e^{3t}}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})e^t)^2}\\ \end{aligned} H(1−2xF)HHH​=2xHF+xG2et+xet=xG2et+xet=1−2xFxG2et+xet​=1−4x ​xet​+1−4x ​(1−(1−1−4x ​)et)2x3e3t​​

我们要算的即为:
R ( t ) = [ x n ] x e t 1 − 4 x + x 3 e 3 t 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) e t ) 2 R(t)=[x^n]\frac{xe^t}{\sqrt{1-4x}}+\frac{x^3e^{3t}}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})e^t)^2} R(t)=[xn]1−4x ​xet​+1−4x ​(1−(1−1−4x ​)et)2x3e3t​
模 t m + 1 t^{m+1} tm+1 的结果。

比较神奇的做法是进行变量代换,我们设 y = e t − 1 y=e^t-1 y=et−1,并把 R ( t ) R(t) R(t) 表示成关于 y y y 的多项式 R ′ ( y ) R'(y) R′(y),然后求出 R ′ ( y ) R'(y) R′(y) 再把 y = e t − 1 y=e^t-1 y=et−1 代入求出 R ( t ) R(t) R(t)。

注意这里为什么取 y = e t − 1 y=e^t-1 y=et−1 而不是 y = e t y=e^t y=et,因为我们在将 y = e t y=e^t y=et 代入 R ′ ( y ) R'(y) R′(y) 时, y y y 的很高次项也有可能影响到 R ( t ) R(t) R(t) 的低次项。而若我们用 y = e t − 1 y=e^t-1 y=et−1 代入, e t − 1 e^t-1 et−1 常数项为 0 0 0,代入后 R ′ ( y ) R'(y) R′(y) 中 y y y 的大于 m m m 次项都不会影响到 R ( t ) R(t) R(t) 中 t t t 的小于等于 m m m 次项,这样我们就可以只需要用 R ′ ( y ) R'(y) R′(y) 的前 m m m 次项的系数即可。

由于 e t = y + 1 e^t=y+1 et=y+1,可得:
R ′ ( y ) = R ( t ) = [ x n ] x e t 1 − 4 x + x 3 e 3 t 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) e t ) 2 = [ x n ] x ( y + 1 ) 1 − 4 x + x 3 ( y + 1 ) 3 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) ( y + 1 ) ) 2 \begin{aligned} R'(y)=R(t)&=[x^n]\frac{xe^t}{\sqrt{1-4x}}+\frac{x^3e^{3t}}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})e^t)^2}\\ &=[x^n]\frac{x(y+1)}{\sqrt{1-4x}}+\frac{x^3(y+1)^3}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})(y+1))^2}\\ \end{aligned} R′(y)=R(t)​=[xn]1−4x ​xet​+1−4x ​(1−(1−1−4x ​)et)2x3e3t​=[xn]1−4x ​x(y+1)​+1−4x ​(1−(1−1−4x ​)(y+1))2x3(y+1)3​​
设 C ( n , m ) = [ x n ] ( 1 − 4 x ) m = ( m 2 n ) ( − 4 ) n C(n,m)=[x^n](\sqrt{1-4x})^m=\dbinom{\frac{m}{2}}{n}(-4)^n C(n,m)=[xn](1−4x ​)m=(n2m​​)(−4)n,代进去可得:
R ′ ( y ) = [ x n ] x ( y + 1 ) 1 − 4 x + x 3 ( y + 1 ) 3 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) ( y + 1 ) ) 2 = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 [ x n − 3 ] 1 1 − 4 x ( 1 − ( 1 − 1 − 4 x ) ( y + 1 ) ) 2 \begin{aligned} R'(y)&=[x^n]\frac{x(y+1)}{\sqrt{1-4x}}+\frac{x^3(y+1)^3}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})(y+1))^2}\\ &=(y+1)C(n-1,-1)+(y+1)^3[x^{n-3}]\frac{1}{\sqrt{1-4x}(1-(1-\sqrt{1-4x})(y+1))^2}\\ \end{aligned} R′(y)​=[xn]1−4x ​x(y+1)​+1−4x ​(1−(1−1−4x ​)(y+1))2x3(y+1)3​=(y+1)C(n−1,−1)+(y+1)3[xn−3]1−4x ​(1−(1−1−4x ​)(y+1))21​​
设 z = 1 − 4 x z=\sqrt{1-4x} z=1−4x ​,然后:
R ′ ( y ) = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 [ x n − 3 ] 1 z ( 1 − ( 1 − z ) ( y + 1 ) ) 2 = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 [ x n − 3 ] 1 z ( z y + z − y ) 2 = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 [ x n − 3 ] z − 1 ( ∑ i ≥ 0 ( 1 − z ) i z i + 1 y i ) 2 = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 [ x n − 3 ] ∑ i ≥ 0 ( i + 1 ) ( 1 − z ) i z i + 3 y i = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 ∑ i ≥ 0 ( i + 1 ) y i ∑ j = 0 i ( i j ) [ x n − 3 ] ( − z ) j z i + 3 = ( y + 1 ) C ( n − 1 , − 1 ) + ( y + 1 ) 3 ∑ i ≥ 0 ( i + 1 ) y i ∑ j = 0 i ( i j ) ( − 1 ) j C ( n − 3 , j − i − 3 ) \begin{aligned} R'(y)&=(y+1)C(n-1,-1)+(y+1)^3[x^{n-3}]\frac{1}{z(1-(1-z)(y+1))^2}\\ &=(y+1)C(n-1,-1)+(y+1)^3[x^{n-3}]\frac{1}{z(zy+z-y)^2}\\ &=(y+1)C(n-1,-1)+(y+1)^3[x^{n-3}]z^{-1}\left(\sum_{i\geq 0}\frac{(1-z)^i}{z^{i+1}}y^i\right)^2\\ &=(y+1)C(n-1,-1)+(y+1)^3[x^{n-3}]\sum_{i\geq 0}(i+1)\frac{(1-z)^i}{z^{i+3}}y^i\\ &=(y+1)C(n-1,-1)+(y+1)^3\sum_{i\geq 0}(i+1)y^i\sum_{j=0}^{i}\binom{i}{j}[x^{n-3}]\frac{(-z)^j}{z^{i+3}}\\ &=(y+1)C(n-1,-1)+(y+1)^3\sum_{i\geq 0}(i+1)y^i\sum_{j=0}^{i}\binom{i}{j}(-1)^jC(n-3,j-i-3)\\ \end{aligned} R′(y)​=(y+1)C(n−1,−1)+(y+1)3[xn−3]z(1−(1−z)(y+1))21​=(y+1)C(n−1,−1)+(y+1)3[xn−3]z(zy+z−y)21​=(y+1)C(n−1,−1)+(y+1)3[xn−3]z−1(i≥0∑​zi+1(1−z)i​yi)2=(y+1)C(n−1,−1)+(y+1)3[xn−3]i≥0∑​(i+1)zi+3(1−z)i​yi=(y+1)C(n−1,−1)+(y+1)3i≥0∑​(i+1)yij=0∑i​(ji​)[xn−3]zi+3(−z)j​=(y+1)C(n−1,−1)+(y+1)3i≥0∑​(i+1)yij=0∑i​(ji​)(−1)jC(n−3,j−i−3)​
后面那玩意就能卷积求了。现在我们求出了 R ′ ( y ) = R ( t ) R'(y)=R(t) R′(y)=R(t)。接下来我们要求多项式复合 R ( t ) = R ′ ( e t − 1 ) R(t)=R'(e^t-1) R(t)=R′(et−1)。

我们可以先求出 A ( y ) = R ′ ( y − 1 ) A(y)=R'(y-1) A(y)=R′(y−1),一次减法卷积即可求出。

然后再把 e t e^t et 代入,即要求 A ( e t ) = ∑ i a i e i t A(e^t)=\sum_i a_ie^{it} A(et)=∑i​ai​eit。分治 NTT 即可。

总时间复杂度 O ( n + m log ⁡ 2 m ) O(n+m\log ^2m) O(n+mlog2m)。

#include<bits/stdc++.h>#define N 100010
#define V 20000010using namespace std;namespace modular
{const int mod=998244353,inv2=(mod+1)>>1;inline int add(int x,int y){return x+y>=mod?x+y-mod:x+y;}inline int dec(int x,int y){return x-y<0?x-y+mod:x-y;}inline int mul(int x,int y){return 1ll*x*y%mod;}inline void Add(int &x,int y){x=x+y>=mod?x+y-mod:x+y;}inline void Dec(int &x,int y){x=x-y<0?x-y+mod:x-y;}inline void Mul(int &x,int y){x=1ll*x*y%mod;}inline int poww(int a,int b){int ans=1;for(;b;Mul(a,a),b>>=1)if(b&1)Mul(ans,a);return ans;}
}using namespace modular;inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^'0');ch=getchar();}return x*f;
}namespace Poly
{using modular::add;using modular::mul;using modular::dec;const int LN=20,NN=N<<2;typedef vector<int> poly;vector<int> w[LN][2];void init(int limit){for(int bit=0,mid=1;mid<limit;bit++,mid<<=1){int len=mid<<1;int gn=poww(3,(mod-1)/len);int ign=poww(gn,mod-2);int g=1,ig=1;for(int j=0;j<mid;j++,Mul(g,gn),Mul(ig,ign))w[bit][0].push_back(g),w[bit][1].push_back(ig);}}void NTT(int *a,int limit,int opt){static int rev[NN];opt=(opt<0);for(int i=0;i<limit;i++)rev[i]=(rev[i>>1]>>1)|((i&1)*(limit>>1));for(int i=0;i<limit;i++)if(i<rev[i]) swap(a[i],a[rev[i]]);for(int bit=0,mid=1;mid<limit;bit++,mid<<=1){for(int i=0,len=mid<<1;i<limit;i+=len){for(int j=0;j<mid;j++){int x=a[i+j],y=mul(w[bit][opt][j],a[i+mid+j]);a[i+j]=add(x,y),a[i+mid+j]=dec(x,y);}}}if(opt){int tmp=poww(limit,mod-2);for(int i=0;i<limit;i++) Mul(a[i],tmp);}}poly bmul(const poly &a,const poly &b){const int sa=a.size(),sb=b.size();poly c(sa+sb-1);for(int i=0;i<sa;i++)for(int j=0;j<sb;j++)Add(c[i+j],mul(a[i],b[j]));return c;}poly mul(const poly &a,const poly &b){static int A[NN],B[NN];const int sa=a.size(),sb=b.size();for(int i=0;i<sa;i++) A[i]=a[i];for(int i=0;i<sb;i++) B[i]=b[i];int limit=1;while(limit<(sa+sb-1)) limit<<=1;NTT(A,limit,1),NTT(B,limit,1);for(int i=0;i<limit;i++) Mul(A[i],B[i]);NTT(A,limit,-1);poly c(sa+sb-1);for(int i=0;i<sa+sb-1;i++) c[i]=A[i];for(int i=0;i<limit;i++) A[i]=B[i]=0;return c;}poly dmul(const poly &a,poly b)//a[i]b[j]->c[i-j]{const int sa=a.size(),sb=b.size();reverse(b.begin(),b.end());poly c=mul(a,b),d(sa);for(int i=0;i<sa;i++) d[i]=c[sb+i-1];return d;}poly add(const poly &a,const poly &b){const int sa=a.size(),sb=b.size();poly c(max(sa,sb));for(int i=0;i<sa;i++) c[i]=a[i];for(int i=0;i<sb;i++) Add(c[i],b[i]);return c;}poly dec(const poly &a,const poly &b){const int sa=a.size(),sb=b.size();poly c(max(sa,sb));for(int i=0;i<sa;i++) c[i]=a[i];for(int i=0;i<sb;i++) Dec(c[i],b[i]);return c;}poly getinv(const poly &f,int n){static int ff[NN],g[NN];g[0]=poww(f[0],mod-2);int now=2;for(;now<(n<<1);now<<=1){int limit=now<<1;for(int i=0;i<now;i++) ff[i]=f[i];NTT(ff,limit,1),NTT(g,limit,1);for(int i=0;i<limit;i++)g[i]=mul(dec(2,mul(ff[i],g[i])),g[i]);NTT(g,limit,-1);for(int i=now;i<limit;i++) g[i]=0;}poly res(g,g+n);for(int i=0;i<now;i++) ff[i]=g[i]=0;return res;}
}using Poly::poly;int n,m;
int fac[V],ifac[V];
int C1[N];//C1[m] = C[n-3,-m] = Binomial[(-m)/2,n-3]*(-4)^(n-3)poly C;int Binom(int n,int m)
{if(n<m||n<0||m<0) return 0;return mul(mul(fac[n],ifac[m]),ifac[n-m]);
}void comp1()
{poly a(m+1),b(m+1);for(int i=0;i<=m;i++) a[i]=mul(C[i],fac[i]);for(int i=0;i<=m;i++) b[i]=((i&1)?dec(0,ifac[i]):ifac[i]);C=Poly::dmul(a,b);for(int i=0;i<=m;i++) Mul(C[i],ifac[i]);
}poly fz[N<<2],fm[N<<2];void solve(int k,int l,int r)
{if(l==r){fz[k]=poly{C[l]};fm[k]=poly{1,dec(0,l)};return;}int mid=(l+r)>>1,lc=k<<1,rc=lc|1;solve(lc,l,mid),solve(rc,mid+1,r);fz[k]=Poly::add(Poly::mul(fz[k<<1],fm[k<<1|1]),Poly::mul(fm[k<<1],fz[k<<1|1]));fm[k]=Poly::mul(fm[k<<1],fm[k<<1|1]);
}void comp2()
{solve(1,0,m);C=Poly::mul(fz[1],Poly::getinv(fm[1],m+1));for(int i=0;i<=m;i++) Mul(C[i],ifac[i]);
}int main()
{n=read(),m=read();int limit=1;while(limit<=(m<<1|1)) limit<<=1;Poly::init(limit);const int t=max(n<<1,m); fac[0]=1;for(int i=1;i<=t;i++) fac[i]=mul(fac[i-1],i);ifac[t]=poww(fac[t],mod-2);for(int i=t;i>=1;i--) ifac[i-1]=mul(ifac[i],i);C1[3]=mul(ifac[n-3],poww(mod-4,n-3));for(int i=1,v=dec(inv2,2);i<=n-3;i++,Dec(v,1)) Mul(C1[3],v);for(int i=5,vl=dec(inv2,2),vr=dec(inv2,n-1);i<=m+3;i+=2,Dec(vl,1),Dec(vr,1)) C1[i]=mul(C1[i-2],mul(vr,poww(vl,mod-2)));C1[4]=mul(ifac[n-3],poww(mod-4,n-3));for(int i=1,v=dec(0,2);i<=n-3;i++,Dec(v,1)) Mul(C1[4],v);for(int i=6,vl=dec(0,2),vr=dec(0,n-1);i<=m+3;i+=2,Dec(vl,1),Dec(vr,1)) C1[i]=mul(C1[i-2],mul(vr,poww(vl,mod-2)));poly A(m+1),B(m+1);for(int i=0;i<=m;i++) A[i]=((i&1)?dec(0,ifac[i]):ifac[i]);for(int i=0;i<=m;i++) B[i]=mul(ifac[i],C1[-(-i-3)]);C=Poly::mul(A,B); C.resize(m+1);for(int i=0;i<=m;i++) Mul(C[i],fac[i+1]);C=Poly::bmul(C,poly{1,3,3,1}); C.resize(m+1);Add(C[0],Binom(2*n-2,n-1)); Add(C[1],Binom(2*n-2,n-1));comp1();comp2();for(int i=0;i<=m;i++) printf("%d ",mul(C[i],fac[i]));return 0;
}
/*
3 5
*/

【XSY4375】永无乡(二元GF)相关推荐

  1. bzoj2733永无乡

    永无乡 HYSBZ - 2733 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接, ...

  2. 【BZOJ2733】【HNOI2012】永无乡(Splay启发式合并)

    Description click me Solution 每次合并时考虑将较小的Splay中的节点依次插入较大的Splay中,发现每个点最多会被插入 log2n l o g 2 n log_2n次, ...

  3. BZOJ 2733: [HNOI2012]永无乡 [splay启发式合并]

    2733: [HNOI2012]永无乡 题意:加边,询问一个连通块中k小值 终于写了一下splay启发式合并 本题直接splay上一个节点对应图上一个点就可以了 并查集维护连通性 合并的时候,把siz ...

  4. 数据结构之线段树合并——永无乡,Lomsat gelral,Tree Rotations,Tree Rotations Escape Through Leaf

    文章目录 [HNOI2012]永无乡 Lomsat gelral 「POI2011 R2 Day2」旋转树木 Tree Rotations Escape Through Leaf 线段树合并与 fhq ...

  5. 数据结构之fhq-treap——Chef and Sets,[HNOI2012]永无乡,Play with Chain,[NOI2005]维修数列(结构体版代码)

    因为非常板,所以主要是代码 Tyvj 1728 普通平衡树 Chef and Sets [HNOI2012]永无乡 Play with Chain [NOI2005]维修数列 题目很水,所以可能会出现 ...

  6. P3224 [HNOI2012]永无乡(并查集+权值线段树合并/平衡树)

    [HNOI2012]永无乡 Code1 权值线段树天然支持merge,线段树上二分求第k小 #include<bits/stdc++.h>using namespace std; usin ...

  7. BZOJ 2733: [HNOI2012]永无乡 启发式合并treap

    2733: [HNOI2012]永无乡 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...

  8. bzoj 2733: [HNOI2012]永无乡(线段树启发式合并)

    2733: [HNOI2012]永无乡 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3850  Solved: 2061 [Submit][Sta ...

  9. [BZOJ2733] [HNOI2012] 永无乡 (splay启发式合并)

    Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...

  10. 洛谷P3224【HNOI2012】永无乡

    洛谷P3224[HNOI2012]永无乡 题目大意 有 n n n个点,每个点都有一个重要度.先连接 m m m条边,然后有 q q q次操作: B x y 表示连接点 x x x和点 y y y Q ...

最新文章

  1. 链表栈-》与数组栈同接口-》更确切地说是单项链表的接口封装
  2. 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束
  3. [µC/GUI 学习]µC/GUI移植
  4. 云原生人物志 | Pulsar翟佳:社区的信任最重要
  5. webstorm 注册码,亲测可用
  6. LockDemo 锁对象
  7. 5h是什么意思_2B铅笔中的2B是啥意思?
  8. Lodop在页面获取打印机列表 选择打印机预览
  9. 实现文字跟随鼠标移动--[转]
  10. python提示line3_Python小技巧:Python3中利用tab键进行代码提示-阿里云开发者社区...
  11. Qt配置OpenCV教程,亲测已试过(详细版)
  12. 新倩女幽魂服务器维护,《倩女幽魂Online》更新公告(版本1.0.23)
  13. 工具武装的前端开发工程师
  14. Python中7种随机函数总结
  15. vue页面无操作30分钟退出登录
  16. 公派访问学者办理签证的五点建议
  17. 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系
  18. 横河川仪压力变送器故障代码_压力变送器常见故障及解决办法
  19. java wed高德地图开发_java接入高德地图常用WEB API
  20. CString 包含头文件

热门文章

  1. 看雪论坛做测试题得30Kx(附答案)
  2. Spring中的事务
  3. uniapp打开、搜索蓝牙,通过蓝牙发送、接收数据
  4. AC6(CLANG)下变量 绝对定位的方法
  5. 基础 | OCR文字检测与识别
  6. 用 VNC 远程图形化登录 Linux (VNC 全屏显示)
  7. Houdini湖边小屋-屋顶细分详细过程记录
  8. matlab支路参数矩阵,哪位大神看看这个程序呀,参数下面给了
  9. 程序员面试宝典(第二版)要点汇总
  10. 新手主播求职不懂这些当心被坑!!!