1 #include<iostream>
2 #include<cstdio>
3 using namespace std;
4 int x,y,l,r;
5 int a[10001];
6 int numa=1;
7 int b[1001];
8 int numb=1;
9 int qiu(int o)
10 {
11 return o/numa*a[numa]+a[o%numa];
12 }
13 int main()
14 {
15 scanf("%d%d%d%d",&x,&y,&l,&r);
16 for(int i=x;i<=y;i++)
17 {
18 int p=i;
19 numb=1;
20 while(p!=0)
21 {
22 b[numb++]=p%10;
23 p=p/10;
24 }
25 for(int i=numb-1;i>=1;i--)
26 {
27 a[numa++]=b[i];
28 }
29 }
30 numa--;
31 for(int i=1;i<=numa;i++)
32 {
33 a[i]=a[i-1]+a[i];
34 }
35 cout<<qiu(r)-qiu(l-1);// -1是为了方式l号元素数两遍
36 return 0;
37 }
逾期代码:
20壹七 5一 清北学堂 Day1模拟考试结题报告,day一结题报告
预测分数:100+50+50
实际分数:伍+50+100
=.=
多种托特包
(backpack.cpp/c/pas)
(1s/256M)
题目叙述
提供3个马鞍包,它最多能负载重量为W的物料。
后天交付N种货物:对于第i类货物,1共有Ci件货品;对于每一件物品,重量为Wi,价值为Vi。
寻找壹种装载情势使得双肩包中的货色总价值最大。
输入格式(backpack.in)
率先行四个整数N,W,代表货品的档案的次序与单肩包的总负重。
第3~N+1行,每行多个整数Wi, Vi, Ci,代表第i种货色的轻重、价值与数码。
出口格式(backpack.out)
仅一行,多少个整数V,代表最大的总价值。
样例输入
3 9
5 8 2
3 6 2
2 1 5
样例输出
14
数码范围与范围
1<=N<=20, 0<=W<=1000
1<=Wi<=100, 0<=Vi<=100, 0<=Ci<=100
1看见那道题的时候,小编立时想到了动态规划全盘手提包难点,但有心无力因为学习动归时期久远+没怎么学好,只好默默地打暴力;
多少范围也挺小,老师的乐趣应该正是让大家强力。。
十几分钟打完暴力,然后本人习于旧贯性的做了几组极端数据改了改小错误就过了,
但是。。。。。。。。
因为自个儿写的想起相比较新鲜。。。、
所以。。。。。。。。
只好过极端数据。。。。
。。。。。。。
自身以致,,被那种水题淹死了,,,
AC 代码:
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #include<stack>
6 #include<queue>
7 #include<algorithm>
8 using namespace std;
9 struct node
10 {
11 int w;//重量
12 int v;//价值
13 int num;//数量
14 int gdnum;
15 }a[40];
16 int n,m;
17 int ans=0;
18 void dfs(int nownum,int nowv,int noww)// 当前 背包编号 价值 重量
19 {
20 if(nowv>ans&&noww<=m) {ans=nowv;}
21 if(noww>m||nownum>n)return;
22
23 int p=a[nownum].gdnum;
24
25 for(int i=0;i<=p;i++)
26 {
27 if(a[nownum].num>0)
28 {
29 a[nownum].num=a[nownum].num-i;
30 dfs(nownum+1,nowv+a[nownum].v*i,noww+a[nownum].w*i);
31 a[nownum].num=a[nownum].num+i;
32 }
33 }
34
35
36 //dfs(nownum+1,nowv,noww);
37 }
38 int main()
39 {
40 //freopen("backpack.in","r",stdin);
41 //freopen("backpack.out","w",stdout);
42
43 scanf("%d%d",&n,&m);
44
45 for(int i=1;i<=n;i++)
46 {
47 scanf("%d%d%d",&a[i].w,&a[i].v,&a[i].num);
48 a[i].gdnum=a[i].num;
49 }
50
51
52 dfs(1,0,0);
53
54 printf("%d",ans);
55
56 fclose(stdin);
57 fclose(stdout);
58 return 0;
59 }
循环连串
(circulate.cpp/c/pas)
(1s/256M)
主题材料叙述
Iris与Bob在玩游戏:
Alice首先付诸三个数X与Y(X<=Y);
鲍勃则按梯次将X,X+1,X+二,…,Y-一,Y写成1个大数S。
Alice最终将S首尾相连,让其围成2个圈。
那时候,Bob想领会,从S的开始出发,未来的第L位到第R位数字之和是多少。
输入格式(circulate.in)
第2行八个整数X,Y,L,Rubicon,代表艾丽丝的多个数字和Bob想要知道的第L位到第大切诺基位的数字之和。
出口格式(circulate.out)
仅一行,贰个平头M,代表第L位到第LX570位的数字之和。
样例输入
10 11 4 12
样例输出
7
样例解释
Bob将数字写成1行大数S =
十1一;围成一个圈后,从第伍位到第二2人分别是一,1,0,1,一,壹,0,1,一,它们的和是七.
数据范围与范围
对于50%的数据,L=1, X,Y,L,R<=1000;
对于百分百的数码,S的长短不超越一千0,X,Y,L,安德拉<=一千00000.
一开始读题有个别懵逼,但想了会儿才意识也不是很难,也正是数额管理相比较麻烦。
于是毅然就起来模拟。。。
而是敲完之后1看数据范围才开掘撑死也就过50%的数量
想了会儿又不曾想出什么好算法来。。。。
so硬着头皮交了份模拟暴力代码
果然->伍17分
正解:
因为从l-r很只怕出现循环总括的气象,所以大家一向求出l和r对于生成字符串的倍数再增加余数就可以
因为在循环总括生成字符串的每一人数字的时候尤其繁琐,所以大家得以做贰个前缀和,那样能够大大下落时间复杂度
过期代码:
TLE
AC代码:
1
#include<iostream> 2 #include<cstdio> 3 using namespace
std; 4 int x,y,l,r; 5 int a[10001]; 6 int numa=1; 7 int b[1001]; 8
int numb=1; 9 int qiu(int o) 10 { 11 return
o/numa*a[numa]+a[o%numa]; 12 } 13 int main() 14 { 15
scanf(“%d%d%d%d”,&x,&y,&l,&r); 16 for(int i=x;i<=y;i++) 17 { 18 int
p=i; 19 numb=1; 20 while(p!=0) 21 { 22 b[numb++]=p%10; 23 p=p/10; 24 }
25 for(int i=numb-1;i>=1;i–) 26 { 27 a[numa++]=b[i]; 28 } 29 }
30 numa–; 31 for(int i=1;i<=numa;i++) 32 { 33
a[i]=a[i-1]+a[i]; 3四 } 3五 cout<<qiu(r)-qiu(l-1);//
-壹是为着艺术l号成分数五遍 3陆 return 0; 37 } AC
统1游戏
merge.cpp/c/pas
(1s/256M)
主题素材叙述
Cindy和Dan在玩2个娱乐。
一上马Cindy想出了N个数,接着她把那N个数全体给了Dan。
Dan获得这组数后,它会挑出一个数(要是不足1个则全部挑出)。Dan会把那多少个数加起来形成1个数,然后再把这么些数与剩下的数再放置一同。Dan会一向那样做,直到最后只剩下三个数。
Cindy则会在壹侧记下每回Dan获得的数,她把那一个数加起来,作为这次游戏的得分。她想清楚,对于一组数,Dan能获得的最大的得分是不怎么?
输入格式
第一行叁个正整数N,代表那组数的个数;
第2行N个正整数,代表那N个整数。
出口格式
1行3个平头,代表恐怕的最大得分。
样例输入(merge.in)
4
3 1 5 6
样例输出(merge.out)
29
样例解释
Dan能够率先把(三,五,6)这三个数先统一同来,获得三 + 五 + 陆 = 14;
接着他把多余的三个数再合起来,获得壹 + 1四 = 15.这样,总得分是最大的 14 +
一伍 = 2九.
数码范围与限定
对于50%的数据,N<=10
对于百分百的多寡,N<=1000,全部数不超出1000
当小编读完标题标时候,小编就想开了动态规划,想到了堆,想到了贪心,想到了事先队列。。。。
而是哪几个都不会,,,,。。,,。,。,。,。。
so如故随后认为模拟
没悟出最终居然AC了=。=
好狗血。。。。。。
AC代码
1
#include<iostream> 2 #include<cstdio> 3
#include<cstring> 4 #include<cmath> 5
#include<stack> 6 #include<queue> 7
#include<algorithm> 8 using namespace std; 9 int n; 10 int
a[10001]; 11 int ans=0; 12 int flag=0; 13 int now=0; 14 int comp(const
int &a ,const int & b) 15 { 16 return a>b; 17 } 18 void gett() 19 {
20 now=0; 21 if(a[1]!=-1&&a[2]==-1) 22 { 23 //ans=ans+a[1]; 24
flag=1; 25 return ; 26 } 27 for(int i=1;i<=3;i++) 28 { 29
if(a[i]==-1)continue; 30 now=now+a[i]; 31 a[i]=-1; 32 } 33
ans=ans+now; 34 a[1]=now; 35 sort(a+1,a+n+1,comp); 36 } 37 int main()
38 { 39 freopen(“merge.in”,”r”,stdin); 40
freopen(“merge.out”,”w”,stdout); 41 scanf(“%d”,&n); 42 43 for(int
i=1;i<=n;i++) 44 scanf(“%d”,&a[i]); 45 46 sort(a+1,a+n+1,comp); 47
48 while(flag==0) 49 { 50 gett(); 51 } 52 53 printf(“%d”,ans); 54
fclose(stdin); 55 fclose(stdout); 56 return 0; 57 } AC
总结:
本次试验,无法说考的很好,因为大家高校有两位大神拿了满分,这些差异相对不是1丁半点的,从思路到代码,从样例到极致数据,他们的力量远远在自己之上
但又不能够说考的很坏,起码未有犯前面三遍考试一样的超低档错误(其实首先个题也犯了次低档错误=.=),也算是1个契机
第叁题爆零(确实不值)
第3题超时(思维太窄)
其3题AC(有点运气)
最少未有出现那种一点思路都尚未纯懵逼的难题,表明自个儿还有升高的半空中
加油!
http://www.bkjia.com/cjjc/1209265.htmlwww.bkjia.comtruehttp://www.bkjia.com/cjjc/1209265.htmlTechArticle2017 51 清北学堂
Day1模拟考试结题报告,day壹结题报告 估摸分数:拾0+50+50
实际分数:伍+50+十0 =.= 多种手提袋 (backpack.cpp/c/pas) (1s/25陆M)
标题叙述…
3 6 2
AC
输入格式(circulate.in)
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<stack> 6 #include<queue> 7 #include<algorithm> 8 using namespace std; 9 struct node10 {11 int w;//重量12 int v;//价值13 int num;//数量 14 int gdnum;15 }a[40];16 int n,m;17 int ans=0;18 void dfs(int nownum,int nowv,int noww)// 当前 背包编号 价值 重量 19 {20 if(nowv>ans&&noww<=m) {ans=nowv;}21 if(noww>m||nownum>n)return;22 23 int p=a[nownum].gdnum;24 25 for(int i=0;i<=p;i++)26 {27 if(a[nownum].num>0)28 {29 a[nownum].num=a[nownum].num-i;30 dfs(nownum+1,nowv+a[nownum].v*i,noww+a[nownum].w*i);31 a[nownum].num=a[nownum].num+i;32 }33 }34 35 36 //dfs(nownum+1,nowv,noww);37 }38 int main()39 {40 //freopen("backpack.in","r",stdin);41 //freopen("backpack.out","w",stdout);42 43 scanf("%d%d",&n,&m);44 45 for(int i=1;i<=n;i++)46 {47 scanf("%d%d%d",&a[i].w,&a[i].v,&a[i].num);48 a[i].gdnum=a[i].num;49 }50 51 52 dfs(1,0,0);53 54 printf("%d",ans);55 56 fclose;57 fclose;58 return 0;59 }
14
壹看见那道题的时候,小编立即想到了动态规划全盘手袋难点,但抓耳挠腮因为学习动归时期久远+没怎么学好,只可以默默地打暴力;
输入格式(backpack.in)
3 6 2
对此百分之百的数码,S的长度不当先壹仟0,X,Y,L,R<=一千00000.
样例输入
1<=N<=20, 0<=W<=1000
数量范围与限定
Dan能够率先把(三,五,陆)那多少个数先统一同来,获得3 + 伍 + 陆 = 14;
接着她把剩下的多少个数再合起来,获得1 + 1四 = 15.那样,总得分是最大的 1肆 +
1五 = 2九.
merge.cpp/c/pas
出口格式
10 11 4 12
因为在循环总结生成字符串的每种人数字的时候尤其繁琐,所以大家得以做3个前缀和,那样能够大大下落时间复杂度
因为在循环计算生成字符串的每个人数字的时候尤其繁琐,所以大家得以做三个前缀和,那样能够大大下跌时间复杂度
一看见那道题的时候,小编马上想到了动态规划全盘手拿包难题,但迫于因为学习动归时期久远+没怎么学好,只好默默地打暴力;
样例输出(merge.out)
AC
3 9
数量范围与范围
难题叙述
总结:
多种托特包
数码范围与范围
前瞻分数:十0+50+50
此刻,鲍伯想掌握,从S的上马出发,今后的第L位到第R位数字之和是稍微。
1行贰个平头,代表恐怕的最大得分。
Iris首先付大多个数X与Y;
首先题爆零(确实不值)
第二行四个整数N,W,代表货色的档案的次序与包包的总负重。
so硬着头皮交了份模拟暴力代码
但是。。。。。。。。
对于50%的数据,N<=10
果然->4二十分
数码范围与限定
但又无法说考的很坏,起码未有犯眼前二次试验同样的超低等错误(其实首先个题也犯了次低等错误=.=),也好不轻易三个之际
第3行N个正整数,代表那N个整数。
首先题爆零
输出格式(circulate.out)
1开头Cindy想出了N个数,接着他把那N个数全体给了Dan。
正解:
Cindy则会在两旁记下每一趟Dan获得的数,她把那一个数加起来,作为这次游戏的得分。她想精通,对于壹组数,Dan能博得的最大的得分是多少?
果然->4十八分
输出格式
第一~N+一行,每行两个整数Wi, Vi, Ci,代表第i种货品的分量、价值与数量。
Dan获得那组数后,它会挑出1个数(假使不足三个则整个挑出)。Dan会把那多少个数加起来形成2个数,然后再把这一个数与剩下的数再放手一同。Dan会平昔如此做,直到最终只剩余3个数。
提供二个手拿包,它最多能负载重量为W的物品。
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int x,y,l,r; 5 int a[10001]; 6 int numa=1; 7 int b[1001]; 8 int numb=1; 9 int qiu(int o)10 {11 return o/numa*a[numa]+a[o%numa];12 }13 int main()14 {15 scanf("%d%d%d%d",&x,&y,&l,&r);16 for(int i=x;i<=y;i++)17 {18 int p=i;19 numb=1;20 while(p!=0)21 {22 b[numb++]=p%10;23 p=p/10;24 }25 for(int i=numb-1;i>=1;i--)26 {27 a[numa++]=b[i];28 }29 }30 numa--;31 for(int i=1;i<=numa;i++)32 {33 a[i]=a[i-1]+a[i];34 }35 cout<<qiu-qiu(l-1);// -1是为了方式l号元素数两遍 36 return 0;37 }
难题叙述
3 1 5 6
输入格式
数码范围也挺小,老师的情致应该正是让我们强力。。
其次行N个正整数,代表那N个整数。
这一次试验,不能够说考的很好,因为大家学校有两位大神拿了满分,那个距离相对不是壹丁半点的,从思路到代码,从样例到最棒数据,他们的手艺远远在笔者之上
=.=
寻找壹种装载格局使得马鞍包中的货色总价值最大。
展望分数:100+50+50
so照旧跟着感到模拟
集结游戏
率先行七个整数X,Y,L,BMWX五,代表Alice的三个数字和Bob想要知道的第L位到第Tiguan位的数字之和。
5 8 2
样例输入(merge.in)
仅一行,四个平头V,代表最大的总价值。
没悟出最终居然AC了=。=
(circulate.cpp/c/pas)
样例解释
(1s/256M)
所以。。。。。。。。
所以。。。。。。。。
巡回连串
1<=Wi<=100, 0<=Vi<=100, 0<=Ci<=100
1初叶读题有个别懵逼,但想了1阵子才发觉也不是很难,也正是多少管理相比较麻烦。
样例输入
3 1 5 6
想了壹阵子又从未想出哪些好算法来。。。。
1<=N<=20, 0<=W<=1000
鲍伯将数字写成1行大数S =
拾1一;围成二个圈后,从第5位到第三3个人分别是1,一,0,一,一,一,0,一,一,它们的和是七.
对于50%的数据,L=1, X,Y,L,R<=1000;
当自身读完标题的时候,小编就悟出了动态规划,想到了堆,想到了贪心,想到了事先队列。。。。
首先行二个正整数N,代表那组数的个数;
可是哪二个都不会,,,,。。,,。,。,。,。。
输出格式(backpack.out)
主题材料叙述
本人乃至,,被那种水题淹死了,,,
其3题AC(有点运气)
样例解释
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #include<stack>
6 #include<queue>
7 #include<algorithm>
8 using namespace std;
9 int n;
10 int a[10001];
11 int ans=0;
12 int flag=0;
13 int now=0;
14 int comp(const int &a ,const int & b)
15 {
16 return a>b;
17 }
18 void gett()
19 {
20 now=0;
21 if(a[1]!=-1&&a[2]==-1)
22 {
23 //ans=ans+a[1];
24 flag=1;
25 return ;
26 }
27 for(int i=1;i<=3;i++)
28 {
29 if(a[i]==-1)continue;
30 now=now+a[i];
31 a[i]=-1;
32 }
33 ans=ans+now;
34 a[1]=now;
35 sort(a+1,a+n+1,comp);
36 }
37 int main()
38 {
39 freopen("merge.in","r",stdin);
40 freopen("merge.out","w",stdout);
41 scanf("%d",&n);
42
43 for(int i=1;i<=n;i++)
44 scanf("%d",&a[i]);
45
46 sort(a+1,a+n+1,comp);
47
48 while(flag==0)
49 {
50 gett();
51 }
52
53 printf("%d",ans);
54 fclose(stdin);
55 fclose(stdout);
56 return 0;
57 }
数据范围与范围
样例解释
2 1 5
对于百分百的多少,N<=一千,全体数不当先壹仟
4
。。。。。。。
鲍勃则按顺序将X,X+一,X+2,…,Y-1,Y写成三个大数S。
(backpack.cpp/c/pas)
多少范围也挺小,老师的情致应该便是让大家强力。。
第3行四个整数X,Y,L,ENVISION,代表Iris的多少个数字和Bob想要知道的第L位到第奇骏位的数字之和。
好狗血。。。。。。
TLE
没悟出最终居然AC了=。=
对此百分之百的数目,S的长短不超越一千0,X,Y,L,奥迪Q5<=一千00000.
输出格式(backpack.out)
AC代码:
样例解释
Cindy和Dan在玩1个游玩。
第一题超时(思维太窄)
仅壹行,叁个平头M,代表第L位到第普拉多位的数字之和。
样例输入
多种双肩包
自己仍旧,,被那种水题淹死了,,,
样例输入
样例输出(merge.out)
样例输入
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<stack> 6 #include<queue> 7 #include<algorithm> 8 using namespace std; 9 int n;10 int a[10001];11 int ans=0;12 int flag=0;13 int now=0;14 int comp(const int &a ,const int & b)15 {16 return a>b;17 }18 void gett()19 {20 now=0;21 if(a[1]!=-1&&a[2]==-1)22 {23 //ans=ans+a[1];24 flag=1;25 return ;26 }27 for(int i=1;i<=3;i++)28 {29 if(a[i]==-1)continue;30 now=now+a[i];31 a[i]=-1;32 }33 ans=ans+now;34 a[1]=now;35 sort(a+1,a+n+1,comp);36 }37 int main()38 {39 freopen("merge.in","r",stdin);40 freopen("merge.out","w",stdout);41 scanf("%d",&n);42 43 for(int i=1;i<=n;i++)44 scanf("%d",&a[i]);45 46 sort(a+1,a+n+1,comp);47 48 while(flag==0)49 {50 gett();51 }52 53 printf("%d",ans);54 fclose;55 fclose;56 return 0;57 }
2 1 5
ca88亚洲城网站,对于50%的数据,N<=10
(1s/256M)
数码范围与范围
so照旧随即认为模拟
仅一行,1个平头M,代表第L位到第纳瓦拉位的数字之和。
于是毅然就起来模拟。。。
联合游戏
正解:
样例输出
实在分数:伍+50+100
标题叙述
只好过极端数据。。。。
4
(backpack.cpp/c/pas)
第二行贰个正整数N,代表那组数的个数;
当作者读完标题标时候,笔者就想开了动态规划,想到了堆,想到了贪心,想到了先行队列。。。。
巡回类别
最少未有出现那种一点思路都不曾纯懵逼的标题,表明本身还有进步的长空
1从头读题某些懵逼,但想了1阵子才意识也不是很难,也便是多少处理比较麻烦。
主题材料叙述
只是敲完事后1看数据范围才发觉撑死也就过2/四的数额
1<=Wi<=100, 0<=Vi<=100, 0<=Ci<=100
首先行七个整数N,W,代表货色的种类与单肩包的总负重。
出口格式(circulate.out)
Iris与鲍勃在玩游戏:
因为从l-r很恐怕现身循环总结的情况,所以大家一向求出l和r对于生成字符串的倍数再加上余数就可以
对于百分之百的多少,N<=一千,全体数不凌驾一千
因为从l-r很恐怕出现循环总结的情状,所以大家一贯求出l和r对于生成字符串的倍数再增加余数就可以
Cindy则会在一侧记下每趟Dan获得的数,她把那几个数加起来,作为这一次游戏的得分。她想领悟,对于1组数,Dan能获得的最大的得分是稍稍?
7
=.=
样例输出
merge.cpp/c/pas
艾丽丝与Bob在玩游戏:
今天付出N种货物:对于第i类物品,一共有Ci件货物;对于每一件物品,重量为Wi,价值为Vi。
输入格式(circulate.in)
但是。。。。。。。。
第二~N+一行,每行多个整数Wi, Vi, Ci,代表第i种货色的分量、价值与数码。
TLE
而是哪三个都不会,,,,。。,,。,。,。,。。
总结:
29
辛迪和Dan在玩一个游乐。
仅一行,二个平头V,代表最大的总价值。
输入格式
好狗血。。。。。。
(1s/256M)
AC
3 9
想了少时又尚未想出什么样好算法来。。。。
足足未有现身那种一点思路都不曾纯懵逼的题材,表达自个儿还有升高的半空中
第三题AC
AC 代码:
今天交付N种货物:对于第i类货色,一共有Ci件货物;对于每一件货色,重量为Wi,价值为Vi。
5 8 2
。。。。。。。
样例输出
一行八个整数,代表只怕的最大得分。
阿丽丝最终将S首尾相连,让其围成二个圈。
这一次试验,无法说考的很好,因为我们高校有两位大神拿了满分,这几个出入绝对不是1丁半点的,从思路到代码,从样例到最棒数据,他们的力量远远在作者之上
10 11 4 12
Dan能够率先把那四个数先统一同来,得到3 + 伍 + 6 = 1四;
接着他把剩余的五个数再合起来,得到一 + 14 = 15.这么,总得分是最大的 1四 +
①5 = 29.
29
输入格式(backpack.in)
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #include<stack>
6 #include<queue>
7 #include<algorithm>
8 using namespace std;
9 struct node
10 {
11 int w;//重量
12 int v;//价值
13 int num;//数量
14 int gdnum;
15 }a[40];
16 int n,m;
17 int ans=0;
18 void dfs(int nownum,int nowv,int noww)// 当前 背包编号 价值 重量
19 {
20 if(nowv>ans&&noww<=m) {ans=nowv;}
21 if(noww>m||nownum>n)return;
22
23 int p=a[nownum].gdnum;
24
25 for(int i=0;i<=p;i++)
26 {
27 if(a[nownum].num>0)
28 {
29 a[nownum].num=a[nownum].num-i;
30 dfs(nownum+1,nowv+a[nownum].v*i,noww+a[nownum].w*i);
31 a[nownum].num=a[nownum].num+i;
32 }
33 }
34
35
36 //dfs(nownum+1,nowv,noww);
37 }
38 int main()
39 {
40 //freopen("backpack.in","r",stdin);
41 //freopen("backpack.out","w",stdout);
42
43 scanf("%d%d",&n,&m);
44
45 for(int i=1;i<=n;i++)
46 {
47 scanf("%d%d%d",&a[i].w,&a[i].v,&a[i].num);
48 a[i].gdnum=a[i].num;
49 }
50
51
52 dfs(1,0,0);
53
54 printf("%d",ans);
55
56 fclose(stdin);
57 fclose(stdout);
58 return 0;
59 }
so硬着头皮交了份模拟暴力代码
但又无法说考的很坏,起码未有犯前边3次考试同样的超低档错误(其实首先个题也犯了次低端错误=.=),也终于2个关键
210分钟打完暴力,然后我习贯性的做了几组极端数据改了改小错误就过了,
对于50%的数据,L=1, X,Y,L,R<=1000;
AC 代码:
AC代码
加油!
鲍伯则按顺序将X,X+壹,X+二,…,Y-一,Y写成2个大数S。
寻找1种装载方式使得双肩包中的货物总价值最大。
此时,鲍伯想知道,从S的启幕出发,以后的第L位到第R位数字之和是不怎么。
提供叁个公文包,它最多能负载重量为W的货物。
骨子里分数:5+50+100
(circulate.cpp/c/pas)
只可以过极端数据。。。。
样例输出
AC代码:
Alice最终将S首尾相连,让其围成二个圈。
因为自个儿写的追忆比较新鲜。。。、
Bob将数字写成1行大数S =
十1一;围成1个圈后,从第陆位到第一二人分别是一,1,0,一,1,一,0,壹,1,它们的和是7.
7
14
一齐始Cindy想出了N个数,接着他把这N个数全体给了Dan。
因为作者写的回顾相比较新鲜。。。、
Dan得到那组数后,它会挑出二个数(如若不足一个则全体挑出)。Dan会把那多少个数加起来变成多少个数,然后再把那些数与剩下的数再放置一起。Dan会一直如此做,直到最后只剩余八个数。
第一题超时
阿丽丝首先付诸七个数X与Y(X<=Y);
只是敲完之后壹看数量范围才开掘撑死也就过四分之二的数额
难点叙述
AC代码
二一分钟打完暴力,然后作者习于旧贯性的做了几组极端数据改了改小错误就过了,
于是一挥而就就从头模拟。。。
AC
加油!
逾期代码: