zoukankan      html  css  js  c++  java
  • 【Codeforces Round #427 (Div. 2) C】Star sky

    Link:http://codeforces.com/contest/835/problem/C

    Description

    给你n个星星的坐标(xi,yi);
    第i个星星在第t秒,闪烁值变为(si+t)%(c+1);
    给你q个询问,每个询问由时间t和一个矩形的左下角和右上角组成;
    问这个矩形区域内的星星闪烁值的总和;

    Solution

    朴素的做法;

        a[j][k][l]表示(j,k)这个点一开始闪烁值为l的星星有多少个;
        for (int i = 1;i <= q;i++){
            int temp = 0;
            for (int j = 1;j <= 100;j++)
                for (int k = 1;k <= 100;k++)
                    for (int l = 0;l <= c;l++)
                        temp += a[j][k][l]*((t[i]+l)%(c+1));
            out(temp);
        }


    这里可以把两层1..100的for循环,用一个前缀和省掉.


    NumberOf WA

    0

    Reviw


    Code

    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N = 100;
    const int C = 10;
    
    int a[N+10][N+10][C+10];
    int n,q,c;
    
    int getsum(int x1,int y1,int x2,int y2,int k){
        int temp1 = a[x2][y2][k];
        int temp2 = a[x2][y1-1][k];
        int temp3 = a[x1-1][y2][k];
        int temp4 = a[x1-1][y1-1][k];
        return temp1-temp2-temp3+temp4;
    }
    
    main(){
        scanf("%lld%lld%lld",&n,&q,&c);
        for (int i = 1;i <= n;i++){
            int x,y,s;
            scanf("%lld%lld%lld",&x,&y,&s);
            a[x][y][s]++;
        }
        for (int i = 1;i <= N;i++)
            for (int j = 1;j <= N;j++)
                for (int k = 0;k <= c;k++)
                    a[i][j][k] += a[i][j-1][k]+a[i-1][j][k]-a[i-1][j-1][k];
        for (int i = 1;i <= q;i++){
            int t,x1,y1,x2,y2;
            scanf("%lld%lld%lld%lld%lld",&t,&x1,&y1,&x2,&y2);
            int temp = 0;
            for (int j = 0;j <= c;j++){
                temp += getsum(x1,y1,x2,y2,j)*((j+t)%(c+1));
            }
            printf("%lld
    ",temp);
        }
    }
  • 相关阅读:
    Webbrowser 取消下载提示框
    The service ‘xxx’ configured for WCF is not registered with the Autofac container
    Code First 中的 TPH TPT TPC
    SQL Server 之 解锁
    导入 github 步骤
    初试 pyhton 简易采集
    js 一些小技巧
    linux 学习笔记
    lnmp 环境搭建后,pathinfo 模式支持的配制。
    windows 快捷键相关命令
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626147.html
Copyright © 2011-2022 走看看