zoukankan      html  css  js  c++  java
  • bzoj2969矩形粉刷

    题解:

    和前面那个序列的几乎一样

    容斥之后变成求不覆盖的

    然后再像差分的矩形那样

    由于是随便取的所以这里不用处理前缀和直接求也可以

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    #define rint register ll
    #define IL inline
    #define ll long long
    #define rep(i,h,t) for (rint i=h;i<=t;i++)
    #define dep(i,t,h) for (rint i=t;i>=h;i--)
    const double ee=1.0000000000000000;
    ll n,m,k;
    IL double fsp(double x,ll y)
    {
      double ans=1;
      while (y)
      {
        if (y&1) ans*=x;
        y>>=1; x*=x;
      }
      return(ans); 
    }
    IL ll js(ll x)
    {
      return(1LL*x*x);
    }
    IL ll qq(ll x1,ll x2,ll y1,ll y2)
    {
      if (x1>x2||y1>y2) return(0);
      return(js((x2-x1+1)*(y2-y1+1))); 
    }
    int main()
    {
      freopen("1.in","r",stdin);
      freopen("1.out","w",stdout);
      ios::sync_with_stdio(false);
      cin>>k>>n>>m;
      ll num=js(n*m);
      double ans=0;
      rep(i,1,n)
        rep(j,1,m)
        {
          double now=qq(1,n,1,j-1)+qq(1,i-1,1,m)+qq(1,n,j+1,m)+qq(i+1,n,1,m);
          now-=qq(1,i-1,1,j-1)+qq(i+1,n,1,j-1)+qq(1,i-1,j+1,m)+qq(i+1,n,j+1,m);
          now/=num;
          now=ee-fsp(now,k);
          ans+=now;
        } 
      printf("%.0f",ans);
      return 0; 
    }
  • 相关阅读:
    【笔记】隐式寻址方式(pending...)
    【笔记】有结构文件(pending...)
    【笔记】目录项(pending...)
    【笔记】主存储器
    Ubuntu 16.04 升级OpenSSH至7.7p1
    awk用法笔记
    find命令笔记
    VIM的使用
    Shell
    Linux文本处理三剑客
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/9437476.html
Copyright © 2011-2022 走看看