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

Codeforces Round 863 (Div 3)总结

文章目录

  • A
  • B
  • C
  • F

文章首发于我的个人博客:欢迎大佬们来逛逛

A

题目描述:在一个数字序列中的任意位置插入一个给定的数字,最后要使得这个整数序列所表示的值尽可能大。

很容易想出来,如果我们给定的数字是 5,并且序列的为 12345,则5一定插入到开头位置;如果序列为 65123,则5一定插入到第二个位置;如果为98765,则5一定插入到最后。

因此寻找第一个 a[i]<b 的位置即为插入的值。


B

两个点在传送带上移动,求得两个点相隔几个传送带。

可以发现,每个在一条传送带上的物品一定会随着传送带移动,并且经过左上角的点,同时这个点的坐标可以通过以下公式来维护:

m i n ( x , y , n + 1 − x , n + 1 − y ) min(x,y,n+1-x,n+1-y) min(x,y,n+1x,n+1y)

例如:

  • n=2,(2,2):min(2,2,1,1) = 1
  • n=4,(1,4):min(1,4,4,1) = 1
    • (3,3):min(3,3,2,2) = 2

因此求出左上角的两个位置后,取这两个点的差的绝对值即可。


C

重塑序列,一个序列 b 可以表示为 b[i]=max(a[i],a[i+1]),则告诉你这个 b 序列,让你反推出原始序列最有可能的值。

假设原始序列为 a,则:

  • a[0] = b[0]
  • a[1] = min(b[i],b[i-2])
  • a[n-1] = b[n-2]

反过来表示即可


F

如果一个数字序列不包含任何的4,例如:0,1,2,3,5,6,7,8,9 …. 13,15 … 23,25 … 那么表示出第 x 个数字在这种情况下对应的数字是几?

数字的十进制用九进制表示:

0,1,2,3,4,5,6,7,8;

10,11,12,13,14,15,16,17,18 …

如果我们把存在4的数字之后(包括这位数字)的所有数字+1,则会变成这种:

0,1,2,5,6,7,8,9;

11,12,13,15,16,17,18,19 …

因此这就符合我们的题意。

因此我们就可以把给定的 x 转换为九进制,然后把每一位的值通过映射转换即可。


http://www.kler.cn/a/17423.html

相关文章:

  • 3D编辑器教程:如何实现3D模型多材质定制效果?
  • 【数据结构与算法】第12课—数据结构之归并排序
  • 前端:块级元素和行内元素
  • vue2.7.14 + vant + vue cli脚手架转vite启动运行问题记录
  • 前端框架大比拼:React.js, Vue.js 及 Angular 的优势与适用场景探讨
  • [运维][Nginx]Nginx学习(1/5)--Nginx基础
  • cmake编译
  • 截图的背景色如何去除?这里介绍一个小工具
  • buildroot系统调试苹果手机网络共享功能
  • 人机智能中几个困难问题浅析
  • API接口的对接流程和注意事项
  • STM32F4_十进制和BCD码的转换
  • 【地铁上的设计模式】--结构型模式:装饰器模式
  • IJKPLAYER源码分析-重要字段
  • LeetCode 1003. Check If Word Is Valid After Substitutions【栈,字符串】中等
  • 【GAMES101】03 Transformation
  • 回忆我的爷爷
  • 什么是图数据库Neo4j
  • 力扣---LeetCode141/142. 环形链表 (I)和(II) (代码详解+流程图+数学逻辑拓展)
  • 自动驾驶技术:前景、优势与挑战
  • kubernetes安装
  • Docker 架构
  • Vue生命周期
  • 第二十四回:如何屏蔽事件
  • SpringMVC(后)SSM整合
  • [创新工具和方法论]-01- DOE课程基础知识