07 2024 档案
摘要:个人生平第一次考第二,故有了此总结(瞎说 题号 分数 T1 100pts T2 100pts T3 100pts T4 80pts T5 100pts T6 10pts T4 对于每个点,找到他左边第一个比他高的与右边第一个比他高的,那么他能够产生的贡献就是二者的最小值-自己本身的高度。 T5 如下
阅读全文
摘要:T5 可以发现是一道单调栈,因为单调栈实际上维护的就是后缀最大值的下标,满足单调递减,知道了这一点就是单调栈模板题了。还有,当一个数被pop掉的时候还需要在异或一次以消除他对整个序列的贡献。 T6 考虑贪+dp,到一条边的时候,显然以端点作为起点最优。 dp[i][0/1]: 走到第i条边的左/右端
阅读全文
摘要:T4T4T4: 分析可以知道,每一种颜色肯定的珍珠数量肯定不会超过n/2,所以以n/2作为分界点,让i与i+n/2去拼就肯定不会重复。 #include<bits/stdc++.h> #define int long long #define endl "\n" using namespace st
阅读全文
摘要:T5 暴力优化一下即可 可以证明在k-1是一定有解,而int是31位无符号整数,所以最多只要枚举32位即可。 #include<bits/stdc++.h> #define int long long//祖宗凝视 #define endl "\n" using namespace std; cons
阅读全文
摘要:T5: 用两个数组存到达第i位时崇拜的神牛。 if(abs(sum[i]-sum[j-1]==i-j+1)),说明i到j都相同 if(abs(sum[i]-sum[j-1]<=m)),说明i和j之间的不同人数差不超过m 在符合以上两个条件下, 转移方程:dp[i]=min(dp[i],dp[j-1]
阅读全文
摘要:7.23考总 T3: 可将原式 ai⋅x+y=cia_i\cdot x+y=c_iai⋅x+y=ci 快速转化为: (ci−y)÷x=ai(c_i-y)\div x=a_i(ci−y)÷x=ai 可发现,这里的 yyy 很像除法中的余数,那么只要判断数组cmod xc\mod xcmodx是
阅读全文
摘要:T1:AC T2:75pts T3:AC T4:35pts T5:0pts T6:0pts 华丽的分割线 T1:直接数学分析END T2:枚举天数判回文 T3:枚举一个数,求另一个数,在判断即可 T4:deque模拟 T5:纯广搜 T6:说实话也不太懂
阅读全文
摘要:T1: 直接按题意模拟,统计糖果棒的高度,如果已经被吃完了就下一根,这样可大大减少时间复杂度。 AC code T2: 没过,不太明白。。。 T3: 不太明白。。。。。。
阅读全文
摘要:T1: 可以发现,如果两个相同元素之间只有一个元素不同,那么一定是可行的,所以不断更新每一个元素前一个相同的元素,标记距离,再用vis去重即可。 ACcode T2: 直接模拟贝茜每次的运动,但直接模拟会T,因为可能有两个值为0的跳板,这样就会死循环,所以判断跳的次数,如果大于3e5就break。
阅读全文