Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)
第一次参加cf的比赛 有点小幸运也有点小遗憾
给自己定个小目标 1500【对啊我就是很菜qvq
A. The Rank
难度:普及-
n位学生 每个学生有四个分数
然鹅我们只需要知道他的分数和
按分数和递减排名 同分的按编号递增排名
现在小Smith的id是1号 求他的成绩排名
解 : 不用说了吧。。暴力排序就行
B. The Bits
有两个n位二进制数A和B
现在可以选择A的两位交换
交换后的数为C
求问有多少种交换方式
使得 A | B != C | B
解 : 每一位的A 和 B 可能有如下四种对应方式
A B
0 0
0 1
1 0
1 1
第2、4种情况无论A那一位是什么最后的和都不变
第一种换成 1 会变 第三种换成0会变
那么交换方式就有
1 <=> 3 1 <=> 4 2 <=> 3
三种交换方式
只要在输入时统计每种对应有多少组 相乘即可
C. The Phone Number
求长度为n的排列
使得该排列LIS(最长上升子序列)与LDS(最长下降子序列)的长度和最小
我太菜了并不会证
但按照sqrt(n) 分组是最小的
D. The Wu
一个假项链【蒟蒻到现在都没读懂这题跟项链有什么关系。。。
总之啦 有n, m, q (n ∈ [1, 12] m, q∈[1, 5e5])
二进制从左到右的第i位有w[i]的价值
给出m个n位二进制数 再给出q个询问
每个询问有一个n位二进制数A 和一个限定值v
对于两个二进制数 如果它们的第i位相等 那么这一位获得w[i]的贡献
否则没有贡献
对于一个询问 A与原来的m个二进制数每个都有一个总贡献
输出总贡献不大于v的个数
这道题完全凭直觉乱搞?!
2 ^ 12 = 4096 这很状压
所以我们与处理出所有可能的总价值
这里用100011表示 ** 仅取w[2] w[3] w[4] **
也就是0表示取 1表示不取
这么做是为了利用抑或的特性 即0抑或一个数等于它自己
预处理 cnt[i] = x; 表示二进制数i代表的总贡献是x
对于给出的A 与其总贡献为x的二进制数是A ^ i
把询问按A排序 把cnt按x值排序
再预处理出m个二进制数每种出现了多少个
离线处理就行了
复杂度O(2 ^ 2n)
Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)的更多相关文章
- E. The Supersonic Rocket Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)
http://codeforces.com/contest/1017/problem/E 凸包模板+kmp #include <cstdio> #include <cstdlib&g ...
- Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2) G. The Tree
G. The Tree time limit per test 3 seconds memory limit per test 256 megabytes input standard input o ...
- Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2) E. The Supersonic Rocket
这道题比赛之后被重新加了几个case,很多人现在都过不了了 算法就是先求凸包,然后判断两个凸包相等 我们可以吧凸包序列化为两点距离和角度 角度如果直接拿向量的叉积是不对的,,因为钝角和锐角的叉积有可能 ...
- 【Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2) D】The Wu
[链接] 我是链接,点我呀:) [题意] 给你n个字符串放在multiset中. 这些字符串都是长度为m的01串. 然后给你q个询问 s,k 问你set中存在多少个字符串t 使得∑(t[i]==s[i ...
- Codeforces Round #502
Codeforces Round #502 C. The Phone Number 题目描述:求一个\(n\)排列,满足\(LIS+LDS\)最小 solution 枚举\(LIS\),可证明\(LD ...
- 【Codeforces Round #502 (Div. 1 + Div. 2) 】
A:https://www.cnblogs.com/myx12345/p/9843032.html B:https://www.cnblogs.com/myx12345/p/9843050.html ...
- Codeforces Round #195 A B C 三题合集 (Div. 2)
A 题 Vasily the Bear and Triangle 题目大意 一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
随机推荐
- Linux系统安装python3
Centos7系统安装python3 在安装前需要安装依赖环境包,先安装gcc 编译器,命令如下: yum -y install gcc gcc-c++ make 1.首先查看是否安装python,系 ...
- Comet OJ 热身赛(K题)principal(括号匹配问题+stack模拟)
principal 已经提交 已经通过 23.66% Total Submission:131 Total Accepted:31 题目描述 阿尔比恩王国潜伏着代号白鸽队''的一群间谍.在没有任务的时 ...
- echarts使用笔记一:基本属性
1.包括一些基本的设置 app.title = '坐标轴刻度与标签对齐'; option = { title : { //标题 x : 'center', y : 5, text : '单通趋势图' ...
- 从零开始搭建VUE项目
前言: 此样板面向大型,严肃的项目,并假定您对Webpack和vue-loader有些熟悉. 请务必阅读vue-loader的常见工作流配方的文档. 如果您只想尝试vue-loader或者鞭打一个快速 ...
- 6-1 Quantifiers
1 Quantifiers are used to describe the number or amount of something. Certain quantifiers are used w ...
- Linux启动/停止/重启Mysql数据库
1.查看mysql版本 1)status; 2)select version(); 2.Mysql启动 1)使用 service 启动: service mysqld start (5.0版本是mys ...
- [转帖]SUSE Linux
历经坎坷多次易主,SUSE Linux路在何方? http://blog.itpub.net/11310314/viewspace-2638811/ 之前一直理不清楚 SUSE和RedHat的关系 甚 ...
- 使用npm安装一些包失败了,更换npm源
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 1.通过config命令 npm config set registry https://regist ...
- C# Note32: 查漏补缺
(1)Using的三种使用方式 (2)C#详解值类型和引用类型区别 (3)c#中字段(field)和属性(property)的区别 (4)C#中的 int? int?:表示可空类型,就是一种特殊的值类 ...
- python爬虫之scrapy模拟登录
背景: 初来乍到的pythoner,刚开始的时候觉得所有的网站无非就是分析HTML.json数据,但是忽略了很多的一个问题,有很多的网站为了反爬虫,除了需要高可用代理IP地址池外,还需要登录.例如知乎 ...