| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Codeforces Round #737 (Div. 2)部分题解 -> 正文阅读 |
|
[数据结构与算法]Codeforces Round #737 (Div. 2)部分题解 |
A点击此处查看对应的题目. 时间复杂度 O ( n ) O(n) O(n)
B点击此处查看对应的题目. ??第二次WA是因为我忽略了即便出现以上状况也不至于无法排序,只要k足够大就不影响,只需要将子序列数量值++即可。 ??解题思路:先判断子序列数量与k的关系,如果k够用,则继续判断是否出现序列中的其他元素大小在该递减区间中间的情况,有则子序列数量值++。最后再次进行第一步的判断。 时间复杂度 O ( n l o g n ) O(nlogn) O(nlogn)
C点击此处查看对应的题目. 我们规定,左式是&,右式是^,想要满足本题条件,做事必须大于等于右式。本题涉及位运算的知识,主要是看n是偶数还是奇数。 if(如果n是奇数),考虑两种情况: ① ?左式为0 :此时右式为0。n为奇数(左式为0),在n个里面选偶数个为1,得到异或结果为0 ② ?左式为1:此时右式为1。只有一种情况,就是序列全为1(左式为1) 两种情况相加得: 2 n ? 1 + 1 2^{n-1}+1 2n?1+1(注意) else if(如果n是偶数),考虑两种情况: ① ?左式等于右式 :n为偶数(左式为0),在n个里面选偶数个为1,得到异或结果为0,全选的话左式大于右式 ② ?左式大于右式:固定前i个(前i个数相等),并让第i个为1,i后面的随便选 时间复杂度 O ( n ( l o g n ) 2 ) O(n(logn)^2) O(n(logn)2)
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:15:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |