做题记录(四)
题目总结(四)
| 题目名称 | 做题时间 | 题目标签 | 
|---|---|---|
| 01 序列 | 2024.2.4 | ST | 
| Dance Mooves S | 2024.2.5 | 无限问题 | 
| Cow Hopscotch G | 2024.2.5 | DP | 
| 大河的序列 | 2024.2.5 | 结论 | 
| IP地址 | 2024.2.18 | 字典树 | 
| 餐巾计划问题 | 2024.2.26 | 网络流 | 
01 序列
2024.2.17
题目做法
设 \(pre_{x,i}=\sum_{j=1}^i[a_i=x],(0\le x\le 1,1\le i\le n)\)。
第一问其实是求 
\(\max_{i=l-1}^r\{pre_{0,i}−pre_{0,l−1}+pre_{1,r}−pre_{1,i}\}=pre_{1,r}−pre_{0,l−1}+max_{i=l-1}^r\{pre_{0,i}-pre_{1,i}\}\)
就是求区间最大值,用ST表可实现。
第二问只有 \(1\) 和 \(2\) 两种答案,要有 \(2\) 则区间中必须出现连续的 \(01\),于是我们维护 \(01\) 出现次数的前缀和,如果左端点前缀和等于右端点前缀和,则答案为 \(1\),否则为 \(2\)。
题目反思
- 
写表达式+变换表达式解决问题 
- 
双位前缀和 
Dance Mooves S
2024.2.17
题目做法
先进行一轮 \(K\) 分钟的模拟。记录某点可以被那些奶牛到达。
对于一头奶牛,初始位置在 \(a\),结束位置在 \(b\),那就相当于在 \(a\) 处的奶牛与在 \(b\) 处的奶牛轨迹相同。对于这些边构成的一个环,环上的点可以到达点相同,这里可以用并查集维护。
题目反思
无限进行问题->找环,找重复性
Cow Hopscotch G
2024.2.17
题目做法
题目反思
更新与桶记录方向相反
大河的序列
2024.2.17
题目做法
\(\&_{i=1}^na_i+|_{i=1}^na_i\le \max_{i=1}^na_i\),答案是最大的那个数乘2
证明
假设现在答案是w,加入一个数x,依照按位贪心的思想(选高位的1一定最优),分两种情况讨论:
1.w>x w在前面的位上有1但x没有,那么肯定不选x,因为&和损失的高位上的1,再怎么增加|和的后面位置的1都于事无补,那么这个时候选w优于选wx优于选x
2.w=x 显然这时选不选都没关系
3.w<x w前几位的1,x都有,而且w某一个较高位的0,x也有1,这个时候如果把w与x合并,只会增加|和,而如果抛弃w把答案置为x,那么会增加|和和&和,显然这时选x更优,其实就是swap(x,w)就转化成了第一种情况
综上,答案是最大的数乘2
题目反思
- 
\(\&_{i=1}^na_i+|_{i=1}^na_i\le \max_{i=1}^na_i\) 
- 
假设过程法 
IP地址
2024.2.18
题目做法
题目反思
- 
树形向下更新信息->打标记 
- 
先下传,在修改,保证正确性 
- 
先减后加式前缀和 for(int id:Begin[i])ans[id]-=Query(str[id]); for(int id:End[i])ans[id]+=Query(str[id]);

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号