LA 4794 状态压缩dp

政府科技管理者如何提升区域科技成果转化项目的评价与筛选效率?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载
//LA 4794 状压dp
//据说是当年2010年全球总决赛最简单的一道题目
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)
#include<stdio.h>
#include<stdlib.h>
#include<istream>
#include<vector>
#include<math.h>
#include<stack>
#include<string.h>
#include<algorithm>
#define mod 10000009
#define maxn 10001
#define long long ll
using namespace std;
int a[1<<15+1],b[20],n,dp[102][1<<15+1],vis[102][1<<15+1];  //dp第一维表示最短的宽,第二维表示面积状态,一般会表示为三维,长,宽,面积,但复杂度会超标,因此采用如上方式,但要注意的是,如上方式判定最后一块面积时要在最后加一个条件。

int bitcount(int x)
{
    int i,f=0;
    for(i=0;i<n;i++)
    {
        int t=1<<i;
        if((x&t)!=0)
            f++;
    }
    return f;
}

int dfs(int l, int sta)
{
	int i, j;
	if(vis[l][sta])
        return dp[l][sta];
    vis[l][sta]=true;
	if(bitcount(sta)==1)
        return dp[l][sta]=1;
	for (i = 1;i < sta;i++)
	{
		if ((i&sta) == i)
		{
			if (a[i] % l == 0)
			{
				if (dfs(min(l,(a[sta]-a[i])/l),sta-i) && dfs(min(a[i]/l,l),i))
                {
                    return dp[l][sta]=1;
                }
			}
			if (a[i] % ( a[sta] / l) == 0)
			{
				int ll = a[sta] / l;
				if (dfs(min(ll, (a[sta] - a[i]) / ll), sta - i) && dfs(min(a[i] / ll, ll), i))
                {
                    return dp[l][sta]=1;
                }
			}
		}
	}
	return dp[l][sta]=0;
}

int main()
{
	//freopen("d:\\in.txt", "r", stdin);
	int cnt=0;
	while (~scanf("%d", &n) && n != 0)
	{
	    cnt++;
		int i,x,y;
		memset(a,0,sizeof(a));
		memset(vis,false,sizeof(vis));
		scanf("%d%d", &x, &y);
	    for (i = 1;i <= n;i++)
			scanf("%d", &b[i]);
		int t,all;
		all = 1 << n;
		all--;
		for (i = 1;i <= all;i++)
		{
			int sum = 0;
			for (int j = 0;j < n;j++)
			{
				int tem = 1 << j;
				if ((i&tem) != 0)
					a[i] += b[j + 1];
			}
		}
		if (x > y)
			t = dfs(y, all);
		else
			t = dfs(x, all);
        if(a[all]!=x*y||a[all]%x!=0)               //这里要注意一下,假如是 面积4*4,分割为8,会误认为可以,因为最后一步只考虑了是否为一块。
        {
            printf("Case %d: No\n", cnt);
            continue;
        }
		if (t != 0)
			printf("Case %d: Yes\n", cnt);
		else
			printf("Case %d: No\n", cnt);
	}
	return 0;
}

高校技术转移办公室人员在成果转化过程中如何快速提升技术推介效率?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文档系统性地介绍了基于Simulink平台的两相交错并联Boost电路仿真模型,属于电力电子变换器建模与仿真研究的重要组成部分。该模型采用交错并联结构,有效提升了系统效率、降低了输出电流纹波,并具备优良的动态响应与系统稳定性。文档不仅聚焦于该特定拓扑的开环与闭环控制实现,还整合了丰富的配套资源,涵盖多种主流DC-DC变换器(如Buck、Boost、LLC、CLLC)、功率因数校正(PFC)电路、PWM整流器、双向充放电系统以及新能源应用场景(如V2G、微电网)等领域的仿真模型。资源体系强调软开关技术、多相交错控制、系统级建模与参数优化设计,所有内容均提供可运行的Simulink仿真文件,部分包含详细的设计报告、计算书及参考文献,具有较强的工程实践与科研复现价值。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的硕士博士研究生、高校科研人员,以及从事新能源发电、电动汽车、电源系统设计等领域的工程技术人员。; 使用场景及目标:①支撑高校电力电子与电力系统方向的科研项目,用于新型拓扑结构的建模与先进控制算法的验证;②服务于本科生与研究生的毕业设计、课程设计及高水平学术论文的仿真复现;③为企业在电源产品研发、新能源系统集成等环节提供成熟的仿真方案参考,缩短研发周期,降低试错成本。; 阅读建议:建议使用者首先访问文档末尾提供的完整资源目录链接,按需下载对应仿真模型;在实践过程中,应重点关注模型的参数配置、控制策略实现细节与仿真工况设置,结合配套的说明文档深入理解其工作原理与设计思路,推荐在MATLAB/Simulink环境中动手调试与二次开发,以充分掌握电力电子系统的核心技术。

LA - 4794 - Sharing Chocolate(状态压缩dp)

题意:能否把一块面积为x*y的巧克力分成面积分别为a1, a2, a3, ..., an的小块巧克力。 题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2795 ——>>集合上的动态规划~~好喜欢~~设d[S][x]为把面积为x

无节操 1592

从单机到多机:用llama.cpp的RPC模式榨干你闲置的GPU(附性能调优参数)

本文详细介绍了如何利用llama.cpp的RPC模式实现多机部署,将闲置GPU资源整合为高效推理集群。通过实战案例展示了性能调优参数设置、端口分配策略以及常见问题排查技巧,帮助中小团队最大化利用异构GPU设备,提升文本摘要等任务的推理效率。

weixin_27240351的博客 589

LA_4794 Sharing Chocolate( 狀態壓縮DP )

題意: 給你一塊n*m面積的矩形,每次只切割只能橫着切或者是豎着切,問能不能切割成指定的面積的集合 分析: 如果使用沒有優化的DP,比較容易想到如下: 狀態:f[r][c][S],表示面積爲r*c的矩形能否切割成面積的集合S 狀態轉移: f[r][c][S] = 1, 當且緊當:f[r0][c][SR0] = f[r-r0][c][S^SR0] = 1 or f[r][c0][SC0] = f[r

unixcsir的专栏 715

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1758

一个基于fluent超声振动仿真算例分析(含有UDF的编写设定)

一个基于Fluent的超声防堵算例

Lvyou2008的博客 2511

动态规划部分题目小结

UVA10635 LCS转LIS http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=19053 两个长度为p+1和q+1的序列A,B,序列中元素互不相同,且都是1到n^2的整数,求AB的LCS,将A中元素变为1到p+1,B中不在A中的元素直接删掉,问题转换为在B中求LIS 复杂度nlogn。 #include using namespa

u013268685的专栏(有一种幸福叫AC,有一种期待叫AK) 844

Linux下基于AHCI controller模块实现SATA Platform驱动附代码详细流程

本文主要是针对ARM A55集成了AHSATA controller模块开发sata驱动,通过Platform的形式在linux识别到SSD,本文详细讲述整个开发过程,同时对SATA Platform驱动进行讲解。1、配置SATA Phy的初始化;2、打开SATA Platform相关编译开关;3、配置设备树;4、linux启动识盘。

Luckiers的博客 2497

LA 4794 Sharing Chocolate 状压dp--个人的理解+带注释代码

原题:https://vjudge.net/problem/UVALive-4794 题意: 给你一个a*b的巧克力块,问能不能分为面积分别为 a1,a2……an 的巧克力块(n<=15),每次操作只能横着切或者竖着切,不能切一半不切一半。 首先看数据量,n<=15,这么特殊的数据量很容易让人想到状态压缩dp。 我们将需要得到的小巧克力面积用一个二进制保存起来,同时定义...

forOnward的博客 286

CAT24C16 EEPROM的I²C页写与页读底层实现

I²C是一种广泛应用于嵌入式系统的双线同步串行通信协议,其核心在于严格的时序控制、地址寻址机制与主从应答逻辑。理解I²C总线物理层(上拉电阻、SCL/SDA电气特性)、协议层(START/STOP、ACK/NACK、7位地址格式)及外设寄存器操作(如SR1状态标志、CCR时钟分频),是实现可靠通信的基础。在实际工程中,EEPROM类器件(如CAT24C16)因其非易失性、页缓冲区结构和写保护(WP)功能,成为数据持久化关键载体;其16字节页写约束、内部写周期(5–10ms)与地址指针自动递增等特性,直接决定

weixin_42591413的博客 388

dp 专题系列(二):LA3983 Robotruck,LA4794 Sharing Chocolate,LA4394 String Painter,LA4327 Parade,Uva 10817

这几天做的多校联合状态很不好,而且多校的题目数据也略坑爹(居然赛后知道有输出文件为空的数据。。。。)。。。    说说这几天做的dp题目吧。。。    dp感觉是越来越切不动了,各种状态不会想。。。   (一):Live Archive 3983    先说说这个Robotruck这题吧,题目还是很好的,状态还是比较好想的(但我就是没转移出来。。蒟蒻啊)   状态:dp[i] 表示第

3171

QGC4.0.11界面修改

QGC4.0.11。

超维空间科技的博客 2466

LA4794 Sharing Chocolate

看到数据范围就是状压嘛,,本来觉得复杂度x*3^n太高了会炸结果就是那样。然后发现自己忽略了很多状态是不合法的不会被转移到,所以推荐使用记忆化搜索。然后注意一下,还是输出的时候,特判了之后要么return要么另外输出的时候加else 一个else没看到花了20min,简直了。

QWsin的博客 586

STM32F407中文手册

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LA 4794 状态DP+子集枚举

状态压缩DP,把切割出的面积做状态压缩,统计出某状态下面积和。 设f(x,y,S)为在状态为S下在矩形x,y是否存在可能划分出S包含的面积。若S0是S的子集,对矩形x,y横切中竖切,对竖切若f(x,k,S0)且f(x,y-k,S^S0)为真,则为真,对横切同样。 然后枚举S的子集即可。可以用记忆化搜索。 #include <iostream> #include <cs...

weixin_30666943的博客 103

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LA 4794 Sharing Chocolate (状压DP)

题意:给你一块x * y的巧克力问是否经过若干次切割后能分成面积为a1,a2,....an的巧克力 思路:因为n很小,所以可以状态压缩,设dp[S][i]当宽为i的时候是否能分成集合为S的巧克力,因为宽度确定了的话,那么长度也就一定确定了,再者就是保证S集合的巧克力面积总和要可以整除i。这里还需要运用到一个枚举子集的技巧,这样才能高效枚举子集。 #include #includ

hnust_Derker的博客 340

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LA 4794 Sharing Chocolate(状压DP)

题意:给出一个长宽确定的矩形,每次可以沿一条直线把它分割成两块长宽都为整数的矩形,问能否通过多次操作得到n块面积分别为a1,a2...an的矩形。 分析:《训练指南》P75。 代码: #include<bits/stdc++.h> using namespace std; const int maxn = 16; const int maxw = 100 + 10; int ...

常胜将军的博客 248

la 4794 分享巧克力 dfs(超时) dp

我开始试着用dfs,结果超时,附代码。 /* la 4794 */ #include #include #include #define N 100+10 using namespace std; struct node { int x; int y; int area; }; node a[N];//存中间块 int b[N];//存目标面积 int x,y,n; int mi

gaokuilin1060083530的专栏 505

LA 4794 Sharing Chocolate

大白书中的题感觉一般都比较难,能理解书上代码就已经很不错了 按照经验,一般数据较小的题目,都有可能是用状态压缩来解决的 题意:问一个面积为x×y的巧克力,能否切若干刀,将其切成n块面积为A1,A2,,,An块巧克力。(每次只能沿直线切一块巧克力) 设计状态: f(r, c, S) = 1表示r行c列的巧克力可以切成面积集合为S的若干块巧克力 分解问题: f(r, c, S) = 1当且...

weixin_30830327的博客 63

LA 4794 状压dp - 把矩形蛋糕分成若干固定面积的矩形块

题目大意: 思路:这里分的时候是把集合分成两个,并且把这个矩阵块分成两个。分别等于这两个集合的矩阵和,当一个集合只有一个元素,那么就满足条件了。 #include <bits/stdc++.h> #define LL long long using namespace std; int a[20]; int d[1<<20][150], sum[1<<20]...

H_ang的博客 315

动态规划,记忆化搜索(分享巧克力,LA 4794)

能想到是那种枚举子集的动态规划,结果写着写着成了模拟了= =。 S是位向量,代表着巧克力的集合。 dp[S]是一个vector,里面装着巧克力集合S能拼出的长方形。模拟转移方程就是枚举S的子集S0,S1,然后拼出一个长方形,然后排序去重。。。果断超时。 其实这种O不OK的问题,状态转移方程都是一旦有一种决策OK,那就OK。 问题在于状态是啥,转移方程是啥。 很容易想到dp[S

xl2015190026的博客 989

LA4794 分享巧克力

Sharing Chocolate Chocolate in its many forms is enjoyed by millions of people around the world every day. It is a truly universal candy available in virtually every country around the world. Y...

weixin_30565199的博客 87

白书动态规划例题和习题简解

Pre言: 本文的题解原题均来源于白书,题号: UVa 10859, 11825, 11584, 10534, 11552, 11404, 11795, 10564. LA 3983, 4794, 4256, 4731, 4727, 2038, 4394, 4015. 一直觉得自己的基础DP不是很扎实,所以就花了一节晚自习+半个上午的时间阅读和解决了上述大部分题目,少数几道习题查了题解之后...

weixin_30713953的博客 168
上一篇: hdu 1074 状态压缩dp
下一篇: hdu 5555 状态压缩dp
labrother
博客等级 码龄11年 2粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值