p1164小A点菜

            小A点菜

  传送门



这题真的没思路

01背包+加法

a[x]表示花x元的方案数目

状态转移方程

a[j]+=a[j-v[i]];

千万别忘了赋初值!!!

附代码



 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int n,m;
 5 int v[101000];
 6 int a[100001];
 7 int main()
 8 {
 9     int ans=0;
10     scanf("%d%d",&n,&m);
11     for(int i=1;i<=n;++i)
12     {
13         scanf("%d",&v[i]);
14     }
15     a[0]=1;//千万别忘了赋初值!!!
16     for(int i=1;i<=n;++i)
17     {
18         for(int j=m;j>=v[i];j--)
19         {
20             a[j]+=a[j-v[i]];
21         }
22     }
23     cout<<a[m];
24     return 0;
25 } 

 

全部评论

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
诨号无敌鸭:恭喜佬,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务