首页 > 其他分享 >AT_abc274_d 总结

AT_abc274_d 总结

时间:2023-05-31 20:11:49浏览次数:48  
标签:总结 le 个点 mid nx abc274 dp

题目:AT_abc274_d

链接:洛谷AT逐月

题意

  • 给定正整数数组 \(a\) 和整数 \(x,y\),请判断是否有 \(n + 1\) 个点满足(一个坐标可以不止一个点):
    • \(p_1 = (0, 0), p_2 = (A_1, 0), p_{n + 1} = (x, y)\)。
    • \(p_i\) 与 \(p_{i + 1}(2 \le i \le n)\) 的距离为 \(a_{i}\)
    • 线段 \(p_ip_{i + 1}\) 与 \(p_{i + 1}p_{i + 2}(1 \le i < n)\)。
  • 数据范围:\(1 \le n \le 10^3, 1 \le a_i \le 10, \mid x \mid, \mid y \mid \le 10^4\)。

思路

  • 首先有一个暴力 \(DP\),令 \(dp_{i, j, k}\) 表示第 \(i\) 个点能否在 \((j, k)\),\(dp_{i, j, k}\) 转移到 \(dp_{i + 1, j', k'},\)j', k'$ 满足题意要求,最后看 \(dp_{n + 1, x, y}\),空间时间都爆了。

  • 然后我们发现 \(j, k\) 是分开的,若 \(i\) 为偶数,\(x\) 变化,否则 \(y\) 变化,所以令 \(dp_{i, j}\) 表示第 \(i\) 个点变化坐标的那一维能否为 \(j\),\(dp_{i,j}\) 转移到 \(dp_{i + 2, j'}, j' = j + a_{i - 1} 或 j - a_{i + 1}\),若 \(n\) 为奇数,看 \(dp_{n + 1, x} \& dp_{n, y}\),否则看 $dp_{n, x} & dp_{n + 1, y},注意下标可能为负数,需要偏移。

时间复杂度

  • 状态数:\(O(nx)\)。
  • 转移数:\(O(nx)\),一次转移 \(O(1)\)。
  • 总时间复杂度:\(O(nx)\)。

标签:总结,le,个点,mid,nx,abc274,dp
From: https://www.cnblogs.com/xhr0817-blog/p/17447202.html

相关文章

  • Beta版会议总结,无敌三人组
    本文将对一次团队开会的过程、讨论的问题,以及选出的最需要改进的三个问题进行介绍。本次会议的主题是针对我们正在开发的安卓图片识别的记账本进行讨论。经过集思广益,我们选出了最需要改进的三个问题,并在会议结束后进行了投票。根据投票结果,我们将选出的三个问题进行了分析,结合实......
  • AT_abc290_d 总结
    题目:AT_abc290_d链接:洛谷,AT,逐月题意\(f(x)\)为序列\(x\)最少需要改变的字符数量使得\(x\)为回文串。给定长度为\(n\)的序列\(a\),求所有子段的\(f(x)\)之和。数据范围:$1\lea_i\len\le10^5$。思路\(n^2\)暴力我们可以对于每一对数\((a_i,a_j)(1\l......
  • Docker 常用命令简单总结
    1、安装docker1.1、安装docker:sudoapt-getinstall-ydocker.io1.2、启动docker服务:systemctlstartdocker1.3、设置开机启动:systemctlenabledocker1.4、查看docker版本:docker--version1.5、查看Dockercpu/内存占用状态:dockerstats--help1.6、查看Docker状态:systemctlsta......
  • kkFileView漏洞总结(转)
     发布时间2023-05-0422:18:52作者:渗透测试中心0x00kkFileview存在任意文件读取漏洞漏洞描述KekingKkFileview是中国凯京科技(Keking)公司的一个Spring-Boot打造文件文档在线预览项目。KekingkkFileview存在安全漏洞,该漏洞源于存在通过目录遍历漏洞读取任意文件,可能导......
  • 【随手买】团队博客总结
    设想和目标1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?我们的软件主要做的是车载随手买,我们之前有录制视频进行分析,有较为清晰地描述。2.是否有充足的时间来做计划?只有十天工程时间,计划时间是比较短的。再加上我们团队只有两个人,团队......
  • 算法总结——堆栈、字符串、数组类题目
    先说stack的题目stack的实现:链表,数组题目:(1)简单的:minstack,一个数组实现三个stack(2)经典的stack问题:经典汉诺塔问题,逆波兰式计算或者产生逆波兰式,简化文件路径,验证括号对是否合法,找出最长有效括号(贪心+stack求解)(3)涉及tree的遍历问题:tree中序遍历的迭代解法,二叉搜索树的两节点和(twosu......
  • JS监听dom高度变化方法总结
    前沿:有时候我们需要监听dom的变化,比如获取父元素的高度,动态的设置子元素的高度,所以需要监听dom的高度变化,才能准确获取dom的高度,那么有哪些监听dom高度变化的方法呢?今天简单列举一下。1、MutationObserver构造函数MutationObserverAPI用来监视DOM变动。DOM的任何变动,......
  • golang实现设计模式之抽象工厂模式总结-代码、优缺点、适用场景
    抽象工厂模式也是一种创建型的设计模式,其是在工厂模式的基础上实现更高程度的内聚。我们知道在工厂模式中,一种产品类就需要新建个对应的工厂类生成产品的实例,这会有什么问题呢?虽然工厂模式解决了简单工厂模式不好扩展的问题,实现了OCP,但一种产品就需要新建一个工厂类,比如有10000种......
  • linux命令小总结 本人本阶段学习的linux命令。
    ifconfig查看IP地址reboot重启ls查看命令  ls--help查看ls的帮助  ls-l查看详细列表  ls-a查看当前文件或者文件夹,包括隐藏文件和文件夹。  ls-la组合命令查看所有列表的文件夹和所有隐藏文件  ls/etc指定查看当前某一个目录里面的文件或者文件夹  ......
  • vue事件基本使用总结
    vue事件的基本使用:1、使用v-on:xxx或@xxx绑定事件,其中xxx是事件名2、事件的回调需要配置咋methods对象中,最终会挂载在vue实例对象上3、methods中配置的函数,不要用箭头函数,否则this就不会只想vue实例了4、methods中配置的函数,都是被Vue所管理的函数,this指向的是vue实例或组件实......