首页 > 其他分享 >POI2015 合集

POI2015 合集

时间:2022-10-02 10:22:21浏览次数:81  
标签:题面 位置 矩阵 POI2015 倍增 合集 步数 就是

KUR

题面

考虑小串会在大串的哪些位置出现,然后就是设小串开头的位置为 \(x\),然后小串第 \(i\) 个位置如果 \(a_i=0\) ,则 \(0\leq a(x+i)+b<p (\mod n)\),\(a_i=1\) 同理,然后用这个关系解出 \(ax\) 的取值范围。但注意 \(x\) 取不到 \([n-m+1,n]\) ,因为这样小串放不下,所以暴力的删掉就行了。

PIE

题面

就每次从最上面中最左面开始验证就行。如果每次把整个矩阵扫一遍复杂度是错的,但每次只验证 \(x\) 的位置就是对的因为这样每个 \(x\) 只会被验证一次。

就我这种垃圾才会调这么久的 QAQ

KIN

题面

对于每个右端点,找一个最优的左端点。所以从左往右扫,每次扫到一个颜色就把从这个位置到这个颜色上一次出现的位置加上贡献,其余位置减掉贡献,然后找区间最大值。

MOD

题面

跟 JD1024 删边是一样的题,就是麻烦了点,最长链就是把删掉的直径拼在一起,最短的就是把两个直径的中点连在一起。需要注意的是最短的如果直径中点连起来比某一个直径小,这个新连起来的东西就无法成为最小值,计算的时候应该用最长的直径计算

WYC

题面

倍增 floyd 的奇妙应用!

边权是 1,2,3 就可以拆点了。拆点的话不怎么难。倍增 floyd 就是处理跳 \(k\) 步的,矩阵里存的是方案数,我们可以提前预处理出跳 \(2^k\) 步的方案数,但是方案数只计算主点的,计算方法就是用一个临时矩阵,从 \(0\) 向 \(i\) 各连一条边,原矩阵一开始要从 \(i\) 向 \(0\) 连一条边,这样主点和 \(0\) 可以形成回路, \((0,0)\) 的值就是答案。

预处理之后就只需要用倍增之类的办法让他跳之后的步数正好小于 \(k\) ,(因为倍增的一个性质就是可以拆分成二进制数嘛)。

需要注意的是不是 \(0\) 的点的含义是走过了这一步的方案数,\(0\) 的含义是还未走过这一步的方案数

MYJ

题面

这道题的比较人类智慧的状态定义。就是设 \(f_{i,j,k}\) 表示从第 \(i\) 家到第 \(j\) 家,最小值为 \(k\) 的最大收益的和。然后要枚举也是分割点,还要找到对于所有属于 \([i,j]\) 的区间中,每个点被多少区间越过去了。

然后转移就是这样的 \(f_{i,j,k}=\max \{f_{i,l-1,k}+f_{l+1,j,k}+cnt_{l,k}\times k\}\) ,其中 \(cnt_{l,k}\) 表示经过 \(l\) ,\(c\) 大于等于 \(k\) 的区间个数。然后发现 \(k\) 不重要,只关心他和 \(c\) 之间的关系,所以离散化一下,复杂度 \(O(n^3 m)\) 的。

ODW

题面

看到隔几步跳一次的就应该想到根号分治。如果跳的步数大于 B,就直接转移,否则就是维护每个点向上跳的步数为 \(k\) 的前缀和,然后直接找到到哪里开始减就行了。

我感觉ynoi 那个比这个别扭一些

标签:题面,位置,矩阵,POI2015,倍增,合集,步数,就是
From: https://www.cnblogs.com/cc0000/p/16748325.html

相关文章

  • 进入python的世界_day8_python基础——字典、元组、合集的内置方法、编码的介绍
    写在开头,昨天学了一些数据类型的内置使用方法,比如整形、浮点型、字符串、列表,今天学字典、元组、集合的常用内置方法,布尔值是没有所谓的内置方法的,还学了字符编码一、字......
  • 2022 年十大接口测试工具合集
    接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTfulAPI、SOAPWeb......
  • VRPTW合集 [CW节约算法,TS(硬约束版),TS(惩罚函数版),LNS四种方法对比(附MATLAB代码)]
    01方法回顾VRPTW系列推文终于要告一段落了,最初小编写了一篇最基本的节约算法构造VRPTW初始解推文;然后在这个基础上,小编尝试用3种不同的策略在所构造的初始解的基础上,进一步......
  • Shader理论合集
    ​​Shader理论《一》渲染流水线渲染流程​​  ​​Shader理论《二》GPU流水线之几何阶段​​​​Shader理论《三》GPU流水线之光栅化阶段​​​​Shader理论《四》概述Sh......
  • Java 代码优化技巧合集:如何节约时间和空间
    JavaPerformance:reducingtimeandspaceconsumption一篇关于如何优化Java代码的文章,提供了很多很有用的小技巧。 原文地址:http://www.itu.dk/people/sestoft/pape......
  • P3592 [POI2015] MYJ 洗车店
    P3592[POI2015]MYJ洗车店点击查看代码//此题与人的区间[a,b]有关:区间DP;将[l,p-1],[p+1][r]的区间递归计算,经过p的区间//f[l][r][k]表示l<=a<=b<=r的洗车店的价......
  • HTML&CSS-盒模型运用居中方式合集
    方法:定位,外边距,内边距,层级,边框;一个元素;两个元素;三个元素.<!DOCTYPEhtml><htmllang="en"><head> <metacharset="UTF-8"> <metahttp-equiv="X-UA-Compatibl......
  • Java Script 循环,数组,对象,判断,阶乘,查找-综合运用合集
     输出100个helloworld.for(vari=1;i<=100;i++){console.log("helloworld");}创建一个包含1~100的数组.vararray=[];for(vari=1;i<=100;i+......
  • B站上如何把同类视频做成合集
    前言常逛B站的朋友,想必对下图不会感到陌生,简单来说就是把同系列的视频做一个合集,当你点击其中任意一个视频后,都会显示下图的合集列表,方便观看但要想把视频做成合集却......
  • Uni-app Vue 中CSS问题整理合集
    一、父组件设置子组件的样式:一般情况下子组件内部负责各自样式。不过在很多场合里,我们也会要求父组件来修改子组件默认样式。父组件可以通过传入class样式修改有限的样式......