Jon Snow and his Favourite Number CodeForces - 768C (技巧)
题意
给定数组, 每次操作先将数组排序, 再将奇数位全部异或x, 求k次操作后数组最大值与最小值
(1 ≤ n ≤ 105, 0 ≤ k ≤ 105, 0 ≤ x ≤ 103)
题解
直接暴力模拟是O(nk)的, 注意到元素范围均较小可以用桶达到O(1024*k)
该题k过大时会好像一定出现循环, 然后暴力模拟几次也能过, 没看出来怎么证明...
#include <iostream>
#include <cstdio>
#include <algorithm>
#define REP(i,a,n) for(int i=a;i<=n;++i)
using namespace std; const int N = 1e5+;
int n, k, x, t;
int a[N], delta[N]; int main() {
cin>>n>>k>>x;
REP(i,,n) cin>>t, ++a[t];
REP(i,,k) {
REP(i,,) delta[i] = ;
int cur = ;
REP(i,,) {
int cnt = (a[i]+cur)/;
delta[i] -= cnt;
delta[i^x] += cnt;
cur ^= a[i]&;
}
REP(i,,) a[i] += delta[i];
}
int mi = 1e9, ma = ;
REP(i,,) if (a[i]) {
mi = min(mi, i);
ma = max(ma, i);
}
cout<<ma<<' '<<mi<<endl;
}
Jon Snow and his Favourite Number CodeForces - 768C (技巧)的更多相关文章
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C - Jon Snow and his Favourite Number
地址:http://codeforces.com/contest/768/problem/C 题目: C. Jon Snow and his Favourite Number time limit p ...
- Codeforces768C Jon Snow and his Favourite Number 2017-02-21 22:24 130人阅读 评论(0) 收藏
C. Jon Snow and his Favourite Number time limit per test 4 seconds memory limit per test 256 megabyt ...
- 【codeforces 768C】Jon Snow and his Favourite Number
[题目链接]:http://codeforces.com/contest/768/problem/C [题意] 给你n个数字; 让你每次把这n个数字排序; 然后对奇数位的数字进行异或操作,然后对新生成 ...
- codeforces 768c Jon Snow And His Favourite Number
题意: 给出一个数列,和一种操作,以及两个数x和k. 这个操作有两个步骤: 首先把这个数列按照升序排序,然后把所有奇数位上的数字与x异或. 问执行k次操作之后,这个数列的最大值和最小值是多少. 思路: ...
- CodeForces - 768C Jon Snow and his Favourite Number 桶排
https://vjudge.net/problem/CodeForces-768C 题意:n个数,k次操作,x.每次操作先排序,再让奇数位置上的数据a[i]:=a[i] XOR x; k< ...
- codeforces 768 C. Jon Snow and his Favourite Number(思维+暴力)
题目链接:http://codeforces.com/contest/768/problem/C 题意:给出n个数,k个操作,和一个x,每次操作先排序然后对奇数位数进行xor x操作,最后问k次操作后 ...
- 【基数排序】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C. Jon Snow and his Favourite Number
发现值域很小,而且怎么异或都不会超过1023……然后可以使用类似基数排序的思想,每次扫一遍就行了. 复杂度O(k*1024). #include<cstdio> #include<c ...
- C. Jon Snow and his Favourite Number DP + 注意数值大小
http://codeforces.com/contest/768/problem/C 这题的数值大小只有1000,那么可以联想到,用数值做数组的下标,就是类似于计数排序那样子.. 这样就可以枚举k次 ...
- XOR and Favorite Number CodeForces - 617E -莫队-异或前缀和
CodeForces - 617E 给n个数, m个询问, 每次询问问你[l, r]区间内有多少对(i, j), 使得a[i]^a[i+1]^......^a[j]结果为k.(注意 i ! = j) ...
随机推荐
- AppiumDriverLocalService 启动appium控制台不显示日志以及把日志保存到本地
import java.io.File; import java.io.OutputStream; import java.lang.reflect.Field; import java.util.A ...
- Linux基础命令---znew
znew 将compress压缩成的”.Z”文件,转换成“.gz”格式的文件.ZNew将文件从.z(压缩)格式重新压缩到.gz(Gzip)格式.如果要重新压缩已以gzip格式的文件,请重命名该文件以强 ...
- thinkphp标签实现bootsrtap轮播carousel实例
thinkphp标签实现bootsrtap轮播carousel实例由于轮播carousel第一个div需要设置active样式才能正常显示,上面的圆点也同样需要数字,使用volist标签在循环的同时可 ...
- Linux学习笔记之Linux Centos关闭防火墙
# Centos6.x /etc/init.d/iptables stop chkconfig iptables off sed -i 's/SELINUX=enforcing/SELINUX=dis ...
- Python入门之字典的操作详解
这篇文章主要介绍了Python 字典(Dictionary)的详细操作方法,需要的朋友可以参考下: Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一 ...
- Confluence5.8更改数据库配置
Confluence5.8更改数据库配置 第一步:是找到confluence的安装目录,我的安装目录在 /opt/atlassian/: 第二步:由于confluence把tomcat给改造了,所以c ...
- 01: Centos7 常用命令
1.1 centos7中防火墙相关命令 1.查看状态 1. getenforce # 查看内核防火墙状态(disabled标识关闭) 2. systemctl status f ...
- 20145222何志威《网络对抗》- Web安全基础实践
20145322何志威<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入原理,如何防御 SQL注入 就是通过把SQL命令插入到"Web表单递交"或& ...
- CMD运行后关闭CMD 的窗口命令
在命令前加上Start 例(打开服务管理):start services.msc
- cmd命令分类
1.系统功能类 AT:计划在计算机上运行的命令和程序.ATTRIB:显示或更改文件属性.BREAK:设置或清除扩展式 CTRL+C 检查.CACLS:显示或修改文件的访问控制列表(ACLs).CALL ...