hdu 1171 Big Event in HDU
来源:互联网 发布:淘宝网购物流程图 编辑:程序博客网 时间:2024/06/13 04:20
这个题目一眼就知道出题者的意思,思路秒杀,但是没有用一维数组的时候居然会超时我也是很无语,好想用一维数组或者滚动数组真的可以有效降低时间复杂度之前的常数,大概跟计算机中的读取数据的方式应该是有关系的,看来一维数组和滚动数组还是要多多练习。
题目链接:https://vjudge.net/problem/HDU-1171
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 5002 , maxs = 5002;int dp[250002];int cntn , sum;int v[maxn];void solve () { for (int i = 1 ; i <= cntn ; i++) { for (int j = sum/2 ; j >= 1 ; j--) { if (j-v[i] >= 0) dp[j] = max(dp[j] , dp[j-v[i]]+v[i]); } } printf ("%d %d\n" , sum-dp[sum/2] , dp[sum/2]);}int main () { while (scanf("%d" , &cntn) != EOF && cntn >= 0) { memset(dp,0,sizeof(dp)); memset(v,0,sizeof(v)); int index = 1; sum = 0; for (int i = 1 ; i <= cntn ; i++) { int tv , tc; scanf("%d%d" , &tv , &tc); for (int j = 0 ; j < tc ; j++) { v[index++] = tv; sum += tv; } } cntn = index-1; solve(); } }
0 0
- 1171 Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Big Event in HDU
- Qt中使用Direct3D
- C/C++产生随机数
- 详解lua_pushfstring
- DataGridView实现某列可编辑和ChecBox全选
- 高吞吐、高可用MQ对比分析
- hdu 1171 Big Event in HDU
- 数字信号处理的主要内容
- Tomcat异常退出分析和解决方法
- Docker实践(二):容器的管理(创建、查看、启动、终止、删除)
- 拉勾网认证企业信息采集
- can't create handler inside thread that has not called Looper.prepare
- Pintos - Run didn't start up properly: no "Pintos booting" message
- 《很高兴我没有猝死》- 前端新人的 2016 年总结和感悟
- 完数