zoukankan      html  css  js  c++  java
  • POJ 1195 Mobile phones

    http://poj.org/problem?id=1195

    早上起来A题,结果隔壁寝室的不知道在争论什么,声音真是大。。。。

    让人都静不下心来。。

    View Code
     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 const int maxn = 1050;
     5 int ans[maxn][maxn];
     6 
     7 int lowbit(int x)
     8 {
     9     return x & (-x);
    10 }
    11 
    12 void mod(int temp[], int x, int c)
    13 {
    14     int i;
    15     for(i=x;i<maxn;i+=lowbit(i))
    16         temp[i]+=c;
    17 }
    18 
    19 int getSum(int temp[],int x)
    20 {
    21     int i,sum=0;
    22     for(i=x;i>0;i-=lowbit(i))
    23         sum+=temp[i];
    24     return sum;
    25 }
    26 int main()
    27 {
    28     int n,m,d,i,j;
    29     scanf("%d%d",&n,&m);
    30     for(i=0;i<maxn;i++)
    31     for(j=0;j<maxn;j++)
    32     ans[i][j]=n;
    33     while(~scanf("%d",&d),d!=3)
    34     {
    35         int a,b,x,y;
    36         if(d%2)
    37         {
    38             scanf("%d%d%d",&x,&y,&a);
    39             mod(ans[x],y+1,a);
    40         }
    41         else
    42         {
    43             int sum=0;
    44             scanf("%d%d%d%d",&a,&b,&x,&y);
    45             for(i=a;i<=x;i++){
    46                 sum+=getSum(ans[i],y+1)-getSum(ans[i],b);
    47             }
    48             printf("%d\n",sum);
    49         }
    50     }
    51     return 0;
    52 }
    53 
    54  

    原来真是够暴力。。o(╯□╰)o

    这个的话就可以了。

    View Code
     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 const int maxn = 1050;
     5 int ans[maxn][maxn],m;
     6 
     7 int lowbit(int x)
     8 {
     9     return x & (-x);
    10 }
    11 
    12 void mod(int x, int y, int a)
    13 {
    14     int i,j;
    15     for(i=x;i<=m;i+=lowbit(i))
    16     {
    17         for(j=y;j<=m;j+=lowbit(j))
    18             ans[i][j]+=a;
    19     }
    20 }
    21 
    22 int getSum(int x,int y)
    23 {
    24     int i,j,sum=0;
    25     for(i=x;i>0;i-=lowbit(i))
    26     {
    27         for(j=y;j>0;j-=lowbit(j))
    28             sum+=ans[i][j];
    29     }
    30     return sum;
    31 }
    32 int main()
    33 {
    34     int n,d,i,j;
    35     scanf("%d%d",&n,&m);
    36     for(i=0;i<maxn;i++)
    37     for(j=0;j<maxn;j++)
    38     ans[i][j]=0;
    39     while(~scanf("%d",&d),d!=3)
    40     {
    41         int a,b,x,y;
    42         if(d%2)
    43         {
    44             scanf("%d%d%d",&x,&y,&a);
    45             x++;
    46             y++;
    47             mod(x,y,a);
    48         }
    49         else
    50         {
    51             int sum=0;
    52             scanf("%d%d%d%d",&a,&b,&x,&y);
    53             a++;
    54             b++;
    55             x++;
    56             y++;
    57             sum=getSum(x,y)-getSum(x,b-1)-getSum(a-1,y)+getSum(a-1,b-1);
    58             printf("%d\n",sum);
    59         }
    60     }
    61     return 0;
    62 }
    63 
    64  
  • 相关阅读:
    编译原理实验(NFA转DFA,LL1文法)
    欧几里得算法
    Codeforces Round #697 (Div. 3) A -D 解题报告
    STM32使用SPI驱动WS2812灯带
    读书笔记---<<人月神话>>5
    基于百度和echars接口,实现多点连接
    读书笔记---<<人月神话>>4
    读书笔记---<<人月神话>>3
    软件杯----------害虫地区分布展示
    web页面采用高德地图JS api和Web api实现路径规划
  • 原文地址:https://www.cnblogs.com/yoru/p/2696331.html
Copyright © 2011-2022 走看看