2020CSP-J2参赛感受

___X3___

2020-11-07 20:06:23

Personal

## 这次最大的感受就是:**CSP对新手更不友好了** 从CSP-J T1 就可以看出比以往难度大了非常多,考的其他内容也变难了。而且提高组更是难上加难。~~我应该只有50分不到了~~(我太垃圾了) ------------ ## 题目: ### CSP-J T1: 给出一个数(n<=1e7),求它被分解成不相同的2的正整数次幂的和的结果 这道题相比以往难度很大,但是仔细一想还挺简单的。 易证出奇数不能分解,所有偶数都行。 所以先处理出2的幂,再每次找到小于n的最大的幂,输出并将n减去它。 ```cpp //mi:存2的幂(预处理) int find(n){ for(int i=1 to ...){ if(mi[i]<=n && mi[i]+1>=n) return mi[i]; } } //main函数中的循环 while(n){ int a=find(n); n-=a; cout<<a<<" "; } ``` ------------ ### T2: 我的做法:像冒泡排序一样每次加进来一个数就往前调,维护有序性。 插入复杂度O(n),查询复杂度O(1),估分70。 正解好像是**桶排序?** ------------ ### T3: 处理完数据后暴力用栈计算就~~好了~~30分了 ------------ ### T4: ~~dfs暴力就很好,反正不会做~~ 三个方向的方格取数,我 又双叒叕 没时间了,只好拿几分走了 ------------ ## 总结: _**废物的人生不需要解释**_