zoj3471 Most Powerful(状态压缩)

01 高等数学 上下册知识点总结 极限与连续 8个等价无穷小 8个常用泰勒公式 高数复习——多元函数微分学 一、概念 一元函数: 可微<=>可导 △y=A△x+o(△x)dy=AdxA=f′(x)\triangle y=A\triangle x+o(\triangle x)\\dy=Adx\\A=f'(x)△y=A△x+o(△x)dy=AdxA=f′(x) 多元函数: 可微=>可导(可导指两个偏导数存在,反之不成立) 可微=>连续(反之不成立) △z=A△x+B△y+o(p)dz=Adx+BdyA=δzδxdx 阅读详情

题目 : http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3471

题意:有n个原子,题目输入一个矩阵map[n][n],map[i][j]表示用原子i和原子j碰撞所产生的能量,原子i 撞击 原子j 后 原子j 消失。

问这n个原子碰撞后 能产生的最大能量是多少?

思路:状态dp[s] 表示到达状态s产生的最大能量,已经被碰撞消失的原子,所在二进制位置为0

初始化 dp[1<<(i-1)] = 0 表示 只剩一个原子时候,最大产生的能量是0

转移:二重循环遍历所有原子,用 i 去 撞击 j。

这里我为了快点写出代码,直接用了 深搜+记录

#include<stdio.h>
#include<memory.h>
const int maxn = 10+1;
int dp[1<<maxn];
int map[maxn][maxn];
int bb[maxn];
int end;
int n;
int dfs(int s)
{
	if(dp[s]!=-1) 
	{
		return dp[s];	
	}
	int rs = -1;
	for(int i=1;i<=n;i++)//用i去引爆j 
	{
		if((s&(1<<(i-1)))==0) continue;
		for(int j=1;j<=n;j++)
		{
			if(i==j)continue;
			if((s&(1<<(j-1)))==0) continue;
			
			int tmp = map[i][j] + dfs(s-(1<<(j-1)));
			if(rs < tmp) rs = tmp;
		}
	}
	dp[s] = rs;
	return rs;
}
int main()
{
	while(true)
	{
		scanf("%d",&n);
		if(n==0) break;
		memset(dp,-1,sizeof(dp));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				scanf("%d",&map[i][j]);
		for(int i=1;i<=n;i++)//引爆i 
		{
			bb[i] = map[1][i];
			for(int j=2;j<=n;j++)//用j去引爆 
			{
				if(bb[i]<map[j][i])
				{
					bb[i] = map[j][i];
				}
			}
		}
		end = (1<<n)-1; 
		for(int i=1;i<=n;i++)
			dp[(1<<(i-1))] = 0;
		printf("%d\n",dfs(end));	
	}
	return 0;
}

渣科,继续好好加油吧。

STDP实战:用PyTorch从零搭建脉冲神经网络(附完整代码) 本文提供了基于PyTorch从零搭建脉冲神经网络的实战教程,重点讲解了STDP学习规则的原理与工程实现。通过构建LIF神经元模型和向量化STDP层,并结合泊松编码,详细演示了如何构建一个能够进行无监督特征学习的混合网络架构,为探索神经形态计算和低功耗实时学习方案提供了完整代码与实践指南。 阅读详情

相关推荐

【模型解读】【代码复现】Segment Anything Model(SAM)

Meta AI的一个新的人工智能模型,只需一次点击就能 "分割出 "任何图像中的任何物体! SAM是一个可提示的分割系统,对不熟悉的物体和图像具有zero-shot的概括性,并且不需要额外的训练。

lalula的博客 2万+

ZOJ 4257--Most Powerful(状压dp)

来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4257 题意:不超过10种气体,两两之间相互碰撞可以产生一定的能量,如a碰b,那么b气体就消失,自身不能碰自身,问最后所能得到的最大能量。 分析:用10位的二进制中的0、1表示气体是否存在,dp[i]表示i状态时的最大能量。 #include #include #

Xcockroach的专栏 923

ArduPilot移植到自定义硬件:完整指南

详解如何将ArduPilot成功移植到自定义硬件平台,涵盖环境搭建、代码配置与调试技巧。无论是初学者还是进阶开发者,都能快速掌握ArduPilot在不同硬件上的适配方法,提升开发效率。

weixin_28931449的博客 638

新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)J Most Powerful

题目链接 : 点击打开链接枚举出不同状态(1&lt;&lt;n)种下引爆不同炸弹的最大收益。全排列枚举爆炸顺序,找到最大值。#include&lt;bits/stdc++.h&gt; using namespace std; #define rep(i,j,k) for(int i=j;i&lt;=k;i++) typedef long long ll; int Map[14][14]; int...

超越自我就是成功 374

MAX31865三线PT100测温实战:配置、接线与代码全解析

本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。

ss78901的博客 757

SpringBoot 通过 JMS 集成 IBM MQ

IBM MQ 作为老牌的企业级消息中间件,虽然在当下云原生时代已不再是主流选择,但在金融、银行、保险等传统行业的核心业务系统中仍然占据着重要地位。这些行业对系统的稳定性、可靠性和事务一致性有着极高的要求,IBM MQ 正是在这些方面表现出色。尽管近年来 RabbitMQ、Apache Kafka 等新一代消息中间件在新兴项目中更受欢迎,但许多金融公司和大型企业仍在使用 IBM MQ 作为核心业务系统的消息传递基础设施。

小单的博客专栏 952

ZOJ Most Powerful (状态压缩DP)

题目点我点我点我题目大意:有n种原子,两种原子相碰撞的话就会产生能量,其中的一种原子会消失。问这n种原子能产生的能量最大是多少。思路:简单的状态压缩DP,我是用1代表灭,0代表存活。 状态 :dp[state], 状态为state时的最大能量转移 :dp[state | (1 << j)] = max(dp[state | (1 << j)], dp[state] + a[i][j]) 表示的是

blanKey的博客 540

电影票购票小程序搭建(源码部署)

答:为用户提供便捷的购票方式,包括授权登录、个性化推荐、在线选座、订单管理等功能,同时在界面设计上注重用户友好性,简化用户的购票流程。答:通过展示电影院的优惠活动和票价信息,同时提供电影推荐功能,根据用户的历史购票记录和电影评分推荐个性化的电影列表,吸引用户购票。编写页面逻辑代码:使用JavaScript编写小程序页面的逻辑代码,实现电影列表的获取、电影详情的展示、座位选择的逻辑等。设计小程序界面:使用WXML和WXSS编写小程序的界面代码,实现电影列表的展示、电影详情的样式、座位选择页面的布局等。

2301_79072569的博客 2068

ZOJ - 3471 Most Powerful

题目: Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two of these atoms collide, one of them disappears and a lot of po...

qq_41998938的博客 184

搬运机器人系列编程:KUKA KR QUANTEC_(2).KUKA KRL语言编程基础

定义一个函数END!调用函数PRINT "结果: ", result!定义一个过程PRINT msgEND!调用过程printMessage("欢迎使用 KUKA 机器人")!定义搬运零件的起始位置和目标位置!定义焊接路径的各个点!定义喷涂路径的各个点KUKA Robot Language (KRL) 是一种专门为工业机器人设计的编程语言,具有结构化编程、丰富的库函数、实时性以及集成性等特点。

zhubeibei168的博客 1246

高通拨号流程介绍

本文介绍了高通平台(如SDX55)中APSS(A7处理器)与ModEM(Q6处理器)间的通信机制。

四儿家的小祖宗的博客 1067

【ZOJ4257】MostPowerful (状压dp)

【ZOJ4257】MostPowerful 这个题从早饭看到晚饭,真的是,看到快吐了, 题意:这个题的大致意思就是,现在有很多的原子,然后这些原子之间可以互相碰撞,碰撞后会有一个原子消失,而且碰撞后悔释放一定的能量,求可以获得的能量的最大值, 这个题吧,用的就是状压dp,我们可以用0表示这个原子还在,1表示这个原子不在。 为什么很多的题都是用0表示有的意思而不是用1 呢,这是因为这样用的话...

qq_42757965的博客 284

基于 STM32 的全自动洗车监控系统设计与实现

本文提出一种基于 STM32F103RCT6 芯片的全自动洗车监控系统方案,通过多传感器融合与智能控制算法,实现车辆检测、洗车流程自动化及状态远程监控。系统集成硬件选型、电路设计、软件流程及通信功能,可广泛应用于智能洗车场景。

weixin_42300449的博客 964

Zoj 3471 Most Powerful 状态压缩

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3471 题目大意:一排 powerful atoms,任意两个都可以合并,如果i和 j合并后i消失,则 增加  map[j][i]的能量,如果i和 j合并后j消失,则 增加  map[i][j]的能量,问合并之后最后能得到的最大能量值。 解题思路:一维状态压

e的专栏 546

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

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ZOJ3471——Most Powerful(状态压缩DP)

Most Powerful Time Limit: 2 Seconds      Memory Limit: 65536 KB Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two

JIA_char 741

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ZOJ 3471 Most Powerful 【状态压缩】

Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two of these atoms collide, one of them disappears and a lot of p...

dianxuanzhi1019的博客 150

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

zoj3471 Most Powerful(状态压缩dp)

zoj3471分析引用别人的分析:“用10位二进制表示气体是否存在,0表示存在,1表示不存在,S(上一个状态)中的两种气体碰撞并且有一种消失,可以得到newS的状态(状态转移)”。dp[state] = max(dp[state],dp[state’]+a[i][j])题目http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4257代

天道酬勤 277

ZOJ3471 Most Powerful,状态压缩DP

这题一开始没有什么想法,后来只能上网看别人的解题报告,看到了状态压缩DP这种做法,好神奇。。。 对于有n个原子,在任何一个状态下,每个原子只有两种状态,要么就是已经被消灭,要么就是还余下来。我们用0表示某个原子还存在,用1表示某个原子被消灭了,这样我们就可以用0到2^n-1个数

Neo Fung的专栏 904

ZOJ 3471 Most Powerful(状态压缩DP)

题目链接:ZOJ 3471 Most Powerful dp[s]表示

fobdddf的专栏 572

ZOJ 3471 Most Powerful (状态压缩)

OJ题目:click here~~ 题目分析:

741

zoj 3471 Most Powerful //状态压缩DP

#include #include #include using namespace std; const int N = (1 << 10); int map[11][11]; int dp[N]; int main() { int n; while(sc

hqd_acm的专栏 784

ZOJ 3471 Most Powerful (状态压缩)

Most Powerful Time Limit: 2 Seconds      Memory Limit: 65536 KB Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. Whe

充电五分钟 划水划半年 467

zoj 3471 Most Powerful 状态压缩dp

题目大意就是说给你n种气体,两两之间可以碰撞,从而产生能量,问能够产生的最大能量是多少。。 解法就是用状态压缩。。用0表示没有用过1表示用过了 具体操作看代码。。。 #include #include #include #include using namespace std; int map[1005][1005]; int dp[1<<11]; int n; int MAX(int

560

zoj 3471 Most Powerful(状态压缩dp)

Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two of these atoms collide, one of them disappears and a lot of...

dielucuan8830的博客 150

ZOJ 3471 Most Powerful 状态压缩DP

#include #include using namespace std; int map[15][15]; int cst[11]={1,2,4,8,16,32,64,128,256,512,1024}; int dp[1200]; int Max(int x,int y) { return x>y?x:y; } int main() { int n,i,j,k,ans; whil

Nicolas 1782

ZOJ3471-Most Powerful-状态压缩dp

题目大意:给你n个不相同的原子,第i个原子和第j个原子相撞会消耗掉第j个原子并且释放出pow[i][j]的能量,问你最多可以释放多少能量; 题目解析:很明显这是一道状态压缩的题目,我们可以用dp[1 AC代码:#include #include #include #include #include using namespace std; int main() { int n,i,j,k,l

zyz_3_14159的博客 282
上一篇: poj2288 Islands and Bridges(状态压缩)
下一篇: hdu3681 Prison Break (bfs + 二分 + 状态压缩)
勤勤勤能补拙
博客等级 码龄10年 60粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值