poj1564 Sum It Up (zoj 1711 hdu 1258) DFS

伺服驱动器485通信 485通信使用方法,485通信在上位机和伺服驱动器之间的应用,根据需要驱动电机旋转。 阅读详情

POJhttp://poj.org/problem?id=1564

ZOJhttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=711

HDUhttp://acm.hdu.edu.cn/showproblem.php?pid=1258

今天不好玩。学校网断了,wifi也用不了,爪机当热点还上不去!!!A一题容易吗!然后鼠标更不好使了,果断去买了一个。

瞬间又成穷人。T T

换了个鼠标心情大好~

------------------------------------------回到解放前的分割线------------------------------------------

题目大意:

给定一个数k,然后给出n个数,要求n个数的和要恰好等于k,输出所有可能的结果。

我的方法比较水。。。。直接DFS,然后把全部答案存进数组,最后判断是否重复。

看了别人的有简单的判断重复的方法,不用map不用set不用hash。Orz

if(a[i] != a[i-1])如果a[i]和上一个数相同,那么它不然不会放在上一个数放的位置。

如4 2 2  2 1 目标构成的和是8 那么对于第一个2来说 (递归过程中)会出现4 2 这样的,然后下一个2 可以放在它的后面 ,但就没必要放在第二个位置了。因为两个2是一样的。


我的方法。

#include<cstdio>
#include<cstring>
const int MAXN=1000+1;
int ans[MAXN][MAXN];
int a[MAXN];
bool used[MAXN]={0};
int len,n,target;

bool equal(int *a1,int *b)
{
	if(a1[0]!=b[0])
		return false;
	for(int i=1;i<a1[0];i++)
	{
		if(a1[i]!=b[i])
			return false;
	}
	return true;
}

void dfs(int cur,int sum)
{
	if(sum > target)
		return;

	if(target==sum)
	{
		int j=1;
		for(int i=0;i<n;i++)
		{		
			if(used[i])
				ans[len][j++]=a[i];
		}
		ans[len++][0]=j;
		return;
	}

	for(int i=cur;i<n;i++)
	{
		if(used[i])
			continue;

		used[i]=true;
		dfs(i+1,sum+a[i]);
		used[i]=false;
	}
}

int main()
{
	while(scanf("%d%d",&target,&n),n)
	{
		len=0;
		memset(used,0,sizeof(used));
		memset(ans,0,sizeof(ans));

		for(int i=0;i<n;i++)
			scanf("%d",&a[i]);

		dfs(0,0);
		printf("Sums of %d:\n",target);

		if(len==0)
			printf("NONE\n");
		else
		{
			memset(used,0,sizeof(used));

			for(int i=0;i<len;i++)    //去重复
			{
				for(int k=i+1;k<len;k++)
				{
					if(equal(ans[i],ans[k]))
						used[k]=true;
				}
			}


			for(int i=0;i<len;i++)
			{
				if(used[i])
					continue;

				for(int j=1;j<ans[i][0];j++)
				{
					if(j!=1)
						printf("+");
					printf("%d",ans[i][j]);
				}
				printf("\n");
			}
		}
	}
}

简单的判断重复:

#include<cstdio>
#include<cstring>
const int MAXN=15+1;
int ans[MAXN];
int a[MAXN];
int len,n,target;
bool ok;
void dfs(int cur,int sum,int cnt)
{
	if(sum > target)
		return;

	if(target==sum)
	{
		ok=true;
		printf("%d",ans[0]);
		for(int i=1;i<cnt;i++)
			printf("+%d",ans[i]);
		printf("\n");
		return;
	}

	for(int i=cur;i<n;i++)
	{
		if(i==cur || a[i] != a[i-1])
		{
			ans[cnt]=a[i];
			dfs(i+1,sum+a[i],cnt+1);
		}
	}
}

int main()
{
	while(scanf("%d%d",&target,&n),n)
	{
		len=0;
		ok=false;
		for(int i=0;i<n;i++)
			scanf("%d",&a[i]);
		
		printf("Sums of %d:\n",target);
		
		dfs(0,0,0);
		
		if(ok==0)
			printf("NONE\n");
	}
}


实战交易策略 篇二十二:情绪流龙头交易策略 在股票市场中,机构主导趋势,游资驱动热点,散户易被情绪裹挟,形成“金字塔”式生态链,并存在情绪传递、强者恒强、物极必反的规律特点。股市是资金驱动的情绪博弈场,价格波动由群体心理、资金博弈和预期差共同驱动,核心是资本逐利性与人性贪婪恐惧的交织,兼具资源配置、财富再分配与风险定价功能。涨停加速与逃逸缺口(主升强化)凹字板/平台突破(趋势延续)天量弱转强(分歧买点)不参与首波(二波策略)情绪周期(道术合一)主线思维(聚焦核心)开盘抢筹(竞价博弈)一字助攻(情绪强化)分批进出(滚动操作) 阅读详情

相关推荐

elegant(ELEctron Generation ANd Tracking)入门指南(1)

elegant (ELEctron Generation ANd Tracking),美国先进光子源(APS)所用的圆环加速器的模拟程。

qq_41106132的博客 1848

HDU1258 POJ1564 UVA574 UVALive5319 ZOJ1711 Sum It Up【DFS】

  Sum It Up Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7926   Accepted: 4068   Description Given a specified total t and a list of n integers, find all distinct s...

海岛Blog 1436

SCG到ECG信号转换:Wave U-Net模型实现移动端心脏监测

心脏监测技术中,心电图(ECG)和心脏振动信号(SCG)是两种重要的生物信号。ECG记录心脏电活动,而SCG捕捉机械振动,两者通过电-机械耦合机制关联。Wave U-Net模型通过编码器-解码器结构和扩张卷积,实现了SCG到ECG的高精度转换,参数量减少90%以上。这一技术在移动设备上达到临床可用精度,未来可通过手机实现专业级心电图监测。应用场景包括睡眠呼吸暂停监测、心脏再同步化治疗评估等,为移动医疗带来革新。

weixin_35649491的博客 302

POJ 1564(HDU 1258 ZOJ 1711) Sum It Up(DFS)

题目链接:http://poj.org/problem?id=1564 题目大意:给定一个整数t,和n个元素组成的集合。求能否用该集合中的元素和表示该整数,如果可以输出所有可行解。1&lt;=n&lt;=12 Sample Input 4 6 4 3 2 2 1 1 5 3 2 1 1 400 12 50 50 50 50 50 50 25 25 25 25 25 25 0 0 Sa...

weixin_34029949的博客 164

SAP 与 Palantir 合作全景解析:这不是普通集成,而是把 ERP、数据语义层、云迁移与企业级 AI 串成一条价值链

SAP与Palantir的战略合作聚焦企业数字化转型核心痛点,通过深度技术整合构建"数据-决策-执行"闭环。合作包含四大主线:云迁移连续性保障、SAP业务数据云与Palantir平台对接、联合工程开发、高监管行业优先落地。技术实现上采用SAP认证插件,支持双向数据交互和实时业务动作触发。该合作突破了传统ERP系统局限,将业务语义与AI执行相结合,特别适合制造业供应链优化、财务争议处理等高价值场景,为企业在云迁移过程中实现业务连续性与智能化升级提供新范式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 193

机器学习笔记:估算模型训练所需的样本量的方法

相反,如果训练得分高而交叉验证得分低,那么模型可能存在过拟合问题,需要更多的样本来提高泛化能力。本文将介绍一些常用的方法来估算模型训练所需的样本量,并提供相应的源代码。除了经验法则和学习曲线法,还有一些统计学方法可以用于估算模型训练所需的样本量。学习曲线是一种通过绘制模型性能与样本量之间的关系曲线来估算样本量的方法。需要注意的是,这些方法仅提供了估算样本量的指导,具体的样本量仍然需要根据实际情况进行调整和优化。通过合理估算样本量,可以提高机器学习模型的性能和泛化能力,从而更好地应用于实际问题中。

HnrzLinux的博客 2732

NUC1399 Sum It Up【DFS】

Sum It Up 时间限制: 1000ms 内存限制: 65535KB 通过次数: 1总提交次数: 1 问题描述 Given a specified total t and a list of n integers, find all distinct sums using numbers from the list that add up to t. For example, i...

海岛Blog 893

GTK4 入门到实战

本文介绍GTK4作为主流Linux GUI工具包的发展历程与核心特性,涵盖其从GIMP项目诞生的自由软件理念、版本演进及跨平台支持。重点解析GTK4的架构(GDK/GSK/GLib等)、GObject对象系统、信号-回调机制与事件驱动模型,并以C语言为例,结合开发环境搭建与官方示例(gtk4-demo)指导实践,最终通过图片查看器与多标签编辑器项目实现完整应用开发。

OneSea 1398

HDU 1874 畅通工程续 SPFA || dijkstra||floyd

给你一些点,让你求S到T的最短路径。

细语呢喃 3547

Backtrader官方中文文档:第四章Concepts基本概念

官方Concepts章节:https://backtrader.com/docu/concepts/

汇渊科技 2602

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

念兮为美 5万+

HDU 2587 - 很O_O的汉诺塔

HDU上这个汉诺塔问题并不好解决,AC人数少之又少。 现在我带你来解答~

细语呢喃 3271

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

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

HDU 2084 数塔 DP

在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?

细语呢喃 2939

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

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

HDU 1496 Equations hash HDU上排名第一!

给定a,b,c,d。a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 其中x1~x4 在 [-100,100]区间内, a,b,c,d在[-50,50] 区间内。 求满足上面那个式子的所有解的个数。 HDU上排名第一!

细语呢喃 2829

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HDU 1728 逃离迷宫 BFS

看题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1728 这题的x1,x2对应列,y1, y2对应行 。。很邪恶 还要注意下标应该从1开始。。。。一时傻了调了半天。 同样的还是BFS的应用。 只不过是用一个step来标记目前转过的弯,每条路一路走到底。 #include #include #include #include

细语呢喃 1979

HDU 1406 完数 因子的和

完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。 本题的任务是判断两个正整数之间完数的个数。

细语呢喃 1647

2013腾讯编程马拉松||HDU 4505 小Q系列故事——电梯里的爱情 水水水

电梯最开始在0层,并且最后必须再回到0层才算一趟任务结束。假设在开始的时候已知电梯内的每个人要去的楼层,电梯每向上运行一层需要6秒钟,向下运行一层需要4秒钟,每开门一次需要5秒(如果有人到达才开门),并且每下一个人需要加1秒。你能计算出完成本趟任务需要的总时间吗?

细语呢喃 1630

HDU 1214 圆桌会议 圆环逆序

一群人围着桌子座,如果在一分钟内一对相邻的人交换位置,问多少分钟后才能得到与原始状态相反的座位顺序。(相反顺序:即对于每个人,原先在他左面的人后来在他右面,原先在他右面的人在他左面)

细语呢喃 1591

HDU 1408 盐水的故事 数学水题

挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?

细语呢喃 1570

HDU 1407 测试你是否和LTC水平一样高 枚举、二分、hash

计算方程x^2+y^2+z^2= num的一个正整数解。num为不大于10000的正整数。 对就是枚举!怎么枚举效率高?请看...

细语呢喃 1539
上一篇: POJ 2546 Circular Area 几何
下一篇: POJ 2363 Blocks (ZOJ 1910) 数学
hr_whisper
博客等级 码龄14年 132粉丝 322原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值