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 ...
随机推荐
- [2019BUAA软工助教]Alpha阶段无人转出申请审核结果
[2019BUAA软工助教]Alpha阶段无人转出申请审核结果 一.队伍信息 队伍名 项目 人数 红太阳 社团 8(6+2) pureman 博客园 6 水哥牛逼 招募 6 葫芦娃 拖拽Pytorch ...
- 有界算子p129
? 如果我把这里的1改成2,把1/(a-b) 换成1/2(a-b) 为什么不能是? 2. 这里的x是关于t的函数,为什么x属于 结果了?和x应该没有关系呀? 3. 那为什么T的范数不是一个固定值?为什 ...
- eclipse如何添加web dynamic project
很多eclipse版本是不能直接新建web dynamic project的,需要从网上找插件或更新. 比较方便的是在Help → Install-New-Software,点击add按钮,在Loca ...
- 【学习总结】Git学习-参考廖雪峰老师教程十-自定义Git
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- VS2008引入头文件包含目录和lib库目录
全局级别的引入 为VS所有项目设置包含目录和库目录,对所有项目都有效 如下图所示:工具-选项-项目和解决方案-VC++目录-包含文件:在此添加头文件目录即可 工具-选项-项目和解决方案-VC++目录- ...
- 372.Definition of ListNode
单项列表只能把后一个node中的所有数据copy到当前node再delete后一node. /** * Definition of ListNode * class ListNode { * publ ...
- java随笔3 spring 的注入执行逻辑顺序
- StringBuilder与String有哪些区别?
System.String具备不可修改性,在程序中这样的特性容易产生性能上的问题.针对这个问题.NET提供的StringBuilder类可以解决类似的问题. String 和 StringBuilde ...
- adoquery怎样判断数据在缓存中有修改啊
ADOQry.Filtered:=false; ADOQry.Filtered:=true; ADOQry.FilterGroup:=fgPendingRecords ;Fil ...
- Python学习之路————Day03
今日内容: 1.IDE开发环境的安装 2.基本数据类型的使用 3.运算符 一. 算术运算符: 比较运算符 赋值运算符 逻辑运算符 身份运算符:is比较的是id 而==比较的是值 二.基本数据类型 为什 ...