codeforces543AWriting Code(完全背包)
来源:互联网 发布:南昌淘宝运营公司 编辑:程序博客网 时间:2024/06/08 17:15
//完全背包//首先定义dp[i][j][k]为前i个人写j行所含bug为k个的种数//然后对于dp[i][j][k]=dp[i-1][j][k]+dp[i][j-1][k-bug[i]];//第i个人要么不写,要么再写一行//然后用类似完全背包我们可以通过顺序遍历,省掉一维iimport java.io.*;import java.util.*;public class cf { FastScanner in; long max(long a,long b){ if(a>b)return a; return b; } void input(){ in = new FastScanner(System.in); int n=in.nextInt(); int m=in.nextInt(); int b=in.nextInt(); int mod=in.nextInt(); int v[]=new int[3000]; int dp[][]=new int[600][600]; int cnt=0; for(int i=1;i<=n;i++){ v[i]=in.nextInt(); } dp[0][0]=1; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ for(int k=v[i];k<=b;k++){ dp[j][k]=(dp[j][k]+dp[j-1][k-v[i]])%mod; } } } int ans=0; for(int i=0;i<=b;i++){ ans=(ans+dp[m][i])%mod; } System.out.println(ans); } public static void main(String[] args){ new cf().input(); }}class FastScanner { BufferedReader br; StringTokenizer st; public FastScanner(File f) { try { br = new BufferedReader(new FileReader(f)); } catch (FileNotFoundException e) { e.printStackTrace(); } } public FastScanner(InputStream f) { br = new BufferedReader(new InputStreamReader(f)); } String next() { while (st == null || !st.hasMoreTokens()) { String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if (s == null) return null; st = new StringTokenizer(s); } return st.nextToken(); } boolean hasMoreTokens() { while (st == null || !st.hasMoreTokens()) { String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if (s == null) return false; st = new StringTokenizer(s); } return true; } int nextInt() { return Integer.parseInt(next()); } long nextLong() { return Long.parseLong(next()); } double nextDouble() { return Double.parseDouble(next()); } String nextLine() { String str = ""; try { str = br.readLine(); } catch (IOException e) { e.printStackTrace(); } return str; }}
0 0
- codeforces543AWriting Code(完全背包)
- Codeforces544C:Writing Code(完全背包)
- codeforces #320 Writing Code (完全背包)
- CF544C:Writing Code(二维完全背包)
- codeforces 543A A. Writing Code(完全背包优化dp )
- [Codeforces 543A] Writing Code (完全背包DP)
- codefroces 543A Writing Code dp优化 完全背包
- Codeforces 544C Writing Code【二维完全背包】
- 完全背包
- 完全背包
- 完全背包
- 完全背包
- 完全背包
- 完全背包!!
- 完全背包
- 完全背包
- 完全背包
- 完全背包
- linux下c的共享库和静态库
- 7月20日--8月1日30小时,剩3600小时
- HashTable, HashSet, HashMap的区别
- 飞机游戏源码学习小结
- tcpdump 抓包
- codeforces543AWriting Code(完全背包)
- OSG中的粒子系统
- OC_NSDictionary和NSMutableDictionary
- Ubuntu14.04安装OpenCV3.0
- 使用eclipse tool 逆向生成Hiberante类xml、和hbm.xml
- ReSharper 配置及用法
- AFNetworking和ASIHTTPRequest的比较
- 【西祠日志】【14】周一,西祠,婚博会后
- Reverse Words in a String