首页 > 其他分享 >几个小 trick

几个小 trick

时间:2024-04-06 18:55:57浏览次数:10  
标签:太菜 几个 T4 trick dp 998244353 式子

这是我在这次 LG 月赛中领悟到的。

关于 T4

T4 让我们构造一个东西,在 \(\mod 998244353\) 的情况下。

然后你就很像把 \(0\) 给搞进去,发现不合理。

这时候怎么办?

可以把 \(0\) 变成 \(998244353\) !这样就行了。
很厉害,给我上了一课。

关于 T5

这启示我们往一类问题思考。

主要问题是这样的:长度为 \(n\) 的序列,一直不下降,可以相等,最后一个元素是 \(m\) ,问方案数。

考虑 dp 很快就能写出转移式。再加上前缀和优化,时间复杂度是平方级别。

可惜,笔者太菜了,后面往组合数学方向思考,没有任何结果。

最后一小时,发现 dp 可以优化成这个式子:

\[f_{i,j}=f_{i-1,j}+f_{i,j-1} \]

你可以从两个方向思考:

Trick 1

这个式子其实是路径问题。
转化一下,就是从 \((1,1)\) 到 \((n,m)\) 只能向下、向右走,到终点方案数。
我们把路径行走记下来,向右就是 \(1\) ,向下就是 \(0\) 。
然后 \(1\) , \(0\) 数量固定。
所以捏,这相当于,把 \(n\) 个 \(1\) , \(m\) 个 \(0\) 排列后不同的排列数。
经典问题,式子出来:\(C_{n+m}^n=C_{n+m}^m\)

Trick 2

这就是一个杨辉三角,我们把它转 \(45°\)。
然后递推式不就出来了吗。
根据组合数的理解,你能很快求出某列、某行,甚至某一斜对角线的值。
真是公公又式式!

后话

笔者太菜,最终也是冲刺了一波才到了 rk47.

标签:太菜,几个,T4,trick,dp,998244353,式子
From: https://www.cnblogs.com/g1ove/p/18117750

相关文章

  • 关于MySQL数据库的几个简单的入门代码注释
    不是很全,是我刚开始学习数据库时记的笔记%FOUND判断游标有效性%ROWTYPE行数据类型%属性:=赋值符号1ISTABLEOF21、2类型一样ABS系统自带函数绝对值ALL()比所有都ANY()任意一个(some用法意思一样)AS命别名,连接ASC升序AVG()函数求平均数BEGIN执行部分BULKCOLLECT......
  • 10 个 Laravel Eloquent 中的隐藏特性你知道几个
    Laravel是一个功能丰富的框架。但是,你无法在官方文档中找到所有可用的功能。以下就是你可能不知道的一些功能。1.获取原始属性当你修改了一条Eloquent记录后,你可以用getOriginal()来获取原来的属性。$user=App\User::first();$user->name;//John......
  • 【RF分类】基于随机森林进行等级评价,包括20几个评价指标附matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • Vaadin框架是如何处理前后端交互的?列举几个Vaadin中常用的UI组件,并描述它们的作用。如
    Vaadin框架是如何处理前后端交互的?Vaadin框架处理前后端交互的方式主要基于服务端渲染和事件驱动的编程模型。以下是具体的处理过程:服务端渲染:Vaadin应用程序的UI组件是在服务器端创建和渲染的。当用户在浏览器中访问应用程序时,服务器会生成HTML和JavaScript代码,并将其发......
  • 推荐几个好用的电商API接口(淘宝天猫丨京东1688商品详情数据接口)
    电商API接口主要用于帮助开发者将电商功能集成到自己的应用程序中,实现诸如商品检索、商品价格数据获取、订单处理、物流跟踪等功能。以下是一些常用的电商API接口提供商:一、主流电商平台API:淘宝开放平台:提供淘宝、天猫、1688等阿里巴巴集团旗下的电商平台接口,用于商品检索、......
  • 分享几个非常不错嵌入式开源项目,一定不要错过
    大家好,我是知微!经常有小伙伴后台私信我:有没有好的开源项目推荐怎么样才能提升自己的编程能力那么这篇文章就推荐几个还不错的开源项目,感兴趣的小伙伴可以学习一下!日志库EasyLoggerhttps://github.com/armink/EasyLogger开发一个项目,如果没有日志的记录,当遇到问题需要分......
  • 如何将几个长度相同的列表并列组合在一起(附:zip函数使用出错原因:巨坑~)
        Python中列表对象使用很方便,用Python编程时,经常会遇到将多个长度相同的列表是针对某一组特定对象的,如何能方便的把这些列表组合起来一起使用呢?ZIP()函数可以方便的解决这个问题。一、将几个长度相同的列表并列组合例如,设置四个列表ID=[1,2,3,4]Name=['小......
  • Linux修复硬盘的几个命令
    Linux中有多种命令可以用来修复硬盘。下面是一些常用的硬盘修复命令:1.fsck命令:用于检查和修复文件系统上的错误。它可以用于修复由于硬盘故障或意外断电引起的文件系统错误。例如,要修复/dev/sda1分区上的文件系统,可以使用以下命令:“`bashfsck/dev/sda1“`2.badbloc......
  • mogdb里xlog相关的几个参数
    openGauss/MogDB3.0闪回恢复测试本文出处:https://www.modb.pro/db/411368介绍闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务的影响,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复......
  • 窗口最大化后跑偏几个像素
    windows平台首先通过代码实现窗口最大化inttitle_bar_height=style()->pixelMetric(QStyle::PM_TitleBarHeight);//获取标题栏高度QRectprimary_rect=QApplication::desktop()->availableGeometry();this->setGeometry(0,title_bar_height,primary_rect.width(),p......