Codeforces Round #520
占个坑慢慢填
A
()[http://codeforces.com/contest/1062/problem/A]
题意:现在有一个长度为n的严格上升正整数序列
每个数的取值在[1, 1000]
现在求一个最长的连续子序列
使得删掉这个序列后 可以推导出原来的序列
求这个序列的最长长度
当然如果a[i] - a[j] == i - j那么a[j +1]到a[i-1]都是可以推导出来的
另外 第二个是2或倒数第二个是999 那么第一个或最后一个可以推导
B
现在有两种操作
mul x:把x乘上任意一个数
sqrt x: 如果x是完全平方数的话 可以把x开方
现在求经过若干次操作能得到的最小x
并求得到这个x的最小步数
设n 的质因数分解为 a1^q1 * a2^q2 * a3^q3 …… * ak^qk
其中ai都是质数
那么mul操作就相当于添加新的质因数 或者把已有的ai
sqrt操作就相当于把所有qi除以2(前提是每个qi都是偶数
显然 如果一个数质因数分解后 每个质数的指数为一 那么就不可能再变小了
显然这些的顺序操作可以交换 只不过操作的数值修改了而已
所以步数最小的情况下 乘法只用做一次
而这一次操作之后就可以不断sqrt使得qi全部为1
那么我们只用知道最大的那个qi
然后求比它大的最小的2的幂次就可以了
C
题意 给一个由0和1组成的序列
取出其中一个数时 ans加上这个数 序列中的其他数也加上这个数
求最大的ans
显然我们要优先取出1
假设ax到ay中有z个一
那么取1的过程中我们每次加的答案是1 2 4 8.....
此处总贡献2^z - 1
当一取完了 剩的就是(y - x + 1) - z个原来是0 现在是2^z - 1的元素了
而它们在取的过程中也会翻倍
此处总贡献为(2^(x-y+1-z) - 1) * (2^z - 1)
最终总贡献(2^(0的个数)) * (2^(1的个数) - 1)
D
题意 已知n
a可以转换为b,当且仅当|a|,|b|<n并且满足|a|是|b|的倍数或|b|是|a|的倍数(这个倍数的绝对值大于1)
本次操作的贡献为这个倍数 并且以后再也不可以做这个操作 即使相反 即b推a 也不行
太菜了并不会QAQ
E
题意 一棵树 n个点 q次询问
每次询问一个区间(长度大于1)
要求在这个区间中删除一个点
使得剩下点在树中lca的深度最大
输出被删点深度和最后那个lca的深度
先说到一个小技巧(其实也不算
一堆点的lca其实就是他们当中dfn最小和最大那两个点的lca
这里枚举一下就可以了
F
太菜了不会QAQ
Codeforces Round #520的更多相关文章
- Codeforces Round #520 (Div. 2)
Codeforces Round #520 (Div. 2) https://codeforces.com/contest/1062 A #include<bits/stdc++.h> u ...
- Codeforces Round #520 (Div. 2) E. Company(dfs序判断v是否在u的子树里+lca+线段树)
https://codeforces.com/contest/1062/problem/E 题意 给一颗树n,然后q个询问,询问编号l~r的点,假设可以删除一个点,使得他们的最近公共祖先深度最大.每次 ...
- Codeforces Round #520 (Div. 2) B. Math 唯一分解定理+贪心
题意:给出一个x 可以做两种操作 ①sqrt(x) 注意必须是完全平方数 ② x*=k (k为任意数) 问能达到的最小的x是多少 思路: 由题意以及 操作 应该联想到唯一分解定理 经过 ...
- CF每日一练 Codeforces Round #520 (Div. 2)
比赛过程总结:过程中有事就玩手机了,后面打的状态不是很好,A题理解错题意,表明了内心不在状态,B题想法和思路都是完全正确的,但是并没有写出来,因为自己代码能力不强,思路不是特别清晰,把代码后面写乱了, ...
- Codeforces Round #520 (Div. 2) Solution
A. A Prank Solved. 题意: 给出一串数字,每个数字的范围是$[1, 1000]$,并且这个序列是递增的,求最多擦除掉多少个数字,使得别人一看就知道缺的数字是什么. 思路: 显然,如果 ...
- Codeforces Round #520 (Div. 2) D. Fun with Integers
D. Fun with Integers 题目链接:https://codeforc.es/contest/1062/problem/D 题意: 给定一个n,对于任意2<=|a|,|b|< ...
- Codeforces Round #520 (Div. 2) C. Banh-mi
C. Banh-mi time limit per test:1 second memory limit per test:256 megabytes 题目链接:https://codeforc.es ...
- Codeforces Round #520 (Div. 2) B. Math
B. Math time limit per test:1 second memory limit per test:256 megabytes Description: JATC's math te ...
- Codeforces Round #520 (Div. 2) A. A Prank
A. A Prank time limit per test 1 second memory limit per test 256 megabytes 题目链接:https://codefo ...
随机推荐
- Python-面向对象简介
面向对象介绍 学习面向对象过程中会遇到一些名词,我们先解释下 名词解释 类:一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.模板.在类中定义了这些对象的都具备的属性(variables(data ...
- JAVA项目中的常用的异常处理情况
NO.1 java.lang.NullPointerException 这个异常比较容易遇到,此异常的解释是“程序遇上了空指针”,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现 ...
- C#使用ES
C#如何使用ES Elasticsearch简介 Elasticsearch (ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为 ...
- 输入input
用input接收到的类型全部都是字符串!!! 要查看变量类型,可以使用type()模块: 字符串不能和数字进行比较,因此如果输入是以input方式输入的,需要先转换成数字格式:
- composer 自动加载 通过classmap自动架子啊
https://github.com/brady-wang/composer github地址 composer加载自己写的类 放入一个目录下 更改composer.json "autolo ...
- Oracle的数据类型详述
数据类型 (1)字符型 CHAR: 定长最多(2000字节)特定情况下用 VARCHAR2:可变长度的字符串最多(4000字节) LONG:大文本类型最多(2个G) (2)数值型 NUMBER:可以是 ...
- Notepad++ 安装 NppFTP 插件
How to install a plugin The plugin (in the DLL form) should be placed in the \plugins subfolder of t ...
- oninput和onchange的区别
菜鸟教程: oninput事件:HTML5标准事件 当用户向<input>中尝试输入时执行JavaScript: <input type="text" oninp ...
- Oracle 中sql文件的导入导出
导出 一般导入的时候我用的是命令行 imp c##zs/@orcl fromuser=c##zs touser=c##zs file=D:\java\.dmp ignore=y c##zs 是创建的用 ...
- 建议3---理解Python与C语言的不同之处
我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码.Python与其他语言有很多不同,以下来进行简单的分析: (1)"缩进"与“{}” ...