首页 > 其他分享 >dp递推 口胡记录

dp递推 口胡记录

时间:2023-08-16 10:45:00浏览次数:70  
标签:frac 前缀 记录 sqrt 递推 dp 2k

dp/递推 口胡记录

[SHOI2013] 超级跳马

\(tag\):矩阵乘法,前缀和

暴力\(dp\)很显然,设\(f_{i,j}\)为从\((1,1)\)跳到\((i,j)\)的方案数,那么有$f_{i,j}= \sum \limits _{j-(2k+1)>0}f _{i/i+1/i-1,j-(2k+1)} $

发现这个东西其实是一直由前面奇偶性相同的一段转移过来的,因此考虑前缀和优化

设\(s_{i,j}=\sum \limits _{j-2k>0} f_{i,j-2k}\),那么由定义有\(s_{i,j}=s_{i,j-2}+f_{i,j}\),然后我们再考虑\(f\)怎么由\(s\)转移而来,不难发现\(f_{i,j}=s_{i-1,j-1}+s_{i,j-1}+s_{i+1,j-1}\),联立两式有\(s_{i,j}=s_{i,j-2}+s_{i,j-1}+s_{i-1,j}+s_{i+1,j-1}\)。

然后这个前缀和显然可以矩乘转移。

[JLOI2015] 有意义的字符串

不看题解连矩乘都想不到,/kk

发现\(\frac{b+ \sqrt{d}}{2}\)的形式和一元二次方程求根公式很像,进过构造可以发现它是方程\(x^2-bx+\frac{b^2-d}{4}=0\)的一个解。

移项后两边同时乘\(x^{n-2}\)有\(x^n=bx^{n-1}-\frac{b^2-d}{4}x^{n-2}\)。

发现这个已经形成了矩乘形式的递推关系,但是初始\(\frac{b+ \sqrt{d}}{2}\)是小数,不方便进行取模。

所以考虑构造\(f(x)=(\frac{b+ \sqrt{d}}{2})^x+(\frac{b- \sqrt{d}}{2})^x\),将两个根\(x1,x2\)带入后两式相加发现有\(f(i)=bf(i-1)-\frac{b^2-d}{4}f(i-2)\),并且有\(f(0),f(1),b,\frac{b^2-d}{4}\)都为整数。

因此可以直接矩乘计算出\(f(n)\),再考虑减去\((\frac{b- \sqrt{d}}{2})^n\)的贡献,发现这东西 \(\in \left\{-1,1 \right\}\)分类讨论\(n\)的奇偶性判断答案是否减一即可。

注意用__int128或者龟速乘。

标签:frac,前缀,记录,sqrt,递推,dp,2k
From: https://www.cnblogs.com/cqbzlzh/p/17633373.html

相关文章

  • 图论口胡记录
    图论口胡记录Xor-MST\(Borvuka\)算法版题\(Borvuka\)的流程是每次对于每个联通块中都找到一条向外部最小的边,然后再将边相连的两个连通块合并。可以发现每次连通块的个数都会减半,只会合并\(\log_n\)次,那么中间找最小边的过程中,对于没有显式建边的题目我们就可以用数据结构维护......
  • ThingsKit物联网平台告警中心之上下线记录
    设备上下线功能用于监控设备的连接状态,当设备离线或下线时,系统会及时发出通知,以便用户能够及时处理。处理和详情处理设备上下线记录和查看设备上下线记录详情。搜索记录多条件筛选查看设备上下线记录。删除单项或批量删除设备上下线记录。文章来源(首发地址):ThingsKit物联......
  • ThingsKit物联网平台消息记录管理
    短信发送和邮件发送记录用户配置消息模板和消息配置后所有发送的邮件和短信的汇总,可点击查看详细信息。:::info......
  • [刺客伍六七&黑客] 魔刀千刃诞生与维护记录
    魔刀千刃的特写诞生之日:2023.7.29上传至pip源之日:2023.8.15此后会在此记录如何自己写一个自己的python库以及魔刀千刃的维护过程。魔刀千刃(evilblade)**只攻不防,天下无双**实战(和堆攻击帖子重合了,没关系)0x0bhitcontraining_heapcreator这是buu的pwn第二页最后一题......
  • samba--使用记录
    最近工作上参与的一个自动化项目的代码是放在一个linux上安装的git上的。在做自动化开发时,要么是远程连接到linux服务器上,然后在服务器上进行自动化开发,不过在linux操作系统上开发自动化,比较麻烦。本地电脑开发会更方便和高效一些。因此在linux装了samba.,这样可以方便本地开发自......
  • 记录一次hudi 编译过程遇到过的问题
    准备工作pom中初始依赖组件版本配置如下<java.version>1.8</java.version><hadoop.version>3.1.1.3.1.0.0-78</hadoop.version><hive.version>3.1.0.3.1.0.0-78</hive.version><kafka.version>2.0.0</kafka.version>起始命令mvncleanpack......
  • 树形 dp
    树形dp概念在树上做dp树形dp一般是从树的叶子节点向根的做dp,也就是自下而上做dp树上dp加差分统计记住差分,在做很多树上的统计题时,都会用到点击查看代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;constintMAXN=2e5+3;in......
  • 【随手记录】harbor安装及登录
    harbor仓库安装:1、harbor包下载 https://github.com/goharbor/harbor/releases2、解压 有harbor需要的镜像包(redis、nginx、harbor-core等)和启动脚本,需要复制harbor.yml.tmpl,改为harbor.yml然后编辑此配置文件,主要调整以下三项:3、赋予脚本install.sh和prepa......
  • TCP和UDP
    一、进程间通信-socket套接字基本特征:socket是一种接口技术,被抽象了一种文件操作,可以让同一计算机中的不同进程之间通信,也可以让不同计算机中的进程之间通信(网络通信)本地进程间通信编程模型:进程A进程B创建socket对象创建sock......
  • 记录--vue3问题:如何实现微信扫码授权登录?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、需求微信扫码授权,如果允许授权,则登录成功,跳转到首页。二、问题1、微信扫码授权有几种实现方式?2、说一下这几种实现方式的原理是什么?3、vue中的微信扫码授权登录,与uniapp和原生小程序的微信授权登录,它们......