Day 0:
早上:日常赖床赖到11:00,然后早餐就当中餐一起吃了
下午:3:30 和同学们铺了床,吃了泡面晚餐就去机房做题了。
Day 0题目:
题目 |
做法 |
表达式 |
栈 |
台风 |
暴力 |
最大公约数 |
水题 |
环状石子归并 |
动态规划 |
还是挺难的吧 除了第三题水到了60分,其他好像都爆0了。
T1:栈的思想;
T2:暴力;
T3:不会就别学了;
T4:DP。
实际得分:0+0+60+0=60分
Day 1:
早上:被宿友吵醒了,匆匆洗漱完就去吃早餐了,吃完早餐就去机房刷C组的题目了。
Day1 C组赛题目:
题目 |
做法 |
【2017.6.17普及组模拟】小明解密码 |
快速幂 |
【2017.6.17普及组模拟】小明在边塞 |
动态规划 |
【2017.6.17普及组模拟】小明逛超市 |
混合背包 |
【2017.6.17普及组模拟】小明游天界 |
动态规划 |
为什么都是小明????
题目大意:
T1:给你t个n的m次方,让你求出n^m次方末位的一位数字。
T2: 这题我们用DP来做,做这题我们要知道吃药(2)可以加血(体力),打架(1)要扣血(体力),并且,我们要知道小明只能往右or下走,所以我们可以先求出第一行和第一列,然后要注意的是数据,你的数组药开大一点。
T3:就是求出他想要花费至多N元钱使得他对所买物品的需求度和最大。
T4:就是看他起点到终点最多能游览多少个不同或相同景点(即重复游览相同的景点也算入答案)若不能用刚好m个单位时间到达终点,则输出-1。
第一题用%10水到30分,第二题DP竟然AC,第三题看上去是一道背包,但无奈学背包没认真学只拿了10分,第四题看不懂%%%但输出-1水了20分。。
T1:乘方后(pow(n,m)%10求出后面的数可拿30分(至少我是这样做的),正解:快速幂。
T2: DP,别忘了给第一行&&第一列赋上初值。
T3:混合背包,基本不会,瞎搞了一个垃圾代码,水了10分。(后面经过听课明白了就是判断z等于什么,if(z=1)就是01背包,if(z=0)就是完全背包)。
T4:printf(“-1”)可以拿20分,最短路可以拿70分,DP+邻接表可以拿100分。(因为我太水了,所以printf(“-1”))。
实际得分:30+100+10+20=160分。
下午:听ju lao讲课。
晚上:经历下午的听课后,成功地改A了第3题,
∴实际得分为:30+100+100+20=250(真TM吉利)。
AC题解链接:
附上2、3题AC代码:
【2017.6.17普及组模拟】小明在边塞 :
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int n,m,a[1000][1000],f[1000][1000];
int main()
{
freopen("b.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j