论一个字符如何导致我被停训一天
2026-02-26 21:23:50
发布于:广东
前文
纯真实事件(通知停训那天晚上写的)。图一乐,希望引以为戒,注意一些细节。
文笔混乱,看一乐吧。
正文
Day -2
Day -1
蒸蚌,昨天不会的P3745是作业然后被压力了。
这里作者采用了一个非常不好的操作即直接找了份冷门题解,请勿模仿!!!已严肃认知错误。
学这个不知道叫啥,倍增?
模板(记住这道题)。
还有一道不会的P4155,调114514年(30分钟)后从20pts提升到了20pts。
Day 0
不是没说今天要测试啊?
| 题目编号 | 题目 |
|---|---|
| T1 | 三分 |
| T2 | 期末考试 |
| T3 | [USACO07JAN] Balanced Lineup G |
| T4 | 国旗计划 |
开始做T1,秒了。
T2,不会(抄题解的子弹正中自己),跳。
OS:还行,只要打到200pts就还能活着。
T3,板子。
在这里贴一份代码:
#include<bits/stdc++.h>
using namespace std;
const int N=600000,M=15;
int n,q;
int h[N];
int fu[N][M],fd[N][M];
int main(){
cin >> n >> q;
for(int i = 1;i <= n;i++)scanf("%d",&h[i]);
for(int j = 0;j < M;j++){
for(int i = 1;i+(1<<j)-1<=n;i++){
if(!j){
fu[i][0]=fd[i][0]=h[i];
}
else{
fu[i][j]=max(fu[i][j-1],fu[i+(1<<(j-1))][j-1]);
fd[i][j]=min(fd[i][j-1],fd[i+(1<<(j-1))][j-1]);
}
}
}
while(q--){
int l,r;scanf("%d %d",&l,&r);
int len=r-l+1;
int k=log(len)/log(2);
int ans = max(fu[l][k],fu[r-(1<<k)+1][k])-min(fd[l][k],fd[r-(1<<k)+1][k]);
printf("%d\n",ans);
}
}
过样例,且看起来十分正常。
T4,不会一点。
出分
| 题目编号 | 分数 |
|---|---|
| T1 | 100 |
| T2 | 0 |
| T3 | 40 |
| T4 | 0 |
总分140。
OS:不是,T3我炸哪了?(翻出AC代码)(比对)(猛击自己)
实际错因:在L3处实际应为M=18,M=15导致无法覆盖到N的范围。
因为打了个全班最低导致被停训一天复习。
总结
1
在期末考试一题中抄袭题解导致考试时不会。
2
没有考虑T2,4的部分分解。
3
没有注意细节导致模板题暴毙。
后记
明天上午努力复习吧,后天恢复训练……
Tips:上一个被停训的是上课腐朽刷小电视。
全部评论 4
d
2026-04-04 来自 浙江
0蔡锡龙
2026-04-02 来自 浙江
0?
2026-04-04 来自 广东
0
感到绝望,后天恢复以后还要测试。
感觉教练要拿这次小测T2和T4来压力我们。
必须复习,不然就可能遭到enjoy your life(人话:开除)。2026-02-26 来自 广东
0e>>>>>>>>>>>>>>>
2026-02-27 来自 浙江
0hyw
2026-02-28 来自 广东
0
题解不可取。
2026-02-26 来自 广东
0如果要抄题解的话一定一定一定要保证自己记住了解题方式!
第二天重写一遍最好。2026-02-26 来自 广东
0



























有帮助,赞一个