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 ...
随机推荐
- Spring Data Elasticsearch 和 x-pack 用户名/密码验证连接
Elasticsearch Java API 客户端连接 一个是TransportClient,一个是NodeClient,还有一个XPackTransportClient TransportClie ...
- Liunx 简单的命令说明
cd命令在linux中用来切换或者进入目录,路径还分为相对路径和绝对路径 cd 命令:切换当前目录至其他目录 cd /:加上斜杠表示是进入到根目录. pwd命令:查看当前路径. ()cd 进入用户主目 ...
- JSLinux
JSLinuxhttps://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/win2k.cfg&mem=192& ...
- LR 两种html与url录制
一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...
- js 精确验证身份证(地址编码、出生日期、校验位验证)
//身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码.出生日期.校验位验证 function IdentityCodeValid(code) { ::::::::::::::::: ...
- react组件选项卡demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [转帖]Windows平台卸载Oracle的办法
1.首先打开服务:选中此电脑->点击右键->选择管理->选择服务和应用程序->服务 在右边查看并停止以 oracle开头的服务(选中正在运行的以oracle开头的服务-> ...
- [转帖]ODBC、OLEDB、ADO、ADO.NET
一文详解ODBC.OLEDB.ADO.ADO.NET之间的关系 2019年01月16日 21:28:38 LoveMIss-Y 阅读数:66更多 所属专栏: 白话C#高级编程 版权声明:本文为博主 ...
- 【转帖】Linux的历史----Linux内核剖析(一)
Linux的历史----Linux内核剖析(一) 2015年04月09日 10:51:09 JeanCheng 阅读数:11351更多 所属专栏: Linux内核剖析 版权声明:本文为博主原创文 ...
- [转帖]Windows 内核说明
来源:https://zhidao.baidu.com/question/398191459.html 自己的理解. windows 的内核文件 是在 c:\windows\system32 目录下面 ...