bzoj 4000 [TJOI2015]棋盘 dp 矩乘

ABAP Reduced Message Types:用精简 IDoc + Change Pointer,把主数据分发做得又快又省 本文介绍了SAP系统集成中主数据分发的精简优化方法。通过创建"精简消息类型"(Reduced Message Types),可以在不改标准IDoc类型的前提下,只发送接收系统真正需要的数据。文章详细解析了主数据变更链路的完整流程,包括变更文档、变更指针和IDoc生成机制,并重点说明了如何在BD53事务中创建精简消息类型、选择保留字段、激活变更指针等实操步骤。此外,还介绍了通过BD59过滤对象和BD64分发模型实现更精确的数据分发,以及变更指针的激活验证、IDoc生成作业和定期清理等运维要 阅读详情

逗比题面,毁我青春
行列编号从零开始。。。然后我以为那个点在最上面那排。。。
妈蛋那样要记两排状态!!!
点在中间那排的话记一排状态矩乘转移就行了。

#include <bits/stdc++.h>
using namespace std;
#define ui unsigned int
int n,m,p,K;
int a[4][7],able[71];
ui ans;
struct Matrix 
{
    ui w[71][71];
    void init()
    {
        memset(w,0,sizeof(w));
        for(int i=0;i<1<<m;i++)w[i][i]=1;
    }
}mat,tmp;
int poss(int x,int y)
{
    if(K+y<0||K+y>=p)return 0;
    return a[1+x][K+y];
}
void mul(Matrix &r1,Matrix &r2,Matrix &r3)
{
    memset(&tmp,0,sizeof(tmp));
    for(int k=0;k<1<<m;k++)
        for(int i=0;i<1<<m;i++)if(r2.w[i][k])
            for(int j=0;j<1<<m;j++)if(r3.w[k][j])
                tmp.w[i][j]=tmp.w[i][j]+r2.w[i][k]*r3.w[k][j];
    memcpy(r1.w,tmp.w,sizeof(r1.w));
}
Matrix qpow(Matrix x,int y)
{
    Matrix ret;ret.init();
    while(y)
    {
        if(y&1)mul(ret,ret,x);
        mul(x,x,x);y>>=1;
    }
    return ret;
}
int main()
{
    //freopen("tt.in","r",stdin);
    scanf("%d%d%d%d",&n,&m,&p,&K);
    for(int i=0;i<3;i++)
        for(int j=0;j<p;j++)
            scanf("%d",&a[i][j]);
    for(int i=0;i<1<<m;i++)
    {
        able[i]=1;
        for(int j=0;j<m;j++)if(i>>j&1)
            for(int k=0;k<m;k++)if((i>>k&1)&&k!=j)
                if(poss(0,k-j))able[i]=0;
    }
    for(int i=0;i<1<<m;i++)if(able[i])
        for(int j=0;j<1<<m;j++)if(able[j])
        {
            mat.w[i][j]=1;
            for(int k=0;k<m;k++)if(i>>k&1)
                for(int u=0;u<m;u++)if(j>>u&1)
                    if(poss(1,u-k)||poss(-1,k-u))
                        mat.w[i][j]=0;
        }
    mat=qpow(mat,n);
    for(int i=0;i<1<<m;i++)
        ans+=mat.w[0][i];
    printf("%u\n",ans);
    return 0;
}   
动态规划之【树形DP】第3课:树形DP应用案例实践2 阅读详情

相关推荐

【提示学习代码】CoOp代码详读

CoOp是对CLIP的改进工作,主要是对prompt进行学习从而不用来手动设置prompt。自定义CLIP模型:上述两个模块结合而成的CLIP。文本编码器,接收文本的输入,并输出相应的编码表示。将图像和文本进行编码并计算它们之间的相似性。permute后变成了(4,2,3)Prompt学习器,用于学习生成提示。

weixin_51293984的博客 5816

java后台怎么获取系统时间_Java 后台获取当前时间

Calendar c = Calendar.getInstance();//可以对每个时间域单独修改int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int day = c.get(Calendar.DATE);int hour = c.get(Calendar.HOUR_OF_DAY);int minute =...

weixin_36383252的博客 1722

大疆控制算法笔试复习指南:从PID到MPC核心考点解析

控制算法是无人机、机器人等智能装备实现自主运行的核心技术。从经典控制到现代控制,PID控制算法、LQR控制算法、预测控制算法(MPC)以及Stanley控制算法等,构成了工程实践中不可或缺的方法体系。理解其数学原理、适用条件与调参逻辑,是评估系统稳定性、动态响应与抗扰能力的基础。在无人机飞控、云台增稳、车载路径跟踪等典型场景中,这些算法直接决定了设备的实际性能表现。大疆等企业相关岗位的笔试,正是围绕上述核心知识点,考查候选人对控制系统本质的理解、数学推导能力以及工程实现素养。本文整理了一套覆盖理论基石、高频

weixin_33178839的博客 359

【BZOJ4000】 [TJOI2015]棋盘

比较简单的矩阵快速幂优化dp #include #define gc getchar() #define ll unsigned int #define N 10 #define M 6 using namespace std; int n,m,p,k; ll a[3][N<<1],f[1<<M],Ans[1<<M],ans; struct Matrix { ll a[1<<M][1<<M]

wzf_2000的博客 445

聚类教程:cisTopic——来自单细胞表观基因组学数据的顺式调控主题的概率建模

之前运行这步的时候报错了如下: 后来发现原因是Ubuntu自动把R包更新到4.2版本,但是Rstudio版本没有更新,更新Rstudio即可,更新Rstudio的教程看此教程:。

watermel__的博客 1051

centos7安装Ambari 2.7.5 + HDP3.1.5

准备 1.安装包准备: Ambari2.7.5、HDP31.5、libtirpc-devel: centos7操作系统: 链接:https://pan.baidu.com/s/1vzvio5rAMsbYF0-0vBs5dw 提取码:xij9

kxq的博客 5091

bzoj 4000: [TJOI2015]棋盘

矩乘,题意坑爹,那个第一行是中间那一行,所以记录一行的状态就可以了。f[S]表示最后一行状态为S的方案数,然后暴力看能否转移。 #include#include#include#include #define ll long long#define ui unsigned int #define inf 1e9#define eps 1e-8#define md#define N 70u

heheda_is_an_OIer的博客 681

九齐NY8A051F低功耗模式全解析:从待机到休眠的省电实战

本文全面解析台湾九齐NY8A051F MCU的低功耗模式,从待机到休眠的省电实战技巧。通过实测数据展示四种工作模式的电流消耗差异,提供模式切换的标准流程和唤醒时序优化策略,并分享外围电路省电设计和低电压检测的实战应用,帮助开发者实现物联网设备的超长续航。

weixin_30839881的博客 410

[TJOI2015] 棋盘

Description 为了提高智商,ZJY去新世界旅游了。可是旅游过后的ZJY杯具的发现要打开通往原来世界的门,必须要解开门上面画的谜题。谜题是这样的:有个\(n\)行\(m\)列的棋盘,棋盘上可以放许多特殊的棋子。每个棋子的攻击范围是\(3\)行,\(p\)列。输入数据用一个\(3\times p\)的矩阵给出了棋子攻击范围的模板,棋子被默认为模板中的第\(1\)行,第\(k\)列,则棋子能攻...

weixin_30553837的博客 187

Hermes 教程 03:Skills 系统

摘要:Hermes Skills是一种自我改进机制,可将解决问题的经验保存为可复用技能文档。v0.13.0版本遵循agentskills.io开放标准,与Claude Skills互通。技能创建流程包括发现问题、创建技能文件、加载使用和优化更新四个阶段。系统提供技能检索和自维护机制(Curator),支持技能媒体路由和多种管理命令。内置技能涵盖开发调试、创意头脑风暴等场景,通过积累技能使Hermes更适应用户需求。

程序猿_三产 729

刷机维修进阶教程-----adb禁用错了系统app导致无法开机 如何保数据无损恢复机型

在刷机维修过程中 。我们会遇到一些由于客户使用adb指令来禁用手机app而导致手机无法开机进入系统的故障机型。通常此类问题机型有好几种解决方法。但如果客户需要保数据来恢复机型。其实操作也是很简单的.还有类似误删除应用导致不开机等等如何保数据。  通过博文了解💝💝💝    1💝💝💝----adb禁用或者删除系统app导致无法开机的几种解决方法 2💝💝💝----如何保数据来无损恢复机型 3💝💝💝----其他保数据解决系统类故障无法开机的步骤解析

小马哥的专栏 1352

【bzoj4000】[TJOI2015]棋盘 dp+矩乘

题目坑爹,行列是从0开始算的,所以样例中是指最中间那个1为棋子 f[i][S]表示考虑到第i行,第i行状态为S的方案数 矩乘优化即可 开内存小了1,蛋疼。 #include #include #include #include #include #include #define ll unsigned int using namespace std; struct yts

Oxer的专栏 1438

微信公众号网页H5跳转小程序实战指南(开放标签wx-open-launch-weapp)微信H5跳转小程序、wx-open-launch-weapp、小程序跳转按钮、微信开放标签、H5打开小程序

跳转小程序(wx-open-launch-weapp)唤起App显示支付按钮等等……而我们这次要用的,就是跳转小程序的标签。场景是否支持服务号网页✅ 支持小程序静态网页托管✅ 支持订阅号❌ 不支持微信外部浏览器❌ 不支持这个“开放标签”功能其实很强大,除了跳转小程序,还有唤起APP、跳支付、调用客服等能力。但可惜资料零散,很多坑等着你亲自踩一遍。这篇文章我整理的流程基本涵盖了从“能不能跳”到“怎么跳”的完整路径,希望你能像我一样省下几个小时的踩坑时间。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1163

【BZOJ4000】【LOJ2104】【TJOI2015】棋盘 (状压dp + 矩阵快速幂)

Description ​ 有一个\(~n~\)行\(~m~\)列的棋盘,棋盘上可以放很多棋子,每个棋子的攻击范围有\(~3~\)行\(~p~\)列。用一个\(~3 \times p~\)的矩阵给出了棋子攻击范围的模板,棋子被默认在模板中的第一行,第\(~k~\)列,模板中棋子能攻击到的位置标记为\(~1\),不能攻击到的位置是\(~0\) 。输入数据保证模板中的第二行第\(~k~\)列...

baibiaohu4110的博客 247

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【BZOJ4000】【LOJ2104】【TJOI2015】棋盘(状压DP,矩阵快速幂)

Description https://loj.ac/problem/2104 注意题中的编号是从000开始的。 Solution 用fi,jfi,jf_{i,j}表示第iii行状态为jjj的方案数。 发现每一行的转移都是相同的,构造出矩阵后用快速幂优化即可。 Code /************************************** * Au: Ha...

დ♂Hany01's Blog Space♂ღ 298

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【刷题】BZOJ 4000 [TJOI2015]棋盘

Description Input 输入数据的第一行为两个整数N,M表示棋盘大小。第二行为两个整数P,K, 表示攻击范围模板的大小,以及棋子在模板中的位置。接下来三行, 每行P个数,表示攻击范围的模版。每个数字后面一个空格。 Output 一个整数,表示可行方案Mod 2 ^32 Sample Input 2 2 3 1 0 1 0 1 1 1 0 1 0 Sample Output 7 HIN...

weixin_30770783的博客 155

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

BZOJ4000 TJOI2015棋盘(状压dp+矩阵快速幂)

  显然每一行棋子的某种放法是否合法只与上一行有关,状压起来即可。然后n稍微有点大,矩阵快速幂即可。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm&...

weixin_30747253的博客 93

BZOJ4000 [TJOI2015]棋盘 【状压dp + 矩阵优化】

题目链接 BZOJ4000 题解 注意题目中的编号均从\(0\)开始= = \(m\)特别小,考虑状压 设\(f[i][s]\)为第\(i\)行为\(s\)的方案数 每个棋子能攻击的只有本行,上一行,下一行, 我们能迅速找出哪些状态是合法的,以及每个状态所对应的上一行攻击位置的并和下一行攻击位置的并 如果两个状态上下相互攻击不到,就是合法的转移 我们弄一个\(2^m * 2^m\)的转移矩阵,就可...

weixin_30808575的博客 87

bzoj4000 [TJOI2015]棋盘(状压dp+矩阵快速幂)

题目中的标号都是从0开始的!所以攻击模板中你的位置为中间那一行!所以可以只考虑相邻两行的转移!先处理出f[s1][s2]表示相邻两行状态为s1,s2是否可行。 然后n很大,所以我们要矩阵加速。 复杂度O((2m)3logn)

Icefox的博客 380

[BZOJ4000][TJOI2015]棋盘(状压DP+矩阵快速幂)

题意极其有毒,注意给的行列都是从0开始的。 状压DP,f[i][S]表示第i行状态为S的方案数,枚举上一行的状态转移。$O(n2^{2m})$ 使用矩阵加速,先构造矩阵a[S1][S2]表示上一行为S1是下一行是否能为S2,快速幂加速后得解。$O(2^{3m}m^2+2^{3m}\log n)$ 1 #include<cstdio> 2 #include&lt...

weixin_30388677的博客 102

BZOJ4000 [TJOI2015]棋盘

首先是状态压缩DP。。。 然后我们发现转移都是一样的。。。可以矩阵优化。。。 于是做完啦QAQQQ 题目读不懂?恩多读几遍就读懂了,诶诶诶!别打我呀! 1 /************************************************************** 2 Problem: 4000 3 User: rausen ...

weixin_30772105的博客 113

BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )

状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m))---------------------------------------------------------------------------------------------#include<cstdio>#include<cstring>#include<algor...

weixin_30794499的博客 117

[暑假的bzoj刷水记录]

(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊 堆一起算了 隔一段更新一下。 7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27update : 开学了终于搞到了550 可还行 *数据结构 *可持久化线段树/主席树 *bzoj3932 [CQOI2015] 任务查询系统 : 比较裸的主席树,任务查分一下就好了 c...

weixin_30852451的博客 203
上一篇: bzoj 3879 SvT 后缀数组 rmq 并查集
下一篇: bzoj 4008 [HNOI2015]亚瑟王 期望dp
make_it_for_good
博客等级 码龄11年 13粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值