博客
关于我
BZOJ 5443 [Ceoi2018]Lottery
阅读量:268 次
发布时间:2019-03-01

本文共 1453 字,大约阅读时间需要 4 分钟。

???????????????????????????k_i???????????????????????????????

????

  • ?????

    • k????????????????????????
    • ??????????????k_i??????????
  • ????

    • ????????????????????????
    • ????????????????????????k????
  • ?????

    • ?????????????k????
    • ??????????????????????
  • ?????

    • ???????????????????
  • ????

    #include 
    #include
    #include
    #include
    #include
    #include
    using namespace std;struct Query { int k, j; int ans_id; Query(int k_val, int j_val) : k(k_val), j(j_val) {}};int main() { // ???? vector
    L = {0, 0, 0, 0}; vector
    Q = {0, 0}; int n, q; // ????????? // ... // ?????????? map
    > substr_dict; for (int i = 0; i <= n; ++i) { for (int j = 0; j <= n - i; ++j) { string s = s[n - i + j ...]; // ????????? int mask = 0; for (int k = 0; k < i; ++k) { if (s[k] != s[k + i]) { mask |= (1 << k); } } substr_dict[mask]++; } } // ?????? for (int q_id = 0; q_id < q; ++q_id) { Query query = Q[q_id]; // ???????????? int count = 0; for (auto& pair : substr_dict) { for (auto& other : substr_dict[pair.first]) { if (pair.second > other) continue; int diff = pair.first ^ other; if (__builtin_popcount(diff) == query.k) { count++; } } } // ???? result[q_id] = count; } // ???? for (int i = 0; i < q; ++i) { cout << result[i] << endl; } return 0;}

    ????

  • ?????

    • ?????????????????????????????
  • ??????

    • ?????????????k??????
    • ???????????????????
  • ???????

    • ????????????k???????
    • ?????????????????
  • ???????????????????????????????????????????????

    转载地址:http://abwo.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现triplet sum三元组和算法(附完整源码)
    查看>>
    Objective-C实现UDP传输系统源码(附完整源码)
    查看>>
    Objective-C实现UDP内网穿透(附完整源码)
    查看>>
    Objective-C实现ugly numbers丑数算法(附完整源码)
    查看>>
    Objective-C实现unescape函数功能(附完整源码)
    查看>>