poj 1187 表示范围的线性dp

从一次仿真冲突调试说起:手把手分析Verilog里wire信号被‘意外’拉成x值的完整流程 本文深入探讨了Verilog中wire信号意外变为x值的调试流程,重点分析了多驱动冲突和强度建模问题。通过实际案例和系统化的调试方法,帮助工程师快速定位和解决信号冲突,提升数字电路设计的可靠性。 阅读详情
#include <cstdio>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define IMAX 2147483646
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace::std;

const int mod = 11380;
int f[11][11][11][31];

int dfs(int l1, int l2, int l3, int deep) {
	if (f[l1][l2][l3][deep] > -1)return f[l1][l2][l3][deep];
	if (l1 + l2 + l3 == 0)return f[l1][l2][l3][deep] = 1;
	if (deep == 0)return f[l1][l2][l3][deep] = 0;
	int ans = 0;
	for (int i = 0; i <= l3; i++) {
		if (i)  ans = (ans + dfs(0, 0, i - 1, deep - 1) * dfs(l1, l2, l3 - i, deep)) % mod;
		for (int j = 0; j <= l2; j++) {
			if (j)  ans = (ans + dfs(0, j - 1, i, deep - 1) * dfs(l1, l2 - j, l3 - i, deep)) % mod;
			for (int k = 1; k <= l1; k++) 
				ans = (ans + dfs(k - 1, j, i, deep - 1) * dfs(l1 - k, l2 - j, l3 - i, deep)) % mod;
		}
	}
	return f[l1][l2][l3][deep] = ans;
}

int a, b,c, d;

int main() {
	memset(f, -1, sizeof(f));
	scanf("%d%d%d%d", &a, &b, &c, &d);
	dfs(a, b, c, d);
	if (d) {
		dfs(a, b, c, d - 1);
		printf("%d\n", (f[a][b][c][d] - f[a][b][c][d - 1] + mod) % mod);
		return 0;
	}
	printf("%d\n", f[a][b][c][d]);


	return 0;
}

新手也能懂的Simulink汽车二自由度建模:从公式推导到模型搭建全流程 本文为新手提供了在Simulink中搭建汽车二自由度模型的完整实战指南。文章从模型核心概念讲起,详细讲解了如何将车辆动力学方程转化为状态空间模型,并逐步指导在Simulink中实现从参数设置、模块搭建到仿真验证的全过程。通过阶跃转向测试和参数影响分析,帮助读者直观理解车辆转向特性,并提供了实用的模型扩展思路与常见问题排查技巧。 阅读详情

相关推荐

vmware vsphere 证书过期告警处理方法

vSphere Clinet 管理页面出现“证书告警” ,检查证书未发现现有证书有过期现象

m0_51902127的博客 3637

poj 1187 陨石的秘密

题目链接:http://poj.org/problem?id=1187 题目大意:求出指定要求的字符串的种数,用dp[a][b][c][d]记录有a个{},b个[],c个()深度为d的字符串的个数,然后枚举左边一段外层加括号的状态,与右边对应状态相乘即可。 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h...

java开发指南博客 【转载】 260

DEV-C++调试设置

       昨天用C/C++去考了CSP,结果用DEV-C++调试总是闪退,按照我的记忆打开了调试参数,迷迷糊糊搞了一通,还是没办法调试,难受了几个小时。所以今天痛下决心,一定要写下DEV-C++设置调试的过程,警示自己! 解决步骤 1.打开DevC++找到上方工具栏 2.点击选择编译选项,再按下图所示设置即可

懒羊羊的快乐小屋 1029

POJ1187 陨石的秘密 【题解】 线性DP

题面:http://poj.org/problem?id=1187 很自然想到设f[i][j][k][d]为i个小括号,j个中括号,k个大括号,深度小于等于d的解。 那么答案自然就是f[i][j][k][d] - f[i][j][k][d-1]。 但是最关键的不是在这里,而是如何转移。 我们可以假设加上小于号。 那么自然(res是加上的数) res=(res+f[a][b]...

dazhishu2366的博客 190

OpenCV实战:从边缘检测到透视校正,打造智能文档扫描仪(Python代码详解)

本文详细介绍了如何使用OpenCV和Python从零开始构建一个智能文档扫描仪。通过边缘检测、透视校正和文字增强等核心技术,将倾斜、模糊的文档照片转换为清晰、方正的高质量扫描图像。文章提供了完整的代码实现和参数调优经验,帮助开发者打造稳定、高效的文档处理工具。

flower的专栏 695

SAP成本核算变式OKKN配置详解:从CK11N到CK24,手把手教你搞定标准成本发布

本文深入解析SAP成本核算变式OKKN的配置原理与实战应用,涵盖从CK11N到CK24的标准成本发布全流程。详细讲解数量结构控制、价值结构配置及间接费用计算规则,帮助成本会计精准掌握标准成本计算逻辑,解决BOM版本选择、工艺路线获取等常见问题,提升企业成本管理效率。

weixin_27219587的博客 288

【POJ1187】陨石的秘密

题目大意: 定义一个串:只含有 '( )','[ ]','{ }',3种(6个)字符。 定义 SS 串: 空串是SS表达式。 若A是SS表达式,且A串中不含有中括号和大括号,则(A)是SS表达式。 若A是SS表达式,且A串中不含有大括号,则[A]是SS表达式。 若A是SS表达式,则{A}是SS表达式。 定义SS串深度: 空串深度为0. 若A可以写成*A'*,其中A‘为SS串,*为任意括...

K1385170的博客 301

Mac新手必看:用Homebrew安装wget的保姆级教程,附常见报错一键修复

本文为Mac新手提供使用Homebrew安装wget的详细教程,涵盖从Homebrew安装到wget基础使用的全流程,并附常见报错一键修复方案。通过本指南,用户可轻松掌握命令行下载工具wget的安装与使用技巧,解决Mac环境下资源下载的各种问题。

weixin_30635053的博客 367

poj 1187

//读了半大天题终于发现就是LIS问题 #include <iostream> #include <cstdio> using namespace std; const int maxn=100000; const int inf=1<<30; int s[maxn],r[maxn],d[maxn],g[maxn]; int n; int low_bound(i...

weixin_30294709的博客 158

硬件工程师笔记——运算放大电路Multisim电路仿真实验汇总

本文系统介绍了运算放大电路的基础知识及其应用。主要内容包括:1)运算放大器的基本结构、理想特性及分析方法(虚短、虚断、叠加定理);2)比例运算电路(同向、反向、差分)的工作原理与仿真分析;3)求和运算、加减运算电路的实现方法;4)积分、微分、指数和对数运算电路的基本原理;5)过零电压比较器的功能特点。通过理论分析和仿真实验,详细阐述了各类运算放大电路的输入输出特性、相位关系和增益计算,为硬件工程师提供了实用的电路设计参考。

XU157303764的博客 2479

【LE Audio】CAP精讲[1]: 从理论到实操,CAP 协同流程入门全攻略

LEAudio生态中的CommonAudioProfile(CAP)是一个关键协同框架,它通过整合基础音频协议(BAP/VCP/MICP等)构建多设备协同能力。CAP定义了三大核心功能:音频流管理、设备组控制和统一交互服务,解决了传统蓝牙音频在多设备场景下的协同痛点。其规范历经v1.0到v1.0.1的优化,修正了角色定义、连接流程等关键模块,提升设备兼容性。CAP采用严格的语言约定(shall/must/should)和术语体系(ContextType/CCID/协同集),确保不同厂商设备能相互理解。

byte轻骑兵的技术小窝 2万+

POJ 3783 Balls (线性dp 智力题)

POJ 3783 Balls (线性dp 智力题)

Tc的专栏 2087

AutoSAR系列讲解(入门篇)1.2-AutoSAR概述

这里主要说明了AutoSAR是个什么,还有其工具链

雪云飞星的博客 5万+

POJ 1187 陨石的秘密 G++ 巧妙 dfs dp 真没掌握

#include <iostream> #include <cstdio> #include <cstring> using namespace std; //看博友分析 抄博友程序 巧妙 dfs dp 真没掌握 int mod=11380; int l1,l2,l3,d; int dp[12][12][12][34];//抄博友程序 dp[a][b][c][d]表示{}[]()分别有a b c个形成最大嵌套...

woniupengpeng的专栏 778

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

POJ-4003 The Triangle (线性dp,入门题)

线性dp入门题。一个三角形,求从定点到底部的最大和路径。

hmc0411的博客 439

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

POJ 2385(线性DP)

题意 现在有两棵树,在1~t分钟内,其中一棵树会掉落一个苹果。一开始你在第一棵树下,每次你只能接住当前在的那棵树上掉落的苹果,或者花费1个体力点瞬移到另一棵树下,接住那个苹果。你总共有w个体力点。给定t,w,每分钟苹果的掉落情况,问你最多能获得多少个苹果。 分析 状态定义为 dp[i][j]:前t分钟在花费j个体力点的情况下能获得的最多苹果数。 状态转移方程 dp[i][j]=max(...

cugsl的博客 289

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

POJ 1187-陨石的秘密(DP)

用d[i][j][u][v]表示i个{},j个[],u个(),深度为v的序列数,根据最后一个子括号(就是最后一个反括号对应的正括号范围内的括号)分类计数。 最后一个子括号可能深度小于v,此时前面的括号深度必须为v,最后一个子括号深度也可能等于v,此时前面的括号深度可以小于或等于v。 用sum[i][j][u][v]表示i个{},j个[],u个(),深度小于等于v的序列数。没递推完i,j

dilemma的专栏 1106

poj1772线性dp

一般现代模型,不行上解题表。嗯,只要发现除了第二个以外其他数前面都可以是正或负就好了,可以dp。证明用归纳法很容易的 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;cmath&gt; using namespace std; int dp[110][21000]; in...

guoshiyuan484的博客 299

题解 POJ1187 【陨石的秘密】

题目链接:Link Problem Solution 一开始很愉快地想到了一个dp,然后发现AB+C和A+BC这两种情况会重复计数。。。 但其实在枚举A+B型时,可以强制令A一定形如(C),这样就可以避免重复计数了。 Code #include<cstdio> #include<cstring> #include<algorithm> using n...

donglaishi1835的博客 239

$[POJ1187]$ 陨石的秘密 题解

\(POJ1187\) 真是一个有趣的题目……我真是……唉…… 我相信肯定有很多人拿到这道题会设如下的状态: \(f[l1][l2][l3][d]\)为有\(l1\)个\(\{ \}\),\(l2\)个\([]\),\(l3\)个\(()\)时深度为\(d\)的个数,但是你想一下就会发现,不能转移! 因为你无法控制子状态中\(d\)的最大值,可怜~(@谁是鸽王) 于是就有这样一种神仙状态:\(f[...

weixin_30646315的博客 177

POJ 2479-Maximum sum(线性dp)

Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 33918   Accepted: 10504 Description Given a set of n integers: A={a1, a2,..., an}, we define a fu

Orz~~Orz 927

poj 1187 DP

dp[deep][l1][l2][l3] 表示小于等于deep由 l1, l2, l3 组成的串的个数 最后答案是 dp[deep][l1][l2][l3] - dp[deep-1][l1][l2][l3]  显然应当使用递推。 对于串的递推,常将其分割为两个或多个较短的子串求解。 如果将括号串S分割为两个完全独立的子串L,R,则有N(S)=N(L)*N(R),N(S)表示与串S满足相同的

马德里小铁匠的铁匠铺 839

poj1187

对网上的代码做了些优化。。题解的话到处都有。 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; using namespace std; typedef long long ll; const ll mod = 11380; ll dp[31][11][11][11]; int l1, l2, l...

guoshiyuan484的博客 361

POJ 1187 陨石的秘密 ()[]{}帯权dp

题意:给定()[]{}的数量分别为l1,l2,l3(0         (0 题解:首先很容易想到记忆化dfs,dp[a][b][c][d]表示{}[]()分别有a b c个形成最大嵌套深度为d的方法数,然后找到子状态,但是麻烦的是d是多个子问题求max得到的,这样          在dfs的过程中没办法控制哪一个是最大的,看了下提示瞬间石化。          dp[a][b][c][

Uhh, call me zacky NOW!!! 2125

POJ 1260 Pearls(线性dp)

POJ 1260题目大意 有n种珍珠的购买列表,等级由低到高排列(等级越高价格也越高),每种珍珠需要aia_i个,每个价格是pi,(1≤ai≤1000,1≤pi≤1000)p_i,(1\le a_i\le 1000, 1 \le p_i\le 1000),对于买的每一种珍珠需要多花10个的钱,可以用等级高的珍珠替代等级低的。问最少花多少钱。 分析从变量着手考虑状态,n种珍珠,那么状态很可能和珍珠

AIDreamer 400

1187简单编码

题目描述 将一串文本译成密码,密码的规律是: 将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下: 0——>9 1——>8 2——>7 3——>6 4——>5 5——>4 6——>3 7——>2 8——>1 9——>0 然后将所有字符的顺序颠倒。 输入 输入一串文本,最大字符个数不超过100。

u013087645的专栏 1537
上一篇: ch 5e02 线性dp
下一篇: ch 5e07多重背包
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值