题目链接:http://codeforces.com/contest/769/problem/D


搜索题

考虑这些数的值域较小,直接${O(2^{k})}$次方枚举每个数字二进制位上是否改变,剪枝一下最不利复杂度为${O(C_{14}^{7})}$,有${10^{4}}$中取值。

最终最不利复杂度为${O(C_{14}^{7}*(10^{4}))}$


 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<vector>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<cstring>
 8 using namespace std;
 9 #define maxn 100010
10 #define llg long long
11 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
12 llg n,m,str[maxn],c[maxn],k,v[maxn];
13 vector<llg>a[maxn];
14 llg d[maxn];
15 void ss1(llg wz,llg res,llg x)
16 {
17     if (wz==14)
18     {
19         if (res==0)
20         {
21             llg val=0;
22             for (llg i=0;i<14;i++) val+=(1<<i)*((str[i]+c[i])%2);
23             a[x].push_back(val);
24         }
25         return ;
26     }
27     if (res)
28     {
29     c[wz]=1;
30     ss1(wz+1,res-1,x);
31     }
32     c[wz]=0;
33     ss1(wz+1,res,x);
34 }
35
36 void ss2(llg wz,llg res,llg x)
37 {
38     if (wz==14)
39     {
40         if (res==0)
41         {
42             llg val=0;
43             for (llg i=0;i<14;i++) val+=(1<<i)*((str[i]+c[i])%2);
44             a[x].push_back(val);
45         }
46         return ;
47     }
48     if (res)
49     {
50         c[wz]=0;
51         ss2(wz+1,res-1,x);
52     }
53     c[wz]=1;
54     ss2(wz+1,res,x);
55 }
56
57 void change_(llg x)
58 {
59     llg cs=0;
60     while (cs<14)
61     {
62         str[cs]=x%2;
63         x/=2;
64         cs++;
65     }
66 }
67
68 int main()
69 {
70     yyj("D");
71     cin>>n>>k;
72     for (llg i=0;i<=10000;i++)
73     {
74         change_(i);
75         if (k<=7) ss1(0,k,i);else ss2(0,14-k,i);
76     }
77     for (llg i=1;i<=n;i++) scanf("%lld",&v[i]),d[v[i]]++;
78     llg ans=0;
79     for (llg i=1;i<=n;i++)
80     {
81         llg w=a[v[i]].size(),x=v[i];
82         for (llg j=0;j<w;j++)
83             if (k==0) ans+=d[a[x][j]]-1; else ans+=d[a[x][j]];
84     }
85     cout<<ans/2;
86     return 0;
87 }

转载于:https://www.cnblogs.com/Dragon-Light/p/6506507.html

Codeforces 769D k-Интересные пары чисел相关推荐

  1. 【Codeforces - 769D】k-Interesting Pairs Of Integers(暴力,统计,思维,数学,异或)

    题干: Vasya has the sequence consisting of n integers. Vasya consider the pair of integers x and y k-i ...

  2. GB_T28181-2016.pdf

    国标28181-2016版本检测,由于文件过大,而且博客不支持上传文件,需要GB28181-2016协议文档和公安一所检测文档的可以私信我,QQ:123011785 I C S1 3. 3 1 0 A ...

  3. K - Anton and Lines CodeForces - 593B

    K - Anton and Lines CodeForces - 593B 思路 求出两个边界处,每条线对应的 y,如果出现(y1i - y1j)* (y2i - y2j) < 0, 则相交 复 ...

  4. codeforces 1038a(找最长的前k个字母出现相同次数的字符串)水题

    http://codeforces.com/problemset/problem/1038/A(题目链接) You are given a string s of length n, which co ...

  5. Codeforces Round #730 (Div. 2) D2. RPD and Rap Sheet (Hard Version) 交互 + k进制的转换

    传送门 文章目录 题意: 思路: 题意: 定义a⊕kba\oplus_k ba⊕k​b为a,ba,ba,b在kkk进制下的不进位加法.系统会随机生成一个数xxx,你猜这个数,假设当前猜的数为yyy,如 ...

  6. 【中途相遇法】【STL】BAPC2014 K Key to Knowledge (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  7. CodeForces - 1328F Make k Equal(模拟)

    题目链接:点击查看 题目大意:给出一个数列 a ,现在有两种操作: 找到一个最小值,使其值加一 找到一个最大值,使其值减一 注意这里找到一个最值进行的操作,是针对最值不唯一的情况,题目问至少需要进行多 ...

  8. codeforces 776C Molly's Chemicals(连续子序列和为k的次方的个数)

    题目链接 题意:给出一个有n个数的序列,还有一个k,问在这个序列中有多少个子序列使得sum[l, r] = k^0,1,2,3-- 思路:sum[l, r] = k ^ t, 前缀和sum[r] = ...

  9. Codeforces Gym 101173 K. Key Knocking (构造)

    题意 对于给定的长为 3×N3\times N 的 01 字符串 S,求在最多变换 N 次下使得字符串 S 的 weight >= 2n . 字符串的 weight 为 相邻不同字符的个数 + ...

最新文章

  1. 【Spring】基于XML的IOC案例
  2. 【每日一算法】删除排序数组中的重复项
  3. arm服务器配置信息,ARM板 web服务器交叉编译及配置
  4. 【C语言】简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出...
  5. 对于数据库中表示状态或类型字段表示方法的思考
  6. android app通过Geth RPC接口实现远程调用
  7. 领域驱动设计之聚合与聚合根实例一
  8. Sql Server 连接池及其用法
  9. 解决引入 lombok 注解不生效
  10. 剑指offer之求二叉树中两个节点的最低共同父节点
  11. webpack+vue-cli 中proxyTable配置接口地址代理
  12. html彩色背景指令,HTML_第四章 颜色背景的CSS,本 章 C S S 的 主 - phpStudy...
  13. Python 爬虫分析豆瓣 TOP250 告诉你程序员业余该看什么书?
  14. 关于System.AccessViolationException异常
  15. 10月第4周回顾:欧盟垄断案微软低头 BEA为收购讨价还价
  16. 05-1_部署 master 节点
  17. Windows Server 2012R2 安装IIS 的详细配置
  18. 深圳高新区发展专项计划管理办法(征求意见稿)
  19. 【校招内推】字节跳动2022提前批开启
  20. 西瓜创客联创刘鹏:在AI的曙光中拥抱教育的未来

热门文章

  1. k8s 多租户_k8s使用rbac实现多租户
  2. pta段错误怎么办_雅思50问 | 07:雅思写作时间不够怎么办?写不完会给分吗?...
  3. 哈工大计算机学院刘志岩,感知计算研究中心
  4. android+无触摸操作,如何在Android中模拟触摸事件?
  5. a标签右侧尖括号_没想到贴线缆标签有很多讲究和技巧?一般人真不知道
  6. 涂鸦智能 dubbo-go 亿级流量的实践与探索
  7. flink mysql connector_Flink JDBC Connector:Flink 与数据库集成最佳实践
  8. MySQL中购买的语句,mysql操作语句 - 买灰机自己开的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. intel服务器ssd系列,英特尔发布S3710/S3610服务器SSD新品
  10. fguillot json rpc_Hyperf 框架创建 JSON-rpc 服务