Loading... 上个月便是参加了noip2018普及组的复赛 22号看到了成绩—— 194分——100、80、10、4 我在北京,估摸着顶多也只是二等奖了。 每一道题都暴露出了我的一些问题,现来分析 ### 第一题 —— 标题统计([P5015](https://www.luogu.org/problemnew/show/P5015)) 我使用了char字符串,和cin.getline函数来整行输入, 在此发现了知识点遗忘的情况, 考试时先是慌慌张张的想cin.getline的用法 ```cpp std::cin.getline(字符指针,输入字符个数); ``` 后来想用strlen来测长,却终究也没能想出来,手动判断'\0'来解决了。 其正确语法为 ```cpp strlen(字符数组名); ``` 这是一个日常学习中的遗忘的问题,以后再学习新知识时也要反过头来复习一番。 最后 是第一题我的考试源码 ```cpp #include <bits/stdc++.h> using namespace std; int main() { freopen("title.in","r",stdin); freopen("title.out","w",stdout); char s[1001]; int a, n = 0, i; cin.getline(s, 10); for(i = 0; i <= 10; i++) { if(s[i] == '\0') break; if(s[i] != ' ') n++; } cout << n << endl; return 0; } ``` ### 第二题——龙虎斗([P5016](https://www.luogu.org/problemnew/show/P5016)) 很可惜,这道题我没能拿满。 只过了80%的测评点,为什么? 拿到源码那天,我去洛谷民间测试,错了后四个点 当时慌了,肯定是数据量超了 再看一遍数据规模—— ``` 对于100%的数据,n<=10^5,ci,s1,s2<=10^9。 ``` 自己以为c1,s1,s2都不超过整型,在做题过程中也就没有想会超出整型范围。 实际上,在题目中进行求和时,最大将会达到10^5*10^9=10^14。 很明显,要开int64. 其他的这道题没什么好说的了,上一下改之后的源码吧,毕竟这题没拿满。 ```cpp #include <bits/stdc++.h> using namespace std; int main() { //freopen("fight.in","r",stdin); //freopen("fight.out","w",stdout); long long n, m, p1, p2, s1, s2, w = 0, i, mi, mip; cin >> n; long long c[n + 1]; for(int i = 1; i <= n; i++) cin >> c[i]; cin >> m >> p1 >> s1 >> s2; for(i = 1; i <= n; i++) { w += (i - m) * c[i]; } w += s1 * (p1 - m); long long p = m - w / s2; if(p < 1) p = 1; if(p > n) p = n; mi = abs(w + (p - m) * s2); mip = p; for(i = p - 1; i <= p + 1; i++) { if(i == 0 || i == n) break; if(abs(w + (i - m) * s2) <= mi) { mi = abs(w + (i - m) * s2); mip = i; } } p2 = mip; cout << p2 << endl; return 0; } ``` ### 关于后两道题 因为学习进度较慢,更高深一点的算法实在是没有学过,这两道题纯属碰点,14分都在意料之内的。 于是,之后的学习计划就是继续搞定其他算法。 ### 最后 这么一次考试下来,算是给我积累了不少的大赛经验。 在此,想小声bb几句 我所在的考点出现了不少状况。 考试开始之后,花了几分钟进用户…… 然后全考场都又花了十分钟解压题目…… 这些都不是最重要的 考场的电脑不是windows装虚拟机跑Linux 而是直接装在启动盘上,直接运行Linux 不知与此有没有什么关系, 在正常操作的情况下,我的GUIDE崩了不下5次。 同时,GUIDE编译的程序结束后没有停留。 我企图调用cstdlib库来system("Pause"); 但是只要我调用一个非iostream的库,程序就无法运行 最后我用的万能库,并且直接文件输出(手动捂脸 不知道别的考场有没有类似情况,与我同一考场的同学也有出现程序结束没有停留的的情况。 #### 抛开那些因素,即使是正常使用,我也拿不到更高的分了吧, #### 希望接下来的一年自己可以努力加油学习,争取明年再战NOIP2019提高组QAQ © 允许规范转载 赞 富婆饿饿饭饭