【雅礼联考DAY02】Path

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程 STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出 阅读详情

Description:

给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。

n,m ≤ 100,k ≤ 10^9.

题解:

考虑当前走到了一个点,剩下的能走的范围是一个矩形。

于是倒着dp,设fp,x1,y1,x2,y2fp,x1,y1,x2,y2表示当前剩余矩形的左上角右下角的坐标是(x1,y1)、(x2,y2),当前方向是p,注意一定在角上。

很容易想到枚举拐弯点来转移,复杂度O(n5)O(n5),T飞了。

其实很多拐弯点的贡献和可以就是一个矩形的值,优化转移,复杂度O(n4)O(n4)

以矩形周长分层dp,滚动优化,空间即可优化下来。

初值就是重点在矩形角上且方向指向它。

Code:

#include<cstdio>
#include<cstring>
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b))
using namespace std;

const int N = 110;

char s[N][N];
int n, m, k, p, q;
int b1[N][N][N], b2[N][N][N];
int f[2][4][N][N][N], o;

int main() {
    scanf("%d %d %d %d %d", &n, &m, &k, &q, &p);
    fo(i, 1, n) scanf("%s", s[i] + 1);
    fo(i, 1, n) fo(j, 1, m) if(s[i][j] == '*')
        b1[i][j][j] = b2[j][i][i] = 1;
    fo(i, 1, n) fo(len, 1, m - 1) fo(j, 1, m - len)
        b1[i][j][j + len] = b1[i][j + 1][j + len] | b1[i][j][j + len - 1];
    fo(i, 1, m) fo(len, 1, n - 1) fo(j, 1, n - len)
        b2[i][j][j + len] = b2[i][j + 1][j + len] | b2[i][j][j + len - 1];
    fo(ls, 0, n + m - 2) {
        o = !o;
        fo(x1, 1, p) {
            fo(x2, max(x1, p), n) {
                fo(y1, 1, min(m, q)) if(y1 <= q){
                    int y2 = y1 + ls - (x2 - x1); if(y2 < q || y2 > m) continue;
                    fo(t, 0, 3) {
                        f[o][t][x1][x2][y1] = 0;
                        if(x1 == p && y1 == q)
                            f[o][t][x1][x2][y1] |= (t == 3 && !b2[q][x1][x2]);
                        if(x1 == p && y2 == q)
                            f[o][t][x1][x2][y1] |= (t == 0 && !b1[p][y1][y2]);
                        if(x2 == p && y1 == q)
                            f[o][t][x1][x2][y1] |= (t == 2 && !b1[p][y1][y2]);
                        if(x2 == p && y2 == q)
                            f[o][t][x1][x2][y1] |= (t == 1 && !b2[q][x1][x2]);
                        if(t == 0) {
                            f[o][t][x1][x2][y1] += f[!o][t][x1][x2][y1];
                            if(!b1[x1][y1][y2]) f[o][t][x1][x2][y1] += f[!o][t + 1 & 3][x1 + 1][x2][y1];
                        } else
                        if(t == 1) {
                            f[o][t][x1][x2][y1] += f[!o][t][x1][x2 - 1][y1];
                            if(!b2[y2][x1][x2]) f[o][t][x1][x2][y1] += f[!o][t + 1 & 3][x1][x2][y1];
                        } else
                        if(t == 2) {
                            f[o][t][x1][x2][y1] += f[!o][t][x1][x2][y1 + 1];
                            if(!b1[x2][y1][y2]) f[o][t][x1][x2][y1] += f[!o][t + 1 & 3][x1][x2 - 1][y1];
                        } else
                        if(t == 3) {
                            f[o][t][x1][x2][y1] += f[!o][t][x1 + 1][x2][y1];
                            if(!b2[y1][x1][x2]) f[o][t][x1][x2][y1] += f[!o][t + 1 & 3][x1][x2][y1 + 1];
                        }
                        f[o][t][x1][x2][y1] %= k;
                    }
                }
            }
        }
    }
    printf("%d\n", f[o][3][1][n][1]);
}
基于MATLAB Simulink的电动汽车整车控制仿真 在本文中,我们选择了power_ElectricVehicle示例模型,该模型已经包含了电动汽车的基本组成部分,包括电机、变速器、驱动轮、电池等。例如,使用PID控制器来控制电机的转速,使用ABS控制器来控制车轮的制动力,使用转向控制器来控制车辆的转向角度,使用悬挂控制器来控制车轮的姿态等。通过建立模型和实现控制器,我们可以比较直观地了解电动汽车的工作原理和性能特点,并验证设计的控制系统在不同工况下的效果。而在电动汽车的开发中,整车控制系统是至关重要的一个组成部分,直接影响着电动汽车的性能和性价比。 阅读详情

相关推荐

基于相位检测与锁相环的DIY超声波风速仪设计与实现

相位检测是信号处理中的一项基础技术,它通过测量两个周期信号之间的相位差来获取信息。其核心原理在于,当信号在介质中传播时,外部因素(如风速)会改变其传播速度,从而导致接收端信号的相位发生偏移。锁相环(PLL)是实现高精度相位检测的关键电路,它能动态调整本地振荡器的频率,以跟踪并锁定输入信号的相位,从而将微小的相位变化转换为易于测量的电压信号。这项技术的工程价值在于其对电路精度要求相对较低,鲁棒性好,非常适合低成本、高灵敏度的测量应用。在气象监测、工业传感和消费电子等领域,相位检测技术被广泛用于风速风向测量、位

weixin_29540599的博客 387

JZOJ4020. 【雅礼联考DAY02】Revolution

Description 地图是个矩形的网格。 可以花费一定金钱在一些格子投资。 被投资的格子或者四连通的格子都被投资的话,我就可以获得该格子的收益。 利益最大化是作为商人的基本准则,但这是计算机的任务,拜托您了。 Input 第一行两个数 n,m(n,m ≤ 20),表示矩形的长和宽。 接下来 n 行,每行是 m 个字符组成的字符串,描述投资的花费。 接下来 n 行,每行是 m...

lijf2001的博客 254

保姆级教程:用LoRA微调Chinese-Mistral-7B模型,并一键部署到Ollama(附完整代码)

本文提供了一份详细的LoRA微调Chinese-Mistral-7B模型的保姆级教程,涵盖环境配置、数据预处理、微调实战、模型量化及Ollama部署全流程。通过实战案例和完整代码,帮助开发者快速构建专属中文大模型,适用于医疗、法律等垂直领域。

weixin_30369041的博客 250

jzoj4019 【雅礼联考DAY02】Path (奥妙重重DP题)

题意 给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。 题别看错了 是指他能一直向右转圈圈,而不是只能向上,向右走。 比赛的时候一丁点想法都没有,dp能力有点小弱。 首先因为他是转着圈到终点的,我们反过来,从终点到起点,可以发现他实际上是一个慢慢变大的矩形。 这就是我们划分状态的依据,设...

一位蒟蒻的小博客 555

单波束与多波束声呐:从原理到应用场景的全面解析

本文全面解析了单波束与多波束声呐的工作原理、核心特点及应用场景。单波束声呐如精准的狙击手,适合高精度需求;多波束声呐则像高效的散弹枪,适用于快速测绘和大面积覆盖。文章还提供了选型指南和前沿发展趋势,帮助用户根据预算和需求选择最适合的声呐技术。

weixin_30872157的博客 220

从NVLINK到EthLink:GPU互联技术演进全解析(含最新行业趋势)

本文深入解析了从NVLINK到EthLink的GPU互联技术演进,重点剖析了Scale-up与Scale-out两种核心范式。文章详细对比了NVLINK、UALINK及革命性的EthLink技术,后者创新性地将以太网改造为支持Load/Store与RDMA双语义的高性能互联网络,旨在打破封闭生态,实现高性能与开放性的统一。最后,文章提供了技术选型指南并展望了未来以以太网为主导、语义融合的行业趋势。

weixin_29204749的博客 178

JZOJ4019. 【雅礼联考DAY02】Path

题意 给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。 数据范围 n,m ≤ 100,k ≤ 10^9. Analysis 首先一眼非常不可做,我们画图看看,发现它走的路线一定是圈套圈。类似于层层矩形相嵌。此时有想法了,我们考虑对矩形DPDPDP。设fp,i,j,k,lfp,i,j,k,l...

XLno_name的博客 443

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真

本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。

numpy6sculptor的博客 624

jzoj 4019. 【雅礼联考DAY02】Path dp

Description 给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。 Input 第一行输入 n,m,k (n,m ≤ 100,k ≤ 10^9 )。第二行输入 x,y,意这里是x 列 y 行,以下 n 行 m 行的字符矩阵 + 表示可以走, * 表示障碍。 Output 输出一个数,表示...

liangzihao1的博客 423

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 833

JZOJ 4018.【雅礼联考DAY02】Magic

题目大意 圆上有 2 ∗ n 个点和连接这些点的 n 条弦,这些弦不会在圆上相交。这2 ∗ n 个点按照在圆上的位置顺序依次标号为 1,2,…,2 ∗ n。 请求出有多少个无序的三元组,使得对应的三条弦可以通过距离的缩放中心对称。 对于100%数据,n ≤ 100000. 解题思路 总的来说,三条线组成的,共有5中图形。 我们要算的,是2和5的答案,但是直接算不好算。 所以算1,...

Luckfort 430

一篇文章认识《双目立体视觉》

双目立体视觉,由两个摄像头组成,像人的眼睛能看到三维的物体,具有深度的信息;单目视觉只能看到二维的物体。 1)双目摄像头 2)双目相机基线 3)打开双目摄像头 4)双目测距 视差disparity、 极线约束、 极线校正/立体校正、 a.双目标定 b.双目矫正 c.立体匹配 d.双目测距(三角测量) e.测距效果 立体视觉方法评测网站

黎国溥 7958

4019. 【雅礼联考DAY02】Path

Description 给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。 Input 第一行输入 n,m,k (n,m ≤ 100,k ≤ 10^9 )。第二行输入 x,y,意这里是x 列 y 行,以下 n 行 m 行的字符矩阵 + 表示可以走, * 表示障碍。 Output 输出一个数,表示...

zsjzliziyang的博客 263

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

雅礼联考总结

Day1听说要和月亮中学的人联考,感觉要GG耶直接看题,T1似乎可以推出规律,T2DP,T3位运算拆位看一看。 开始手vanT1。 大约9:30的时候van出来了,拍一下没错,就不管了。。 T2开始没什么思路,YY了一个N^3的DP。 然后在教室里游走。。突然第就发现有一维根本没有用,然后就N^2过了。 然后就10:50了。 剩下40分钟让人很方,我选择直接去写T3送的60分。 写完之

时光真疯狂, 我一路执迷于匆忙. 651

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

雅礼联考DAY2总结

成功被flag。。并没有翻盘。。爆炸了。。又是60分,mdzz。 其实我今天不是很懂怎么回事。。第一题被卡log丢了40分,第二题被卡空间掉了50分,生无可恋。。 DAY1也是。。T2网络挂了丢了100分,T3开小了挂了40分。 如果网络正常。。如果我空间开的正常点,不要老想着多水分。。我就是高一第7了。。 感觉以前太浪,什么做题经验都没有积累下来。。光是暴力分就丢了将近100分。。我怎么这

老臣 345

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

day02

遇事平静一点 今天主要复习了前10天所学,   面向对象的封装private      String类和StringBuilder     集合ArrayList   IO字符流  FileReader 读取源文件   读 字符  int    fr.read()  字符数组  int fr.read(char[])  FileWriter 写入目的地 写   字符  f

qq_37709387的博客 173

2016雅礼联考总结8.21&8.23

前言 总的来说,这两天做的两套题质量相比之前两套还是提高了不少。我也算是发挥出了一定实力。两天总分也算上了400。但是还是有不少失误的地方。

Akakii的博客 655

{小结}NOIP2016提高A组模拟8.19(雅礼联考day2)

T1:公约数 看上去一脸懵逼,xor和gcd根本就不是同一个频道的好吗?! 只好随手暴力+预♂处理。 实际上,正解也没有多难...

FarmerJohn 530

2019年四月刷题列表

Preface 一轮完挂之后好久没搞OI了(Luogu的\(300+\)Day打卡都没了QAQ),经过斟酌还是决定走下去吧 但是文化课的坑也开始变大,要同时兼顾三边的话还是感觉力不从心 所以训练强度会比之前下降很多,二轮也不想多的了,没有压力地去享受麻将比赛吧 从这次的总记开始就开始采用题目+题解的双链接的写法了,之前的短记的博客可能不会补了的说 List ZJOI2019模拟赛(十...

weixin_30767835的博客 250

2019年4月训练记录(4.07~4.22)

前言 ZJOI2019Day1已经结束了,接下来就是要准备二试。 但问题在于马上要期中考试了,文化课似乎也不能落啊。 \(Apr\ 7th\) 省选之后第一次碰电脑。。。 一场线上比赛:【HHHOJ】ZJOI2019模拟赛(十六)4.07。全是雅礼集训原题,只可惜\(\frac18Rated\): \(T1\):用\(LCT\)维护\(SAM\)的\(parent\)树。\(hl666\)说过这...

weixin_30514745的博客 237

【雅礼联考DAY02】Revolution

Description: 地图是个矩形的网格。 可以花费一定金钱在一些格子投资。 被投资的格子或者四连通的格子都被投资的话,我就可以获得该格子的收益。 利益最大化是作为商人的基本准则,但这是计算机的任务,拜托您了。 题解: 这个“或”非常骚,骚到我不会做。 考虑最小割。 那么答案=总利益-割掉的不要的利益-割掉的要的代价 显然对于一个点来说,利益和代价要连在一起,使两者割其一...

Cold_Chair的博客 474

jzoj 4020. 【雅礼联考DAY02】Revolution 最小割

Description 地图是个矩形的网格。 可以花费一定金钱在一些格子投资。 被投资的格子或者四连通的格子都被投资的话,我就可以获得该格子的收益。 利益最大化是作为商人的基本准则,但这是计算机的任务,拜托您了。 Input 第一行两个数 n,m(n,m ≤ 20),表示矩形的长和宽。 接下来 n 行,每行是 m 个字符组成的字符串,描述投资的花费。 接下来 n 行,每行是 m 个...

liangzihao1的博客 334

JZOJ4018. 【雅礼联考DAY02】Magic

Description 圆上有 2 ∗ n 个点和连接这些点的 n 条弦,这些弦不会在圆上相交。这2 ∗ n 个点按照在圆上的位置顺序依次标号为 1,2,…,2 ∗ n。 请求出有多少个无序的三元组,使得对应的三条弦可以通过距离的缩放中心对称。 Input 第一行一个数 n (n ≤ 100000)。 接下来 n 行,每行两个数,表示该弦的端点。保证一个数不会出现两次。 Out...

lijf2001的博客 336

jzoj4020 [雅礼联考DAY02]Revolution 最小割

Description 地图是个矩形的网格。 可以花费一定金钱在一些格子投资。 被投资的格子或者四连通的格子都被投资的话,我就可以获得该格子的收益。 利益最大化是作为商人的基本准则,但这是计算机的任务,拜托您了。 n,m ≤ 20. Solution 觉得像文理分科但是不会建图。学了这么久网络流连黑白染色都想不到真是菜 看到棋盘格子应该想到黑白染色。我们对于黑点连(s,i)...

olahiuj的博客 351
上一篇: 【雅礼联考DAY02】Revolution
下一篇: 【GDOI2016模拟3.16】装饰
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值