题目链接:

  http://codeforces.com/gym/100851

题目大意:

  一个N*N的矩阵A,Ai,j=i+j,Q次操作,每次分两种,R r取出第r行还未被取的所有数,并输出和。C c取出第c列还未被取出的所有数并输出和。

题目思路:

  【模拟】

  首先Ai,j=i+j这个很关键。预处理每一行(=列)的值。

  只要记录当前取得时候前面已经取过的所有行数的和、次数,所有列数的和、次数,就能推算出这次取数会少掉多少值。

  并记录这一行或这一列被取过没有。

  1. //
  2. //by coolxxx
  3. //#include<bits/stdc++.h>
  4. #include<iostream>
  5. #include<algorithm>
  6. #include<string>
  7. #include<iomanip>
  8. #include<map>
  9. #include<stack>
  10. #include<queue>
  11. #include<set>
  12. #include<bitset>
  13. #include<memory.h>
  14. #include<time.h>
  15. #include<stdio.h>
  16. #include<stdlib.h>
  17. #include<string.h>
  18. //#include<stdbool.h>
  19. #include<math.h>
  20. #define min(a,b) ((a)<(b)?(a):(b))
  21. #define max(a,b) ((a)>(b)?(a):(b))
  22. #define abs(a) ((a)>0?(a):(-(a)))
  23. #define lowbit(a) (a&(-a))
  24. #define sqr(a) ((a)*(a))
  25. #define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
  26. #define mem(a,b) memset(a,b,sizeof(a))
  27. #define eps (1e-8)
  28. #define J 10
  29. #define mod 1000000007
  30. #define MAX 0x7f7f7f7f
  31. #define PI 3.14159265358979323
  32. #define N 1000004
  33. using namespace std;
  34. typedef long long LL;
  35. int cas,cass;
  36. int n,m,lll,ans;
  37. LL sum,tot,a,b;
  38. LL c[N];
  39. char s[];
  40. bool u[N],v[N];
  41. int main()
  42. {
  43. #ifndef ONLINE_JUDGE
  44. // freopen("3.txt","r",stdin);
  45. // freopen("2.txt","w",stdout);
  46. #endif
  47. int i,j,k;
  48. // for(scanf("%d",&cass);cass;cass--)
  49. // for(scanf("%d",&cas),cass=1;cass<=cas;cass++)
  50. // while(~scanf("%s",s+1))
  51. while(~scanf("%d",&n))
  52. {
  53. sum=tot=a=b=;mem(u,);mem(v,);
  54. scanf("%d",&m);
  55. c[]=1LL*(++n)*n/;
  56. for(i=;i<=n;i++)c[i]=c[i-]+n;
  57. for(i=;i<=m;i++)
  58. {
  59. scanf("%s%d",s,&cas);
  60. if(s[]=='R')
  61. {
  62. if(u[cas]){puts("");continue;}
  63. printf("%I64d\n",c[cas]-tot-b*cas);
  64. sum+=cas;
  65. a++;
  66. u[cas]=;
  67. }
  68. else
  69. {
  70. if(v[cas]){puts("");continue;}
  71. printf("%I64d\n",c[cas]-sum-a*cas);
  72. tot+=cas;
  73. b++;
  74. v[cas]=;
  75. }
  76. }
  77. }
  78. return ;
  79. }
  80. /*
  81. //
  82.  
  83. //
  84. */

【模拟】NEERC15 A Adjustment Office (2015-2016 ACM-ICPC)(Codeforces GYM 100851)的更多相关文章

  1. HDU 5873 Football Games 【模拟】 (2016 ACM/ICPC Asia Regional Dalian Online)

    Football Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  2. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  3. 2016 ACM ICPC Asia Region - Tehran

    2016 ACM ICPC Asia Region - Tehran A - Tax 题目描述:算税. solution 模拟. B - Key Maker 题目描述:给出\(n\)个序列,给定一个序 ...

  4. 2016 ACM/ICPC Asia Regional Shenyang Online 1003/HDU 5894 数学/组合数/逆元

    hannnnah_j’s Biological Test Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K ...

  5. 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分

    I Count Two Three Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp

    QSC and Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  7. 2016 ACM/ICPC Asia Regional Shenyang Online 1007/HDU 5898 数位dp

    odd-even number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  8. 2016 ACM/ICPC Asia Regional Dalian Online 1002/HDU 5869

    Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  9. 2016 ACM/ICPC Asia Regional Dalian Online 1006 /HDU 5873

    Football Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  10. HDU 5874 Friends and Enemies 【构造】 (2016 ACM/ICPC Asia Regional Dalian Online)

    Friends and Enemies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

随机推荐

  1. node.js中文资料导航

    以下资料来自gitHUb上面:https://github.com/youyudehexie/node123 Node.js HomePage Node官网七牛镜像 Infoq深入浅出Node.js系 ...

  2. mysql 安装配置详解

    作为演示,是不可能完全模拟到生产环境的,因此不可能尽善尽美.由于是在virtualbox里面的centos6.5最小化安装版中安装配置mysql,因此前期的准备工作有很多,那么开始吧.添加一块硬盘,用 ...

  3. MD5 密码破解 碰撞 网站

    MD5反向查询网站 http://www.cmd5.com/ 文件MD5值查询网站 http://www.atool.org/file_hash.php 个人对密码破解的理解 1.使用MD5对密码加密 ...

  4. UVA - 11572 Unique Snowflakes

    /* STLsort离散化==T 手工sort离散化==T map在线==T map离线处理c==A 240ms */ #include<cstdio> #include<map&g ...

  5. Iterator<Entry<String,String>> iter=map.entrySet().iterator(); 是什么意思

    //获得map的迭代器,用作遍历map中的每一个键值对Iterator是迭代器,map之前应该定义过,姑且认为是HashMap.<Entry<String,String>>表示 ...

  6. 阿里云服务器如何安装memcached

    方法/步骤 1 使用Xshell登陆阿里云服务器. 请使用root帐号登陆.下面的操作全部在home目录里执行 2 安装libevent. 输入命令 yum -y install libevent-d ...

  7. jquery选择器的使用方式

    1.基本选择器   选择器 描述 返回 示例 代码说明 1 id选择器 根据指定的id匹配元素 单个元素 $("#one").css("background", ...

  8. Index Full Scan vs Index Fast Full Scan-1103

    [Oracle] Index Full Scan vs Index Fast Full Scan作者:汪海 (Wanghai) 日期:14-Aug-2005 出处:http://spaces.msn. ...

  9. C#入门经典(第五版)学习笔记(四)

    ---------------集合.比较和转换--------------- C#中的数组是作为System.Array类的实例实现的,它们是集合类(Collection Classes)中的一种类型 ...

  10. 用连接池提高Servlet访问数据库的效率

    Java Servlet作为首选的服务器端数据处理技术,正在迅速取代CGI脚本.Servlet超越CGI的优势之一在于,不仅多个请求可以共享公用资源,而且还可以在不同用户请求之间保留持续数据.本文介绍 ...