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 ...
随机推荐
- webapack
webpack 就是一个前端资源加载.打包工具. 核心思想:会根据(js css less文件)模块依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,减少页面请求. wapack ...
- 02-HTML之head标签
head标签 head内常用标签表 标签 类型 意义 <title></titile> 双闭合标签 定义网页标题 <style></style> 双闭合 ...
- springBoot项目启动类启动无法访问
springBoot项目启动类启动无法访问. 网上也查了一些资料,我这里总结.下不来虚的,也不废话. 解决办法: 1.若是maven项目,则找到右边Maven Projects --->Plug ...
- centos/ubuntu 双击运行 .sh(shell)文件
centos 创建桌面双击启动程序(更改图标) - Feythin Lau - 博客园http://www.cnblogs.com/feiyuliu/archive/2012/11/29/279503 ...
- iOS 10的两个坑
iOS 10出现白屏幕,其他机型不会. 一个bug 手机连上电脑,在电脑端的Safari里,看到了如下的错误: SyntaxError: Cannot declare a let variable t ...
- css兼容display:flex
上代码: 这个是针对父元素: .container{ display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */ displa ...
- vue传参
<template> <ul> <li v-for="item in list" :key="item.id"> <b ...
- C# DataTable详解
添加引用 using System.Data; 创建表 //创建一个空表 DataTable dt = new DataTable(); //创建一个名为"Table_New"的空 ...
- Html5使用canvas作图线宽很粗
自己使用canvas画图是碰到的问题,在这里记录一下.我把lineWidth设置为1,但是很粗,而且发虚.代码如下: <script type="text/javascript&quo ...
- [转帖]Linux下fork函数及pthread函数的总结
Linux下fork函数及pthread函数的总结 https://blog.csdn.net/wangdd_199326/article/details/76180514 fork Linux多进程 ...