首页 > 其他分享 >Small Permutation Problem (Easy Version)

Small Permutation Problem (Easy Version)

时间:2024-10-11 16:24:34浏览次数:1  
标签:乘入 Version Easy Permutation Small Problem

算法

考虑转化
每个点 \(p_i\) 在一个平面直角坐标系中表示为点 \((i, p_i)\)

于是转化为一个棋盘问题, 即每一个点不能在 同一行 / 同一列
\(a\) 数组的限制相当于在左下角为 \((0, 0)\), 右上角为\((i, i)\) 中的正方形中, 有 \(a_i\) 个棋子

于是在每一次加入的时候, 都只能在一个 L 型区域的符合要求的地方加入
pAYuBY6.png

例如此时就只能在红色区域加入

于是可以分类讨论(此处 \(a_i\) 均为差分数组)

  • 当 \(a_i = 0\), 则代表没有增加任何点对, 答案不变
  • 当 \(a_i = 1\), 则代表增加了一个点对, 有 \(2 \times i - 1 - 2 \times a_{i - 1}\) 种可能的选择, 将其乘入答案
  • 当 \(a_i = 2\),则代表增加了两个点对, 每个点有 \(i - 1 - a_{i - 1}\) 种可能的选择, 将其的平方乘入答案

代码

总结

计数类型的题目, 不仅可以用

  • dp
  • 直接计算

还可以使用

  • 转化法

标签:乘入,Version,Easy,Permutation,Small,Problem
From: https://www.cnblogs.com/YzaCsp/p/18458106

相关文章

  • SVN ignore -- 在 subversion 中如何忽略文件或目录?
    在Git中很容易忽略文件和目录。作为旧时代的版本控制系统,svn没有简单的忽略方法。在SVN中,忽略文件或目录是一个属性,可以在存储库中的特定目录中设置。一、命令行添加忽略忽略文件要忽略所有以.o结尾的文件,使用:svnpropsetsvn:ignore"*.o".忽略目录如果要忽略......
  • Automate PowerPoint to PDF Conversion in .NET
    AutomatePowerPointtoPDFConversionin.NETStreamlineworkflowsbyeliminatingtheneedformanualfileconversions,ensuringconsistentformattingandenhancingdocumentsecurity.Usinga.NETcomponenttoconvertPowerPointpresentations......
  • selenium.comon.exceptionsSessioMotcreatedException: Message: session not created
    这个错误是因为您的ChromeDriver版本不支持当前安装的Chrome浏览器版本。错误信息指出,您的ChromeDriver只支持Chrome版本127,但您当前的Chrome浏览器版本是129.0.6068.90。要解决此问题,可以尝试以下步骤:更新ChromeDriver:下载与您当前Chrome浏览器版本兼容的ChromeDriver。可以......
  • ValueError: Unsupported callback API version: version 2.0 added a callback_api_v
     2024/10/1021:25:44PM-ERROR-InternalServerError:/abcTraceback(mostrecentcalllast):File"/root/abc/backend/venv/lib/python3.8/site-packages/django/core/handlers/exception.py",line47,ininnerresponse=get_response(reque......
  • Linux中提示:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found 的解决
    一、查看gcc版本中包含哪些库#1.终端中输入如下命令:strings/usr/lib64/libstdc++.so.6|grepGLIBC#2.显示如下:===============================================GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBC......
  • Problem Set 1 Installing MikTex
    ProblemSet1XXXDue:10/10/2024IntroductionThisdocumentwasproducedbyRusingRMarkdown.Tocompletethisweeksassignment,wewillaskyoutocompleteaseriesofanalyticalandcodingexercises.TheAnalyticalExercisesrequirenocoding,whereasth......
  • PAT甲级-1150 Travelling Salesman Problem
    题目 题目大意旅行商问题是NP-hard问题,即没有多项式时间内的解法,但是可以验证答案是否正确。给定一个无向图,判断简单环,复杂环和非环。对应“TSsimplecycle”、“TScycle”、“NotaTScycle”。还要求出环的最小路径权值和,及对应的索引。思路主要思路在于如何区分简......
  • 分布式理论-拜占庭将军问题(The Byzantine Generals Problem)
    文章目录模拟拜占庭问题苏秦的困境两忠一判难题口信消息型拜占庭问题之解两轮方案原则两轮方案实现签名消息型拜占庭问题之解苏秦问题和分布式的关系分布式环境下常见容错算法有哪些本文借助战国苏秦合纵六国灭秦国的故事探讨拜占庭将军问题,充分展示拜占庭将军问题......
  • CF2021E3 Digital Village (Extreme Version)
    原题链接考虑建出kruskal重构树,设\(f_{i,j}\)为\(i\)子树中选了\(j\)个点的答案最小值。记\(cnt_x\)为\(x\)子树中有多少个关键点,\(w_x\)为kruskal重构树上的权值。转移时合并两个子树\(f_{x,i}=\minf{u,j}+f{v_{i-j}}\),还有一种转移是\(f_{x,i}=f_{v,i}+cnt_......
  • uniapp - HBuilderX运行到内置浏览器编译报错 ublic static TextAppearance_Holo_Smal
    前言网上的教程都无法解决问题,本文提供强力解决方案。在uniappH5网页开发中,报错提示:ublicstaticTextAppearance_Holo_Small:number;|SyntaxError:Unexpectedidentifier,非常恶心的错误,手机H5网站项目点击运行到内置浏览器后,瞬间报错且无法编译提示已停止运行,H5......