hdu1709(The Balance)用java会超时
来源:互联网 发布:怎么注销淘宝店铺 编辑:程序博客网 时间:2024/05/31 05:28
hdu1709
思路:也是由给定的几个数组合成其他数,就想到用母函数,但是这里要多考虑有加有减的情况。
import java.util.*;class Main{public static void main(String args[]){final int max=10005;Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();int[] quality=new int[110];int total=0;for(int i=0;i<n;i++){quality[i]=sc.nextInt();total+=quality[i];}int[] result=new int[max];int[] change=new int[max];result[0]=1;result[quality[0]]=1;for(int i=1;i<n;i++){for(int j=0;j<=total;j++){for(int k=0;k+j<=total&&k<=quality[i];k+=quality[i]){if(k>=j){//考虑组合时的相减情况change[k-j]+=result[j];}else{change[j-k]+=result[j];}change[j+k]+=result[j];}}for(int j=0;j<=total;j++){result[j]=change[j];change[j]=0;}}int[] numb=new int[max];int k=0;for(int i=1;i<=total;i++){if(result[i]==0){numb[k++]=i;}}System.out.println(k);if(k!=0){for(int i=0;i<k-1;i++){//控制最后一个空格System.out.print(numb[i]+" ");}System.out.println(numb[k-1]);}}}}注:用java直接去交题会超时,因为java里的输入输出都是调用包和类,自然比c话的时间会多!
0 0
- hdu1709(The Balance)用java会超时
- hdu1709 The Balance
- hdu1709 The Balance
- HDU1709 The Balance 【母函数】
- HDU1709 The Balance【母函数】
- HDU1709 The Balance,母函数套题
- HDU1709 The Balance(母函数)
- HDU1709 The Balance(母函数)
- The Balance (hdu1709) 母函数
- hdu1709 The Balance (放入+取出 01背包)
- HDU1709:The Balance(类01背包 & 母函数)
- hdu1709 the blance
- hdu1709
- HDU1709
- hdu1709
- The Balance
- The Balance
- The Balance
- LQ_奇怪的比赛
- ios开发学习笔记⑤-因为我太傻逼所以不会用storyboard中的use size classes
- java jsp页面,实现微信一键关注
- Spring中的FactoryBean
- 设计模式C++实现(15)——观察者模式
- hdu1709(The Balance)用java会超时
- 源代码加密系统提供哪些利于软件开发的功能?
- 监听器
- 开源库常用学习网址
- 什么样的SaaS公司是健康的SaaS公司
- 递归分治-棋盘问题的php实现
- 利用反射机制解决通用xml的解析
- Cloud Prizefight: OpenStack vs. VMware(转)-HA-FT
- Windows系统资源管理器无法启动的问题