首页 > 其他分享 >杂题笔记

杂题笔记

时间:2024-02-27 20:48:34浏览次数:19  
标签:max 删掉 笔记 合法 偶数 异或 即可 杂题

  • XSY5208 odekeke

先考虑 \(c=0\) 怎么做。

直接 DP 非常困难,发现一个球放 A 还是 B 的决策与放圆洞还是方洞的决策互相独立,可以求出两种决策的方案数再乘起来。\(f_i\) 表示 A 总重量为 \(i\) 的方案数,\(g_i\) 表示方洞总重量为 \(i\) 的方案数,做 01 背包。合法的方案判一下各个限制即可。

\(c=1\) 显然是考虑删掉一个数后的背包,对于每个数算一下删掉后的答案即可。

  • XSY5206 bracket

容易发现,答案与这个括号串的构成无关,我们只需考虑一个区间内是否构成合法串即可。

\([l,r]\) 合法当且仅当以下三个条件成立:

  • \(r-l+1\) 为偶数。

  • 当所有 ? 均填上 ( 时,没有多余的 )

  • 当所有 ? 均填上 ) 时,没有多余的 (

必要性显然,充分性证明可以先将串中所有 () 左侧的括号成对删掉,这显然不影响判断。可以构成一个形如 )?)??))?(((??? 的串,若中间部分长度为奇数,则两边至少有一个括号无法匹配(因为整个串是偶数,两边匹配后也应为偶数),否则按如上的条件判断,若符合则左右两边都必定可以构造。

发现对于同一个 \(l\),合法的 \(r\) 是以 \(l\) 开始的一段连续区间,对于同一个 \(r\),合法的 \(l\) 是以 \(r\) 结束的一段连续区间,于是可以直接 dp。\(R_i\) 表示当 \(l=i\) 时满足条件 \(2\) 的最大的 \(r\),\(L_i\) 表示当 \(r=i\) 时满足条件 \(3\) 的最小的合法的 \(l\),\(f_i\) 表示考虑前 \(i\) 个字符的答案,有转移 \(f_i=\max(f_{i-1},\max\limits_{R_j\ge i,L_i\le j} f_{j-1}+a[i-(j-1)]+b)\),线段树维护 \(\max (f_{j}-aj)\) 即可。

  • XSY 5218 perm

考虑每次操作本质是什么,发现对于 \((i,p_i)\),操作 \(1\) 后变为 \((i \operatorname{xor} 2^{n-1},p_i)\),操作 \(2\) 后是变为 \((rev(i),p_i)\),其中 \(rev(i)\) 表示 \(i\) 循环移位后的结果。

于是枚举循环移位多少次,之后可达的序列就是对下标异或上任意一个数后的结果。现在要最小化下标异或上一个数的逆序对数,发现第 \(i\) 位异或 \(1\) 即交换相邻的长度为 \(2^i\) 的区间,这个过程可以归并排序时求出,且下层交换不会影响上层,对每一层交换或不交换的情况取 \(\min\) 再求和即可。

标签:max,删掉,笔记,合法,偶数,异或,即可,杂题
From: https://www.cnblogs.com/Terac/p/18038178

相关文章

  • 闵可夫斯基和学习笔记
    闵可夫斯基和给定两个向量空间\(A\)和\(B\),则闵可夫斯基和\(A+B={a+b,a\inA,b\inB}\)。当\(A\)和\(B\)都是凸包时,他们的闵可夫斯基和也是凸包。考虑当\(A\)的轮廓是凸函数\((i,f_i)\),\(B\)的轮廓是凸函数\((j,g_j)\)时,\(A+B\)的轮廓就是\((k,\max_{i+j=k}......
  • Java面试题笔记-多线程篇
    创建线程的几种方式继承Thread类,重写run方法实现Runnable接口,实现run方法实现Callable,实现call方法,配合FutureTask获取线程返回结果通过ThreadPoolExecuter线程池获取线程资源这几种方法的底层都是Runnable,Thread是Runnable接口的实现类,Callable配合FutureTask使用......
  • 第十一章 硬件控制方法 笔记
    硬件是计算机系统的物理组成部分,包括CPU、内存、硬盘、外设等。它们负责执行具体的操作和存储数据。而硬件控制方法则是指通过软件来操控硬件的方式和技术。首先介绍了硬件的基本结构和工作原理。计算机硬件由许多不同的部件组成,每个部件都有其特定的功能和工作方式。例如,CPU负责......
  • 论文笔记 - Rank-detr
    1.前言这篇论文发表于neurips2023。这篇论文要解决什么问题?rank预测的类别和框体位置会发生错位,预测类别精度高,但是框体位置的定位不是最佳的,论文的改进目标就是将rank分数中类别和框体位置的分数进行统一这篇论文作出的贡献?对Dino中queryselection阶段,对Encoder输出的......
  • 我与计算机的读书笔记
    当我们深入探索这本《我与计算机》的奥秘时,第一章为我们开启了一段追溯个人与计算机相遇、相识、相知的历史长河。它不仅仅是一个技术性的指南,更是一段人类与科技进步共舞的生动叙述。首先,我被书中提到的张淑雅的故事深深吸引。她仿佛是一个时代的缩影,她的经历代表了那一代人对计......
  • 离散微积分学习笔记
    后向差分对于函数\(f(x)\)定义等距节点\(x_k=x_0+k\Deltax\)。有:\[\Deltaf(x_k)=f(x_{k})-f(x_{k-1})\]下文简称差分。高阶差分一般来说,\(k\)阶差分的定义如下:\[\Delta^ka_n=\Delta(\Delta^{k-1}a_n)\]易得\(k\)阶差分公式:\[\Delta^ka_n=\sum_......
  • Vue学习笔记18--列表渲染
    总结: <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表渲染</title>&l......
  • Vue学习笔记18--条件渲染
    条件渲染总结:v-if写法:v-if="表达式"v-else-if="表达式"v-else="表达式"适用于:切换频率较低的场景特点:不展示DOM元素直接被移除注意:v-if可以和v-else-if、v-else一起使用,但要求其结构不能被“打断”——即,中间不能有其他元素v-show写法:v-show="表达式"适用于:切......
  • PMGT论文阅读笔记
    Abstract​ 我们提出了一种预训练的策略,通过考虑项目侧信息及其关系来学习项目表示。我们通过共同的用户活动来关联项目,例如,共同购买,并构建一个同质的项目图。该图提供了在多模态中的项目关系及其关联的边信息的统一视图。我们开发了一种新的采样算法,名为MCN采样,以选择上下文的邻......
  • RabbitMQ 学习笔记
    为什么使用消息队列?以用户下单购买商品的行为举例,在使用微服务架构时,我们需要调用多个服务,传统的调用方式是同步调用,这会存在一定的性能问题使用消息队列可以实现异步的通信方式,相比于同步的通信方式,异步的方式可以让上游快速成功,极大提高系统的吞吐量消息队列的使用场景有如......