当前位置: 首页 > news >正文

【1800】【5.22-5.24】

E1. String Coloring (easy version)

E2. String Coloring (hard version)

【细节参考了题解】

题意:序列拆分为最少的若干条不降序列。

思路:简单版可以 n 2 n^2 n2 dp。定义 b o o l d p ( i , j ) bool ~dp(i, j) bool dp(i,j) 表示是否存在方案使得两个序列最终位置为 i , j i, j i,j 。自己定义的时候定义得很麻烦。

还有贪心的思路,类似二分求lis,维护一个序列 l s ls ls ,表示当前第 i i i 个序列的末尾值是多少,并降序排序(方便新增加序列)。贪心的找到第一个序列,然后放下当前增量的字符。

AC代码(dp):https://codeforces.com/contest/1296/submission/262129471

AC代码(贪心):https://codeforces.com/contest/1296/submission/262130727


E. Increasing Subsequences

思路:容易想到二进制拆分,划分为 l o g log log 个长度为 l o g log log 的 lis 。这样显然不满足限制。考虑如何重复利用使得 lis 交集更大,可以先构造一个 lis ,如果要继续增加 2 k 2^k 2k 个lis,那么利用原 lis 的一个后缀即可。注意插入的位置。

AC代码:https://codeforces.com/contest/1922/submission/262134310


D. Zookeeper and The Infinite Zoo

思路:首先考虑到,一次操作可以拆分为若干子操作: u = u + 2 k ( u & 2 k = 2 k ) u=u+2^k(u\&2^k=2^k) u=u+2k(u&2k=2k) 。这样的话就相当于把 u 的二进制 1 向高位移动,1 的数量不会增多。判断是否可以配对即可。也可以前缀和。

AC代码:https://codeforces.com/contest/1491/submission/262154328


D. Letter Picking

【看了洛谷的 tag 】

思路:区间 dp 。难点在于博弈决策。只考虑长度为偶数的局面,即 a 面对的局面。先考虑 a 是否有策略能赢,否则考虑是否有策略能平手,否则就输了。

AC代码:https://codeforces.com/contest/1728/submission/262276717


D. Lucky Permutation

思路:这道题思路也是比较典。考虑置换环,如果一个环上有编号相邻的节点,那么余下这一对即可;否则,都拆为孤立点,然后随便连上两个点即可。

AC代码:https://codeforces.com/contest/1768/submission/262351844


D. Range = √Sum

思路:好长时间憋出来的。首先偶数好考虑。如何考虑奇数?开始找性质,假设 a 1 = 1 a_1=1 a1=1 ,发现 a n a_n an n n n 大概是同阶的。先考虑 = n 2 =\sqrt {n^2} =n2 ,发现构造不出来。最后打表发现某种方法可以构造出 = 4 × n 2 =\sqrt{4\times n^2} =4×n2 。遂过。

AC代码:https://codeforces.com/contest/1758/submission/262357393


D. Take a Guess

思路:这题我是拆位转化为 01 序列求解的,查询次数 2 × n − 1 2\times n - 1 2×n1 但特别麻烦。

利用到性质就非常好写了。划重点 ( x & y ) + ( x ∣ y ) = x + y (x \& y)+(x|y)=x+y (x&y)+(xy)=x+y 。这样的话就好构造了,查询次数 2 × n 2\times n 2×n ,方法见题解。

AC代码(拆位):https://codeforces.com/contest/1556/submission/262366785

AC代码(性质):https://codeforces.com/contest/1556/submission/262370912

http://www.lryc.cn/news/358808.html

相关文章:

  • 统计各个商品今年销售额与去年销售额的增长率及排名变化
  • 华为校招机试 - 矿车运输成本(20240522)
  • 【C++奇技淫巧】CRTP(奇特重现模板模式)
  • web学习笔记(六十一)
  • Nginx在Docker中的应用:容器化部署与扩展
  • vscode编译和调试wsl环境的c语言程序
  • (CPU/GPU)粒子继承贴图颜色发射
  • 【C#】 一个窗体能够显示、最小化、最大化、关闭时分别触发方法
  • pgsql基本操作
  • 3d渲染的常用概念和技术,渲染100邀请码1a12
  • 热敏电阻的设计
  • macOS上编译android的ffmpeg及ffmpeg.c
  • RxSwift - 实现一个MVVM架构的TableView
  • 在 CentOS 7 上安装并配置 Redis 允许远程连接的详细教程
  • 越来越多企业选择开源批发订货系统
  • KT6368A双模蓝牙芯片上电到正常发送AT指令或指令复位需要多久
  • 代码随想录算法训练营第38天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 变现实谈,我要的不是灵光一现,而是真实的实现!——感悟篇
  • Matlab操作Excel筛选指定数据的对应数据
  • 对于C++STL及其时间复杂度的总结
  • Docker搭建FRP内网穿透服务器
  • 【NumPy】掌握NumPy的divide函数:执行高效的数组除法操作
  • 您的虚拟机未能继续运行,原因是遇到一个可纠正的错误。请保留挂起状态并纠正错误,或放弃挂起状态。
  • FPGA DMA IP核使用指南
  • 【博客20】缤果Matlab串口调试助手V1.0(中级篇)
  • 南京威雅学校:2024年度大戏《Tinkerbell(小叮当)》震撼落幕
  • Kotlin 函数
  • 动态路由协议实验——RIP
  • 数据结构 | 二叉树(基本概念、性质、遍历、C代码实现)
  • 很多Oracle中的SQL语句在EF中写不出来