zoukankan      html  css  js  c++  java
  • Petrozavodsk Winter Camp, Day 8, 2014, Rectangle Count

    给一个n*m的格点图,问其中有多少个矩形?

    $ sum_{x=1}^{nm} sum_{ab=x} [a + b leq n](n - a - b + 1)sum_{cd=x} [c + d leq m](m - c - bd + 1)$

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    typedef long long ll;
    #define rep(i, j, k) for (int i = int(j); i <= int(k); ++ i)
    const int N = 2507;
    LL f[N * N], g[N * N];
    
    int main() {
        LL n, m;
        cin >> n >> m;
        n --; m --;
        rep(i, 1, n) rep(j, 1, n - i) 
            if (i * j < N * N) f[i * j] += (LL)(n - i - j + 1);
        rep(i, 1, m) rep(j, 1, m - i)
            if (i * j < N * N) g[i * j] += (LL)(m - i - j + 1);
        LL ans = 0;
        rep(i, 1, N * N - 1) {
            // if (f[i] * g[i]) cout << i << '
    ';
            ans += f[i] * g[i];
        }
        ans += (n * (n + 1) / 2) * (m * (m + 1) / 2);
        cout << ans << '
    ';     
    }
  • 相关阅读:
    第一次程序改错
    趣拼图——项目演示及代码
    数据流图和数据流程图
    UML图
    UML用例图
    第二次迭代目标的分配
    小组分工
    迭代目标
    我们的项目
    2017-4-18 关于小组APP
  • 原文地址:https://www.cnblogs.com/tempestT/p/10659621.html
Copyright © 2011-2022 走看看