上次看莫比乌斯繁衍反演是一个月前,讲道理没怎么看懂..

然后出去跪了二十天, 然后今天又开始看发现其实并不难理解
 
开个这个仅记录一下写过的题。
HAOI 2011 B
 
这应该是莫比乌斯反演的模板题,有很多题解,不多说。
CODE:
  1. //HAOI 2011 B
  2. //by Cydiater
  3. //2016.7.25
  4. #include <iostream>
  5. #include <cstring>
  6. #include <string>
  7. #include <algorithm>
  8. #include <cstdio>
  9. #include <cstdlib>
  10. #include <ctime>
  11. #include <cmath>
  12. #include <iomanip>
  13. #include <string>
  14. #include <queue>
  15. #include <map>
  16. using namespace std;
  17. #define ll long long
  18. #define up(i,j,n) for(int i=j;i<=n;i++)
  19. #define down(i,j,n) for(int i=j;i>=n;i--)
  20. #define FILE "b"
  21. ;
  22. const int oo=0x3f3f3f3f;
  23. inline int read(){
  24. ,f=;
  25. ;ch=getchar();}
  26. +ch-';ch=getchar();}
  27. return x*f;
  28. }
  29. ,T,a,b,c,d,sum[MAXN],k;
  30. bool vis[MAXN];
  31. namespace solution{
  32. void make_mu(){
  33. mu[]=;
  34. memset(vis,,sizeof(vis));
  35. up(i,,){
  36. ;}
  37. ;prime[j]*i<=&&j<=cnt;j++){
  38. vis[prime[j]*i]=;
  39. )mu[i*prime[j]]=-mu[i];
  40. else{
  41. mu[i*prime[j]]=;
  42. break;
  43. }
  44. }
  45. }
  46. up(i,,)sum[i]=sum[i-]+mu[i];
  47. }
  48. int get(int n,int m){
  49. if(n>m)swap(n,m);
  50. ;
  51. ;i<=n;i=pos+){
  52. pos=min(n/(n/i),m/(m/i));
  53. ans+=(sum[pos]-sum[i-])*(n/i)*(m/i);
  54. }
  55. return ans;
  56. }
  57. }
  58. int main(){
  59. //freopen("input.in","r",stdin);
  60. freopen(FILE".in","r",stdin);
  61. freopen(FILE".out","w",stdout);
  62. T=read();
  63. using namespace solution;
  64. memset(sum,,sizeof(sum));
  65. make_mu();
  66. while(T--){
  67. a=read();b=read();c=read();d=read();k=read();
  68. a--;c--;
  69. a/=k;b/=k;c/=k;d/=k;
  70. printf("%d\n",get(b,d)-get(a,d)-get(b,c)+get(a,c));
  71. }
  72. ;
  73. }

BZOJ 1101

上一道题的弱化版..
  1. //BZOJ 1101
  2. //by Cydiater
  3. //2016.7.25
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <algorithm>
  9. #include <ctime>
  10. #include <cmath>
  11. #include <cstdlib>
  12. #include <queue>
  13. #include <map>
  14. #include <iomanip>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(int i=j;i<=n;i++)
  18. #define down(i,j,n) for(int i=j;i>=n;i--)
  19. ;
  20. const int oo=0x3f3f3f3f;
  21. inline int read(){
  22. ,f=;
  23. ;ch=getchar();}
  24. +ch-';ch=getchar();}
  25. return x*f;
  26. }
  27. ,sum[MAXN],T;
  28. bool vis[MAXN];
  29. namespace solution{
  30. void make_mu(){
  31. memset(mu,,sizeof(mu));
  32. memset(sum,,sizeof(sum));
  33. mu[]=;
  34. up(i,,){
  35. ;}
  36. ;j<=cnt&&i*prime[j]<=;j++){
  37. vis[i*prime[j]]=;
  38. )mu[i*prime[j]]=-mu[i];
  39. else{
  40. mu[i*prime[j]]=;
  41. break;
  42. }
  43. }
  44. }
  45. up(i,,)sum[i]=sum[i-]+mu[i];
  46. }
  47. int get(int n,int m){
  48. ;
  49. if(n>m)swap(n,m);
  50. ;i<=n;i=pos+){
  51. pos=min(m/(m/i),n/(n/i));
  52. ans+=(sum[pos]-sum[i-])*(m/i)*(n/i);
  53. }
  54. return ans;
  55. }
  56. }
  57. int main(){
  58. //freopen("input.in","r",stdin);
  59. using namespace solution;
  60. make_mu();
  61. T=read();
  62. while(T--){
  63. int a=read(),b=read(),k=read();
  64. a/=k;b/=k;
  65. printf("%d\n",get(a,b));
  66. }
  67. ;
  68. }
Vijos 1889
 
题意就是让你求出第N个mu[i]!=0的数。
然后我们知道小于 i的莫比乌斯函数值不为0的数有Σmu[i]*(x/i^2)个(我从黄学长博客上看到的QAQ)
然后我们就可以愉快的二分了
 
PS注意枚举i时要设为ll
  1. //Vijos 1889
  2. //by Cydiater
  3. //2016.7.25
  4. #include <iostream>
  5. #include <iomanip>
  6. #include <cstdio>
  7. #include <cstring>
  8. #include <string>
  9. #include <ctime>
  10. #include <cmath>
  11. #include <queue>
  12. #include <map>
  13. #include <cstdlib>
  14. #include <algorithm>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(int i=j;i<=n;i++)
  18. #define down(i,j,n) for(int i=j;i>=n;i--)
  19. +;
  20. const int oo=0x3f3f3f3f;
  21. inline ll read(){
  22. ,f=;
  23. ;ch=getchar();}
  24. +ch-';ch=getchar();}
  25. return x*f;
  26. }
  27. ll N,prime[MAXN],cnt=,mu[MAXN],leftt,rightt,mid;
  28. bool vis[MAXN];
  29. namespace solution{
  30. void make_mu(){
  31. memset(vis,,sizeof(vis));
  32. memset(mu,,sizeof(mu));
  33. up(i,,){
  34. ;}
  35. ;prime[j]*i<=&&j<=cnt;j++){
  36. vis[prime[j]*i]=;
  37. )mu[i*prime[j]]=-mu[i];
  38. else{
  39. mu[i*prime[j]]=;
  40. break;
  41. }
  42. }
  43. }
  44. }
  45. void init(){
  46. N=read();
  47. }
  48. bool check(ll num){
  49. ll lim=1LL*sqrt(;
  50. ;i<=lim;i++)
  51. ans+=num/(i*i)*mu[i];
  52. return ans>=N;
  53. }
  54. void slove(){
  55. leftt=N;rightt=25505460948LL;
  56. <rightt){
  57. mid=(leftt+rightt)>>;
  58. if(check(mid)) rightt=mid;
  59. else leftt=mid;
  60. }
  61. if(check(leftt))cout<<leftt<<endl;
  62. else cout<<rightt<<endl;
  63. }
  64. }
  65. int main(){
  66. //freopen("input.in","r",stdin);
  67. //freopen("out.out","w",stdout);
  68. using namespace solution;
  69. make_mu();
  70. init();
  71. slove();
  72. ;
  73. }

BZOJ 2440

上面那道题做一下小修改就好了
  1. //bzoj2440
  2. //by Cydiater
  3. //2016.7.25
  4. #include <iostream>
  5. #include <iomanip>
  6. #include <cstdio>
  7. #include <cstring>
  8. #include <string>
  9. #include <ctime>
  10. #include <cmath>
  11. #include <queue>
  12. #include <map>
  13. #include <cstdlib>
  14. #include <algorithm>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(int i=j;i<=n;i++)
  18. #define down(i,j,n) for(int i=j;i>=n;i--)
  19. +;
  20. const int oo=0x3f3f3f3f;
  21. inline ll read(){
  22. ,f=;
  23. ;ch=getchar();}
  24. +ch-';ch=getchar();}
  25. return x*f;
  26. }
  27. ll N,prime[MAXN],cnt=,mu[MAXN],leftt,rightt,mid,T;
  28. bool vis[MAXN];
  29. namespace solution{
  30. void make_mu(){
  31. memset(vis,,sizeof(vis));
  32. memset(mu,,sizeof(mu));
  33. up(i,,){
  34. ;}
  35. ;prime[j]*i<=&&j<=cnt;j++){
  36. vis[prime[j]*i]=;
  37. )mu[i*prime[j]]=-mu[i];
  38. else{
  39. mu[i*prime[j]]=;
  40. break;
  41. }
  42. }
  43. }
  44. }
  45. void init(){
  46. N=read();
  47. }
  48. bool check(ll num){
  49. ll lim=1LL*sqrt(;
  50. ;i<=lim;i++)
  51. ans+=num/(i*i)*mu[i];
  52. return num-ans>=N;
  53. }
  54. void slove(){
  55. leftt=N;rightt=25505460948LL;
  56. <rightt){
  57. mid=(leftt+rightt)>>;
  58. if(check(mid)) rightt=mid;
  59. else leftt=mid;
  60. }
  61. if(check(leftt))cout<<leftt<<endl;
  62. else cout<<rightt<<endl;
  63. }
  64. }
  65. int main(){
  66. //freopen("input.in","r",stdin);
  67. //freopen("out.out","w",stdout);
  68. using namespace solution;
  69. make_mu();
  70. T=read();
  71. while(T--){
  72. init();
  73. slove();
  74. }
  75. ;
  76. }

YY的GCD

要克服公式恐惧症啊= =
 
和B那道题很像,但是与那道题不同的是这道题要求求出所有的素数。
设f(p)为在x在1-n中,y在1-m中满足gcd(x,y)==p的个数
所以我们就可以推出这样一个式子:
 
然后我们就有了暴力求出这个题答案的方法了。
但是显然会超时,考虑优化
 

这样的话如果我们能预处理出,就能很快的求出答案了。显然暴力的方法能预处理出来。

  1. //YY de GCD
  2. //by Cydiater
  3. //2016.7.26
  4. #include <iostream>
  5. #include <cstring>
  6. #include <string>
  7. #include <algorithm>
  8. #include <cmath>
  9. #include <queue>
  10. #include <map>
  11. #include <cstdlib>
  12. #include <cstdio>
  13. #include <iomanip>
  14. #include <ctime>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(int i=j;i<=n;i++)
  18. #define down(i,j,n) for(int i=j;i>=n;i--)
  19. #define FILE "YYnoGCD"
  20. const int oo=0x3f3f3f3f;
  21. ;
  22. inline ll read(){
  23. ,f=;
  24. ;ch=getchar();}
  25. +ch-';ch=getchar();}
  26. return x*f;
  27. }
  28. ,f[MAXN],T,mu[MAXN];
  29. bool vis[MAXN];
  30. namespace solution{
  31. void make_mu(){
  32. memset(vis,,sizeof(vis));
  33. memset(f,,sizeof(f));
  34. mu[]=;
  35. up(i,,){
  36. ;}
  37. up(j,,cnt){
  38. )break;
  39. vis[prime[j]*i]=;
  40. )mu[i*prime[j]]=-mu[i];
  41. else{
  42. mu[i*prime[j]]=;
  43. break;
  44. }
  45. }
  46. }
  47. up(i,,cnt)up(j,,){
  48. )break;
  49. f[prime[i]*j]+=mu[j];
  50. }
  51. up(i,,)f[i]+=f[i-];
  52. }
  53. void slove(ll a,ll b){
  54. ll ans=,pos;
  55. if(a>b)swap(a,b);
  56. up(i,,a){
  57. pos=min(a/(a/i),b/(b/i));
  58. ans+=(f[pos]-f[i-])*(a/i)*(b/i);
  59. i=pos;
  60. }
  61. cout<<ans<<endl;
  62. }
  63. }
  64. int main(){
  65. //freopen("input.in","r",stdin);
  66. freopen(FILE".in","r",stdin);
  67. freopen(FILE".out","w",stdout);
  68. using namespace solution;
  69. make_mu();
  70. T=read();
  71. while(T--){
  72. ll a=read(),b=read();
  73. slove(a,b);
  74. }
  75. ;
  76. }

BZOJ 4407于神之怒

 
这些题为什么越来越难了QAQ
给下N,M,K.求
下面给出公式的推导:
  1. //BZOJ 4407
  2. //by Cydiater
  3. //2016.7.27
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <algorithm>
  9. #include <cstdlib>
  10. #include <queue>
  11. #include <map>
  12. #include <iomanip>
  13. #include <cmath>
  14. #include <ctime>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(int i=j;i<=n;i++)
  18. #define down(i,j,n) for(int i=j;i>=n;i--)
  19. ;
  20. const int LIM=5e6;
  21. const int oo=0x3f3f3f3f;
  22. ;
  23. inline int read(){
  24. ,f=;
  25. ;ch=getchar();}
  26. +ch-';ch=getchar();}
  27. return x*f;
  28. }
  29. ll f[MAXN],prime[MAXN],cnt=,N,K,g[MAXN],T;
  30. bool vis[MAXN];
  31. namespace solution{
  32. inline ll quick_pow(ll a,ll b){
  33. ll tmp=;
  34. while(b){
  35. )tmp=(tmp*a)%mod;
  36. a=(a*a)%mod;
  37. b>>=;
  38. }
  39. return tmp;
  40. }
  41. void pret(){
  42. memset(vis,,sizeof(vis));
  43. f[]=;
  44. up(i,,LIM){
  45. ;}
  46. up(j,,cnt){
  47. if(i*prime[j]>LIM)break;
  48. vis[i*prime[j]]=;
  49. ){
  50. f[i*prime[j]]=(f[i]*f[prime[j]])%mod;
  51. }else{
  52. f[i*prime[j]]=(f[i]*g[j])%mod;
  53. break;
  54. }
  55. }
  56. }
  57. up(i,,LIM)f[i]=(f[i-]+f[i])%mod;
  58. }
  59. void slove(ll a,ll b){
  60. ll ans=,pos;
  61. if(a>b)swap(a,b);
  62. up(i,,a){
  63. pos=min(a/(a/i),b/(b/i));
  64. ans+=(((f[pos]+mod-f[i-])*(a/i))%mod)*(b/i);
  65. ans%=mod;
  66. i=pos;
  67. }
  68. printf("%lld\n",ans);
  69. }
  70. }
  71. int main(){
  72. freopen("input.in","r",stdin);
  73. using namespace solution;
  74. T=read();K=read();
  75. pret();
  76. while(T--)slove(read(),read());
  77. ;
  78. }

BZOJ 2154

数论好坑啊
做这道题是为了做下一道题,这道题是下一道题的弱化版..但是我调试了几乎一个上午。
给定N,M求N,M内的lcm累加和。
下面是公式时间:
 


 然后双重分块就好了

这个调试的真恶心...

  1. //BZOJ 2154
  2. //by Cydiater
  3. //2016.7.27
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <string>
  7. #include <cstring>
  8. #include <iomanip>
  9. #include <queue>
  10. #include <map>
  11. #include <ctime>
  12. #include <cmath>
  13. #include <algorithm>
  14. #include <cstdlib>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(ll i=j;i<=n;i++)
  18. #define down(i,j,n) for(ll i=j;i>=n;i--)
  19. ;
  20. const ll LIM=1e7;
  21. ;
  22. const ll oo=0x3f3f3f3f;
  23. inline ll read(){
  24. ,f=;
  25. ;ch=getchar();}
  26. +ch-';ch=getchar();}
  27. return x*f;
  28. }
  29. ll prime[MAXN],cnt=,mu[MAXN],N,M;
  30. bool vis[MAXN];
  31. namespace solution{
  32. void pret(){
  33. memset(vis,,sizeof(vis));
  34. memset(mu,,sizeof(mu));
  35. mu[]=;
  36. up(i,,N){
  37. ;}
  38. up(j,,cnt){
  39. if(prime[j]*i>N)break;
  40. vis[prime[j]*i]=;
  41. ){
  42. mu[i*prime[j]]=-mu[i];
  43. }else{
  44. mu[i*prime[j]]=;
  45. break;
  46. }
  47. }
  48. }
  49. up(i,,N)mu[i]=(mu[i-]+(mu[i]*i*i)%mod)%mod;
  50. }
  51. ll sum(ll a,ll b){
  52. )*a/%mod)*(b*(b+)/%mod)%mod;
  53. }
  54. ll F(ll a,ll b){
  55. ll pos,ans=;
  56. if(a>b)swap(a,b);
  57. up(i,,a){
  58. pos=min(a/(a/i),b/(b/i));
  59. ans=(ans+(mu[pos]-mu[i-])*sum(a/i,b/i))%mod;
  60. i=pos;
  61. }
  62. return ans;
  63. }
  64. void slove(ll a,ll b){
  65. if(a>b)swap(a,b);
  66. ll pos,ans=;
  67. up(i,,a){
  68. pos=min(a/(a/i),b/(b/i));
  69. ans=(ans+(i+pos)*(pos-i+)/%mod*F(a/i,b/i)%mod)%mod;
  70. i=pos;
  71. }
  72. printf("%lld\n",(ans+mod)%mod);
  73. }
  74. }
  75. int main(){
  76. freopen("input.in","r",stdin);
  77. using namespace solution;
  78. N=read();M=read();
  79. if(N>M)swap(N,M);
  80. pret();
  81. slove(N,M);
  82. //cout<<"Time has passed:"<<1.0*clock()/1000<<"s!"<<endl;
  83. ;
  84. }

BZOJ 2693:

这些数论题套路很多啊..
接着上一个公式:
  1. //BZOJ 2693
  2. //by Cydiater
  3. //2016.7.29
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <algorithm>
  9. #include <cmath>
  10. #include <ctime>
  11. #include <queue>
  12. #include <map>
  13. #include <cstdlib>
  14. #include <iomanip>
  15. using namespace std;
  16. #define ll long long
  17. #define up(i,j,n) for(ll i=j;i<=n;i++)
  18. #define down(i,j,n) for(ll i=j;i>=n;i--)
  19. ;
  20. const int LIM=1e7;
  21. ;
  22. const int oo=0x3f3f3f3f;
  23. inline ll read(){
  24. ,f=;
  25. ;ch=getchar();}
  26. +ch-';ch=getchar();}
  27. return x*f;
  28. }
  29. ll f[MAXN],prime[MAXN],cnt=,T;
  30. bool vis[MAXN];
  31. namespace solution{
  32. void pret(){
  33. memset(vis,,sizeof(vis));
  34. f[]=;
  35. up(i,,LIM){
  36. if(!vis[i]){prime[++cnt]=i;f[i]=(i-i*i%mod)%mod;}
  37. up(j,,cnt){
  38. if(prime[j]*i>LIM)break;
  39. vis[prime[j]*i]=;
  40. ){
  41. f[i*prime[j]]=(f[i]*prime[j])%mod;
  42. break;
  43. }
  44. f[i*prime[j]]=(f[prime[j]]*f[i])%mod;
  45. }
  46. }
  47. up(i,,LIM)f[i]=(f[i]+f[i-])%mod;
  48. }
  49. ll sum(ll a,ll b){
  50. ll tmp1=(a*(a+)/)%mod;
  51. ll tmp2=(b*(b+)/)%mod;
  52. return (tmp1*tmp2)%mod;
  53. }
  54. void slove(ll a,ll b){
  55. if(a>b)swap(a,b);
  56. ll pos,ans=;
  57. up(i,,a){
  58. pos=min(a/(a/i),b/(b/i));
  59. ans=(ans+(f[pos]-f[i-])*sum(a/i,b/i)%mod)%mod;
  60. i=pos;
  61. }
  62. printf("%lld\n",(ans+mod)%mod);
  63. }
  64. }
  65. int main(){
  66. //freopen("input.in","r",stdin);
  67. using namespace solution;
  68. T=read();
  69. pret();
  70. while(T--)slove(read(),read());
  71. ;
  72. }

Mobius 反演的更多相关文章

  1. SPOJ PGCD (mobius反演 + 分块)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :求满足gcd(i , j)是素数(1 &l ...

  2. 关于Mobius反演

    欧拉函数 \(\varphi\) \(\varphi(n)=\)表示不超过 \(n\) 且与 \(n\) 互质的正整数的个数 \[\varphi(n)=n\cdot \prod_{i=1}^{s}(1 ...

  3. mobius反演讲解

    mobius反演的基本形式为,假设知道函数F(x)=Σf(d) d|x,那么我们可以推出f(x)=Σmiu(d)*F(x/d) d|x,另一基本形式为假设知道函数F(x)=Σf(d) x|d,那么我们 ...

  4. [基本操作] Mobius 反演, Dirichlet 卷积和杜教筛

    Dirichlet 卷积是两个定义域在正整数上的函数的如下运算,符号为 $*$ $(f * g)(n) = \sum_{d|n}f(d)g(\frac{n}{d})$ 如果不强调 $n$ 可简写为 $ ...

  5. Mobius反演与积性函数前缀和演学习笔记 BZOJ 4176 Lucas的数论 SDOI 2015 约数个数和

    下文中所有讨论都在数论函数范围内开展. 数论函数指的是定义域为正整数域, 且值域为复数域的函数. 数论意义下的和式处理技巧 因子 \[ \sum_{d | n} a_d = \sum_{d | n} ...

  6. Mobius 反演与杜教筛

    积性函数 积性函数 指对于所有互质的整数 aaa 和 bbb 有性质 f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b) 的数论函数. 特别地,若所有的整数 aaa ...

  7. Mobius反演学习

    这篇文章参考了许多资料和自己的理解. 先放理论基础. 最大公约数:小学学过,这里只提一些重要的公式: $·$若$a=b$,则$\gcd(a,b)=a=b$: $·$若$\gcd(a,b)=d$,则$\ ...

  8. Note -「Mobius 反演」光速入门

    目录 Preface 数论函数 积性函数 Dirichlet 卷积 Dirichlet 卷积中的特殊函数 Mobius 函数 & Mobius 反演 Mobius 函数 Mobius 反演 基 ...

  9. 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)

    首先我们来看一道题  BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...

  10. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

随机推荐

  1. 226 Invert Binary Tree

    /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = ...

  2. (六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 本章我们讨论一个除前面的单例 ...

  3. PowerShell Script to Deploy Multiple VM on Azure in Parallel #azure #powershell

    Since I need to deploy, start, stop and remove many virtual machines created from a common image I c ...

  4. AutoMapperHelper

    /// <summary> /// AutoMapper帮助类 /// </summary> public static class AutoMapperHelper { // ...

  5. Windows7 x64配置 Apache2 + PHP5 + MySQL5

    1:相关软件下载: Apache HTTP Server             版本:(httpd-2.2.25-win32-x86-openssl-0.9.8y) PHP             ...

  6. background-position 50% 50%是如何计算的

    background-position:value1 value2 value1和value2的值可以值绝对值也可以是百分数,大部分值都很好理解,但是50% 50%这两个值是如何计算的呢? 图片水平和 ...

  7. 【原创】你知道OneNote的OCR功能吗?office lens为其增大威力,中文也识别

    OneNote提供了强大的从图片中取出文字的功能,大家只要装上了桌面版OneNote(本人用的2013版和win8.1版测试的,其他版本为测),将图片放在OneNote笔记中,右键图片即可把图片中的文 ...

  8. jquery validate 隐藏域内容验证

  9. elasticsearch installation guide

    UBUNTU 14.04 LTS 安装 elasticseach同步MYSQL表并实现中文搜索 ==================================================== ...

  10. js_RGB转16进制(rgb2hex)

    输入:rgb(13,0,255) 输出:#0d00ff 在线颜色转换工具:http://www.atool.org/colorpicker.php 1 2 3 4 5 6 7 8 9 function ...