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; 
    }
  • 相关阅读:
    一场由空格引发的错误数据
    ECS服务器搭建Discuz 邮箱设置,报错处理
    MS SQL CASE WHEN 的用法
    sql prompt 缩写 快捷键
    CentOS 防火墙
    docker swarm
    docker machine
    docker-compose 配置
    docker-compsoe & .netcore & nginx
    dockerfile
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/9437476.html
Copyright © 2011-2022 走看看