动态规划 problem S

原创 2016年05月31日 21:45:55

1.简单题意

这是一个典型的背包问题,就是一个学院要分开,有不同的价值的设备,需要分给两个学院,尽量公平

2.解题思路

我们需要将总和平分,然后就是一个很正常的01背包问题,套入公式就可

3.感想

问题不可能很简单的套公式,我们可以对其进行转化,然后再解

4.ac代码

#include <stdio.h>  
#include <string.h> 
#include<iostream>
#include <algorithm>  
using namespace std;

int val[5005];
int dp[255555];

int main()
{
	int n, i, j, a, b, l, sum;
	while (cin>>n, n>0)
	{
		memset(val, 0, sizeof(val));
		memset(dp, 0, sizeof(dp));
		l = 0;
		sum = 0;
		for (i = 0; i<n; i++)
		{
			cin >> a >> b;
			while (b--)
			{
				val[l++] = a;
				sum += a;
			}
		}
		for (i = 0; i<l; i++)
		{
			for (j = sum / 2; j >= val[i]; j--)
			{
				dp[j] = max(dp[j], dp[j - val[i]] + val[i]);
			}
		}
		cout << sum - dp[sum / 2] << " " << dp[sum / 2]<<endl;
	}
	system("pause");
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

动态规划方法解旅行商问题(TSP Traveling Salesperson Problem)

本文依照具体例子说明如何用动态规划算法解tsp货郎商问题 网上很多相关文章介绍的时候都缺乏例子,以至于太抽象不够直观。本文用具体例子来介绍动态规划法解决tsp。tsp是为了在一个图中求得一个最优路径,...

CQBZOJ - 2916 学生宿舍 动态规划(DP) 重庆一中高2018级竞赛班第十次测试 2016.9.16 Problem 1

【问题描述】 新的学生宿舍开放了,它由M栋建筑物构成,标号为1到M。开始时,学生宿舍都是空的,很快有N个学生搬进去了。刚好每天搬进去一个。每次有新同学搬进宿舍,那栋建筑将会举行一个大型的party。...

【动态规划法】解析经典算法题Two eggs problem及其延伸问题

【动态规划法】解析经典算法题Two eggs problem及其延伸问题Two eggs problem可以说是互联网面试中老生常谈的算法题了,经常可以在各大互联网公司的笔试真题中看到它的各类变种(腾...

DP 动态规划 Problem O 1015 二进制十进制转换

Problem O  ID:1015 简单题意:给出一个1000以内的十进制数,求其二进制形式。 解题思路形成过程:如图所示:             每组的...

Problem 2129 子序列个数 (动态规划题目,注意模余的问题)

1、http://acm.fzu.edu.cn/problem.php?pid=2129 2、题目大意: 给定一个字符串,求出该字符串有多少个不同的子序列 定义dp[k]为前k个字符中子序列的个...

【动态规划】【最短路径】Problem 3 Cyh和香穗子

话说,Cyh和香穗子是好朋友,一天他们在fzsz迷路了….Cyh在地点1,香穗子在地点n.由于Cyh是土生土长的fzsz人,所以Cyh准备去n地给香穗子带路. fzsz是个奇怪的地方,它由n地点组成...

hdoj problem 1203 I NEED A OFFER!(动态规划&&背包问题(01背包问题))

I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

BZOJ 2302 HAOI2011 Problem c 动态规划

题目大意:给定nn个人和nn个位置,要求生成一个序列aia_i,然后第1...n1...n个人依次走到第a1...na_{1...n}个位置,如果那个位置已经有人了就走到下一个位置,直到找到一个空位,...
  • PoPoQQQ
  • PoPoQQQ
  • 2015年08月26日 20:51
  • 1482

DP 动态规划 Problem W 1023 背包

Problem W  ID:1023 简单题意:共有n万元,有m个学校可申请(0,给出每个学校的申请费用和拿到offer的概率,求至少得到一份offer的最大概率。 ...

DP 动态规划 Problem C 1003 最大递增子段和

Problem C  ID:1003 简单题意:给出一排带有数字的棋子,每个棋子只能从左往右跳,且只能往比现在的数字更大的棋子上跳,跳时可以跨越多个棋子直达另一个。求最大的路径和。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态规划 problem S
举报原因:
原因补充:

(最多只允许输入30个字)