PKU 1014 Dividing

Android开发必备:TBS腾讯浏览服务静态集成完整指南(附Demo下载) 本文详细解析了Android开发中TBS腾讯浏览服务的静态集成方案,通过对比动态集成,深入剖析了其核心原理与适用场景。文章提供了从环境准备、资源获取、项目配置到代码初始化的完整指南,并重点介绍了WebView与文件预览等高级特性的实战应用。针对集成过程中的常见问题,提供了详尽的排查清单与性能调优建议,旨在帮助开发者构建极致稳定、不依赖网络的WebView与文件预览功能。文末附有经过验证的Demo项目可供下载参考。 阅读详情
题目:http://poj.org/problem?id=1014

题意:有6个物品,价值分别为1、2、3、4、5、6,输入6个数,代表相应的物品的个数,问的是 能不能物品分成两份,每份的价值总和相同。

思路:深搜或多重背包~~~

好久没写了  生啊~~~

//深搜
#include <stdio.h>
#include <string.h>

int array[10];
int a, b, c, d, e, f;
int sum;
int cnt, flag;
void dfs(int s, int x)
{
	if (flag==1) return;
	if (s==sum) {flag=1; return;}
	for (int i=x; i>=1; i--)
	{
		if (array[i]==0) continue;
		if (s+i<=sum) 
		{
			array[i]--;
			dfs(s+i, i);
			if (flag==1) return;
		}
	}
}

int main()
{
//	freopen("in.txt", "r", stdin);
	cnt=1;
	while (scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f)==6)
	{
		if (a==0&&b==0&&c==0&&d==0&&e==0&&f==0) break;
		printf("Collection #%d:\n", cnt++);
		memset(array, 0, sizeof(array));
		array[1]=a, array[2]=b, array[3]=c;
		array[4]=d, array[5]=e, array[6]=f;
		sum=1*a+2*b+3*c+4*d+5*e+6*f;
		if (sum%2) {printf("Can't be divided.\n\n"); continue;}
		sum/=2;
		flag=0;
		dfs(0, 6);
		if (flag==1) printf("Can be divided.\n\n");
		else  printf("Can't be divided.\n\n");
	}
	return 0;
}

//多重背包
#include <stdio.h>
#include <string.h>
const int maxn=200000;
int dp[maxn+10], num[10];
int value;
void CompletePacket(int c, int v)
{
	for (int i=c; i<=v; i++)
	{
		if (dp[i]<dp[i-c]+c&&dp[i-c]+c<=v) dp[i]=dp[i-c]+c;
	}
}
void ZeroOnePacket(int c, int v)
{
	for (int i=v; i>=c; i--)
	{
		if (dp[i]<dp[i-c]+c&&dp[i-c]+c<=v) dp[i]=dp[i-c]+c;
	}
}
void MulityPacket(int c, int v)
{
	for (int i=1; i<=c; i++)
	{
		if (num[i]==0) continue;
		if (num[i]*i>v) CompletePacket(i, v);
		else
		{
			int k=1;
			while (k<num[i])
			{
				ZeroOnePacket(k*i, v);
				num[i]=num[i]-k;
				k*=2;
			}
			ZeroOnePacket(num[i]*i, v);
		}
	}
}
int main()
{
//	freopen("in.txt", "r", stdin);
	int cnt=1;
	while (1)
	{
		value=0;
		for (int i=1; i<=6; i++) scanf("%d", &num[i]), value+=i*num[i];
		if (value==0) break;
		memset(dp, 0, sizeof(dp));
		printf("Collection #%d:\n", cnt++);
		if (value%2==1) {printf("Can't be divided.\n\n"); continue;}
		value=value/2;
		MulityPacket(6, value);
		if (dp[value]==value) printf("Can be divided.\n\n");
		else printf("Can't be divided.\n\n");
	}
	return 0;
}


Midscene.js(3):手把手教你用 YAML 脚本实现 AI 驱动的 Web UI 自动化「喂饭教程」 Midscene.js是一款开源的AI驱动UI自动化工具,通过自然语言描述即可控制浏览器或Android设备执行操作。它支持YAML脚本编写测试用例,降低了自动化测试门槛。 阅读详情

相关推荐

手把手教你用开源EtherCAT协议栈SOEM开发从站设备(附避坑指南)

本文详细介绍了如何使用开源EtherCAT从站协议栈SOES进行嵌入式设备开发。内容涵盖从环境搭建、硬件准备到核心的对象字典与PDO映射配置,并重点分享了主循环集成、状态机处理以及实战调试中的常见问题与避坑指南,旨在帮助开发者高效实现设备接入工业现场总线网络。

linux的博客 625

蓝桥杯-背包问题

#include<cstdio> #include<iostream> using namespace std; const int maxn = 30; int n,V,maxValue=0; int w[maxn], c[maxn]; void DFS(int index, int sumw,int sumc){ /* //死胡同 if(index==n){ i...

qq_41722101的博客 1866

【实战】——零代码玩转Supervisely人像分割:从标注到模型训练的数据流水线搭建

本文详细介绍了如何零代码使用Supervisely平台搭建人像分割数据流水线,从智能标注到数据集格式转换,再到模型训练与优化。Supervisely的智能标注工具和协作功能大幅提升了人像分割项目的效率,特别适合视频会议背景虚化、虚拟试衣等应用场景。

weixin_30694389的博客 413

hdu1171(DP求两份物品的价值相差最小)

题目信息: 给出一些物品的价值和个数。分成两份,是这两份的价值相差最小(DP方法) http://acm.hdu.edu.cn/showproblem.php?pid=1171 AC代码: /** *0-1背包问题 *使得总背包的一半空间装尽可能多的价值 */ #include<iostream> #include<cstri...

weixin_30687811的博客 241

【Unity】Spine动态换装进阶:SkeletonGraphic插槽级皮肤切换与内存优化

本文深入探讨了Unity中Spine动态换装的进阶技术,重点解析了SkeletonGraphic插槽级皮肤切换的实现原理与内存优化策略。通过代码示例展示了如何高效管理皮肤实例、避免内存泄漏,并提供了对象池、纹理合并等性能优化方案,帮助开发者提升2D角色换装系统的运行效率与稳定性。

food6的博客 196

LLC谐振电路增益公式推导

LLC谐振电路增益公式理解

金凯*博客 1万+

Poj 1014 Dividing(多重背包)

一、题目大意 有价值为1,2,3,4,5,6的六种大理石,它的数量不一。要在不破坏大理石的情况下,使两人能分到总价值相等的大理石。数量由标准输入给出,问给定数据能否平分。 二、题解 首先,我们要的是平分总价值为两份,这里有一个很明显的剪枝,即如果总价值为奇数则直接输出不可分。如果总价值为偶数,则要把它分为两份,也就是意味着我们要能从给定数量的大理...

a136358的博客 306

从零搭建宝兰德BES单机版:分离式安装、环境变量配置到控制台访问的避坑指南

本文详细介绍了从零搭建宝兰德BES单机版的完整流程,包括分离式安装、环境变量配置和控制台访问的避坑指南。针对中间件安装部署中的常见问题,提供了账号规划、JDK配置、实例创建和防火墙设置等实用解决方案,帮助开发者和运维人员高效完成BES中间件的部署工作。

weixin_32576389的博客 371

POJ 1014 Dividing(多重背包, 倍增优化)

Q: 倍增优化后, 还是有重复的元素, 怎么办 A: 假定重复的元素比较少, 不用考虑   Description Marsha and Bill own a collection of marbles. They want to split the collection among themselves so that both receive an equal share of the...

weixin_33709609的博客 134

微信自动化必备软件:inspect(获取微信界面元素)

SaveButton10015.2:1 ✅(合格)Passed ✅说明这个控件完全符合无障碍标准。

Ven%的博客 1381

【车载以太网】【架构】整体架构与协议标准

车载以太网架构图 应用层:DHCP /SOMEIP/DoIP/XCP/UDPNM 传输层:TCP/IP 网络层:IPv4/IPv6/ARP/ICMP 链路层:IEEE Ethernet MAC+VLAN 物理层:Ethernet PHY: 100BASE-T1/1000BASE-T1/100BASE-Tx

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 8354

POJ 1014 Dividing ( 多重背包)

题意:玛莎和比尔有一批大理石(或弹珠)。他们想要将这批大理石分成价值和相等的两批。如果所有的大理石有同样的价值,那很简单,因为只要按数目分一半就行了。但是很可惜,一些大理石大一点,或者更漂亮一点。所以玛莎和比尔对每一个大理石分配一定的价值分从1到6。现在他们要分离这些大理石使得分别能获得相同总值。很可惜,他们意识到有时不可能平分大理石(即使总值是偶数)。例如,如果有1个价值为1,1个价值为3,两个

我要一步一步往上爬 699

RK3588部署YOLOv11与RKNN全流程教程

本文详细介绍了在RK3588开发板上部署YOLOv11目标检测模型的全流程。主要内容包括:PC端CUDA/cuDNN环境配置、Anaconda虚拟环境搭建、RKNN Toolkit2安装;YOLOv11模型从PyTorch到ONNX再到RKNN的格式转换;以及RK3588开发板的系统配置、RKNPU驱动安装和最终推理实现。教程提供了完整的代码示例,帮助开发者快速在边缘设备上实现高效的AI推理应用,涵盖从环境准备到实时检测的全套解决方案。

FJN110的博客 374

dividing zoj 1149, PKU 1014

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=149这道题目真是打击人的自信心啊,在题目分类中被分为dp(动态规划),但是又不是随便dp的出来的。Google了好久,发现一般有以下几种解法:基本的动态规划双向dp居然还有人直接迭代搞定的。他的代码中优先考虑了sum/2为奇数而1,3,5的数量同时为偶数的情况,然后迭代。我没有验证,当然也没必要验证,因为这显然很投机。就像完全不懂的人买了一只股票,然后涨了,第二天还在那里沾沾自喜,表明自己

cherry_sun的专栏 1347

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

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

pku_Dividing_1014

/*  Name: Dividing - PKU 1014  Author: Mars  Description: DP  Result:    2231562 bestzsx 1014 Accepted 520K 421MS C++ 1617B 2007-05-29 21:30:22*/ #include #include using namespace std;const int N

bestzsx的专栏 430

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

pku1014 Dividing (DP)

动态规划,和pku1276的算法是基本一样的显然,如果总价值为奇数,则均分是不可能的,如果总价值为偶数,则看各种marble的线性组合值能否为总价值的一半,如果可能,则可均分#include using namespace std;/*#include ifstream fin("data.txt");#define cin fin*/int mar

思吾所想 256

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pku 1014 Dividing dp 多重背包

还是比较简单的一题,只是将num[j]=num[j-i]+1;写成了num[i]=num[j-i]+1;WA了无数次,终于发现错误了 #include #include #define max 60010 int dp[max]; int num[max]; int n[7]; int main(){     int i,j;     int sum,cas=0;     wh

Sup_Heaven的专栏 911

PKU ACM 1014 Dividing 平分 (DFS)

题目链接:Dividing   问题描述: 两个人平分物品,每件物品的价值不同(1 ~ 6),但多件物体可以有相同的价值。问是否可以平分。   主要思路: 1. 递归求解; 2. 两个重要的剪枝:     (1) 若总价值为奇数,则必不可分;     (2) 在

咔嚓!~咔嚓!~ 1341

PKU-1014 Dividing (多重背包)

原题链接 http://poj.org/problem?id=1014 Dividing Description Marsha and Bill own a collection of marbles. They want to split the collection among themselves so that both receive an equal share of the

gk1988的专栏 392

动态规划(acm pku 1014 Dividing)

http://162.105.81.212/JudgeOnline/problem?id=1014哎,好久不做题。。犯傻了。。题目意思是两个人有一些大理石,价值分别为1~6若干块,问能不能两个人平均分配。当然大理石不能切开。不算太难的题目,转化成求一个人能不能拿出总价值一半的大理石就可以做了。思路就是在现有可以达到的价值基础上加上一块额外的石头,得到一个新的可以达到的值,不断循环下去,看是否可以达到sum/2即可。#include using namespace std; int num[10];

superszy的专栏 421

【pku 1014】Dividing (多重背包 套模板)

Dividing Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 12   Accepted Submission(s) : 9 Problem Description Marsha and Bill own a collectio

Sunvct的编程之家 1211

Pku acm 1014 Dividing 动态规划题目解题报告(十七)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1014刚AC了,趁热打铁,写下解题报告,这道题很早就在joj上做过,当时不知道dp,只会用很菜的方法,结果即使joj这道题仅要求10s还是会超时!思想:本题是找按价值均分大理石的方案是否存在,由于分配时不能破坏大理石,所以有个显而易见的剪枝:当所有的大理石的总价值为奇数时肯定不能被均分。把问题转化一

苏强的专栏 5818

(pku 1014) (hdu 1059) (zoj 1049) Dividing muhanshu

(pku 1014) (hdu 1059) (zoj 1049) Dividing    前几天看了刘老师关于母函数的课件,顺便找几个题目来热热身.看了1059的题目以后,很快我就把他和母函数联系起来了,于是就动手写了程序,没想到提交就wa掉了,后来发现是在多项式计算的地方出现了问题.后来一个师姐看我做这个题目,她也去动手做了起来.她用的是贪

SUN704093334的专栏 1824

pku1014----dividing(平分钻石,动态规划--剪枝)

352K 0MS G++ 1077B 2009-01-15 12:35:04 判断给定的钻石价值能否均分。 给一个bool数组它表示能分出的价值数<总价值的一半(如:总价值为8,且可分成3和5两份,那么f[3...

weixin_33752045的博客 210

poj1014 Dividing题解

<br />原题:http://acm.pku.edu.cn/JudgeOnline/problem?id=1014<br />网上很多人说直接采用dp就可以了,但是我觉得不用那么复杂,用贪心算法+回溯+剪枝就可以了,而且特快,运行时间为0.<br />1.首先,将所有石子价值先加,如果sum为奇数,则返回false.<br />2.然后,采用贪心策略在石子中选择价值和为sum/2的组合,如果组合成功,返回true,否则false.<br />   a).既然贪心,那当然首先选价值为6的石子,在不大于sum

he-honghua的专栏 2165
上一篇: syslog(),openlog(),closelog()
下一篇: PKU 3624 Charm Bracelet
Mei废话
博客等级 码龄14年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值