zoukankan      html  css  js  c++  java
  • BZOJ2751 [HAOI2012]容易题(easy)

    容易你全家。。。

    只要把每个数能用的求和,再求积即可

    用map做。。。做了半天= =

     1 /**************************************************************
     2     Problem: 2751
     3     User: rausen
     4     Language: C++
     5     Result: Accepted
     6     Time:452 ms
     7     Memory:5828 kb
     8 ****************************************************************/
     9  
    10 #include <cstdio>
    11 #include <map>
    12   
    13 using namespace std;
    14 typedef long long ll;
    15 typedef pair <int, int> P;
    16 typedef map <int, ll> ::iterator IT;
    17 const ll mod = 1000000007;
    18 int n, m, k, X, Y;
    19 ll Sum, ans, del;
    20 map <P, bool> GOT;
    21 map <int, ll> a;
    22   
    23 inline ll read(){
    24     ll x = 0;
    25     char ch = getchar();
    26     while (ch < '0' || ch > '9')
    27         ch = getchar();
    28   
    29     while (ch >= '0' && ch <= '9'){
    30         x = x * 10 + ch - '0';
    31         ch = getchar();
    32     }
    33     return x;
    34 }
    35   
    36 ll pow(ll x, int y){
    37     ll res = 1;
    38     while (y){
    39         if (y & 1) res *= x, res %= mod;
    40         x *= x, x %= mod;
    41         y >>= 1;
    42     }
    43     return res;
    44 }
    45   
    46 int main(){
    47     n = read(), m = read(), k = read();
    48     P pr;
    49     while (k--){
    50         X = read(), Y = read();
    51         pr = make_pair(X, Y);
    52         if (!GOT[pr])
    53             GOT[pr] = 1, a[X] += Y;
    54     }
    55     Sum = (ll) n * (n + 1) / 2 % mod;
    56     ans = 1;
    57     for (IT i = a.begin(); i != a.end(); ++i){
    58         del = Sum - i -> second;
    59         if (del < 0) del += (ll) ((-del / mod) + 1) * mod;
    60         ans *= del, ans %= mod;
    61     }
    62     printf("%lld
    ", ans * pow(Sum, m - a.size()) % mod);
    63     return 0;
    64 }
    View Code
    By Xs酱~ 转载请说明 博客地址:http://www.cnblogs.com/rausen
  • 相关阅读:
    xp 安装 win7 64
    局域网内传输文件速度慢
    安全和共享设置
    vs2005无法启动
    dos快速通道
    xp 共享 guest
    Java菜题
    Java序列化总结(最全)
    Bitset改进你的程序质量
    Java反射方法总结
  • 原文地址:https://www.cnblogs.com/rausen/p/4345429.html
Copyright © 2011-2022 走看看