传送门

A:

一个组 \(2^n+2^1+\dots+2^{\frac{n}{2}-1}\),另一个组剩下的。

B:

考虑不停循环。

如果不同的数字超过 \(k\),无解。

否则先把原序列去重,然后把末尾补一些数补成 \(k\) 个,再把这个新序列循环 \(n\) 次。

C:

先把字符们排序。

肯定先把最小的 \(k\) 个字符作为各自的开头。

  1. 如果前 \(k\) 个就有不同的字符,那么以第 \(k\) 个字符开头的一定是字典序最大的。(因为字符排序了)直接把之后的字符全部丢到其他地方去,答案就是第 \(k\) 个字符。

  2. 否则:

    1. 如果这之后的字符都相等,除以一下再加个余数;

    2. 否则第 \(n\) 个字符肯定比前面的大,我们要让这个字符尽可能往后拖,那么我们把 \(k+1\sim n\) 的字符全部堆到一个字符串上即可。

D:

形式化题意:

初始有 \(sum=1,x=1\),每次可以让 \(x=[x,x*2]\) 内的一个数,然后让 \(sum+=x\),最小化操作次数使得 \(sum=k\),\(k\) 给定。

最小化,肯定想着不停乘二乘二。但是可能最后一次时 \(x\) 太大了。

但是没关系,我们可以把最后剩下的一点提到之前加上。

E:

我们可以先令所有 \(a_i=a_i-i\),这样就把上升变成了非降。

这么做的原因是我们不用判断两个锁定的数之间的距离:比如 \(4\) 和 \(7\) 中间隔了三个数,但是要求严格上升,那就不行了。

现在把 \(a_i\) 重新赋值之后,只要两个锁定的不是后面的比前面的小就行。

我们把两个锁定的之间的段抽出来处理。

假设我们现在处理 \((l,r)\)。(也就是 \(l,r\) 这俩被锁定了,我们可以让 \(b_0=0,b_{k+1}=n+1\))

这个段内的所有不在 \([a[l],a[r]]\) 内的数,肯定都要改。剩下在 \([a[l],a[r]]\) 的数内,找出一个最长不降子序列不改,再剩下的改。

LIS 要优化。

注意:不可能成功说明有俩被锁定的本身就不满足非降。

随机推荐

  1. ASP.NET Core 5.0 MVC 页面标记帮助程序的使用

    什么是标记帮助程序 标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素.标记帮助程序使用 C# 创建,基于元素名称.属性名称或父标记以 HTML 元素为目标. 创建标记 ...

  2. nginx.conf 配置解析及常用配置

    本文为博主原创,未经允许不得转载: nginx.conf 配置文件配置解析 #定义 Nginx 运行的用户和用户组.默认nginx的安装用户为 nobody user www www: #启动进程,通 ...

  3. vue3 路由页面返回时,恢复滚动条位置

    首先,路由必须是KeepAlive模式 <script setup lang="ts"> import { onActivated } from "vue&q ...

  4. ONVIF网络摄像头(IPC)客户端开发—ONVIF介绍

    ​ 1.前言: 网上已经有很多关于ONVIF开发的资料,这里概括介绍一下ONVIF协议以及介绍一下我自己在开发ONVIF网络摄像头的一些流程和经验,做个开发记录和经验总结,以备将来查看,也可供他人参考 ...

  5. [转帖]Oracle 如何列出正在运行的定时任务

    https://geek-docs.com/oracle/oracle-questions/569_oracle_how_can_i_list_the_scheduled_jobs_running_i ...

  6. 【转帖】【笔记】python连接神通数据库

    https://www.cnblogs.com/wyongbo/p/17054924.html python连接国产神州通用数据库. 一.准备 下载whl及dll: 链接: https://pan.b ...

  7. [转帖]三星研发出首个基于存算一体技术的GPU大型计算系统 (收录于存算一体芯片赛道投资融资分析)

    https://zhuanlan.zhihu.com/p/591850021 陈巍谈芯:产业巨头已经打通存算一体技术的落地通道,存算一体技术加快应用部署.与未使用HBM-PIM(HBM-PIM GPU ...

  8. 查看dmesg 里面部分内容的精确时间

    for i in `dmesg |grep "stuck for" |awk '{print $1}' |awk -F "." '{print $1}' |aw ...

  9. 使用yagmail发送邮件

    一.yagmail基本数据准备 1.终端下载yagmail:pip install yagmail 2.获取SMTP和密钥 我们以新浪邮箱为例,登录成功后进入设置页面,点击客户端pop/imap/sm ...

  10. vue中render函数使用attrs绑定id、class、style、事件(5)

    1.h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. ...