摘要:
> 法老找来的题,说是找了三道 其他模拟赛的 T4 拼成 T1~T3,另外搞了道 T4。 思维好题,但是放在 T1 有点搞心态,但是还好大样例够强,400 没挂。 > 然而 T3 大样例输出错了,浪费了我 0.5h,~~差评~~。 首先发现向左走之后向右走是一定不优的,所以最短路的情况只能先向右再向 阅读全文
摘要:
[link](https://yundouxueyuan.com/contest/64ad2248301edd5a35fdba9d) > 总体评价:~~因为 K 了,所以好评,~~练一下思维蛮好的,质量不错 比赛 2.5h K 的。 ## #A. 诗人小 G 初进 OI 界 标准送分,输出 $\fr 阅读全文
摘要:
在 NFLS 模拟赛上遇到的,赛后订正过的。 隔了蛮长时间的,总结一下。 - 首先转化为笛卡尔树上后缀前缀的问题。 - 然后考虑如何转移,发现转移形如 $f(x)=\min\{f(x)+C,kx+b\}$ 的形式。 - 可以直接线段树维护每个点的最优直线,在 update 的时候: - 如果 $f( 阅读全文
摘要:
发现根节点一定是 $1$,所以考虑两边的子树深度,然后发现只需要考虑一段后缀或前缀的深度即可。 所以循环位移后,可以从中间往两边构建笛卡尔树,实时维护深度即可。 ### 代码 ```cpp #include using namespace std; using ll=long long; const 阅读全文
摘要:
太久没见过启发式合并了,然后没想出做法。 首先笛卡尔树建出来。 然后直接枚举跨过 $mid$ 的长度为 $a_{mid}$ 的区间,RMQ $O(1)$ 验证即可。 发现这样的区间个数不超过左右区间大小的较小值,时间复杂度:$O(n\log n)$。 ### 代码 ```cpp #include u 阅读全文
摘要:
> 随机排列的最长上升子序列长度的期望是 $O(\sqrt{n})$。 这个结论知道最好,不知道也问题不大,赛时随一个跑一下也行。 警告: - 一直考虑正着做,产生了思维定式 - 正难则反啊,反着做发现只需考虑第一次覆盖的数就行了。 - 接下来的贪心也没想到:序列中不应该出现不在 $LIS$ 中的数 阅读全文
摘要:
赛时想了很久,可能是比较久没做这样的经典状压枚举子集的 dp 题了。 > 赛时大样例输出是错的,调了 40min 对的代码没看出来哪里错,写个对拍拍不出来,结果是 cxr 题面里的模数写错了,最后改了数据…… - 正难则反,求反面的方案数,即【1,2能到达的点无交集】的方案数 - 设 $f_S$ 表 阅读全文
摘要:
思维妙妙题+神仙题。 首先发现 $d$ 的限制满足单调性,所以可以转化为 $l\ge p_r$ 的限制。 > 注意:$p$ 是单调不降的 然后就是 $p_r\le l\le r,\max\limits_{i=l}^r\{c_i\}\le r-l+1$。 这个 $\max$ 想到转化到笛卡尔树上操作。 阅读全文
摘要:
### 解题思路 容易想到从小到大加数,维护每个点的子树大小。 可转化为维护每个点为 $\max$ 时的 $[L,R]$ 区间。 然后需要写一个支持 【区间+1】、【区间取min】、单点加入、全局查询。 上个吉司机线段树即可。 ### 注意点 - 吉司机线段树下推 $fi$ 的标记的时候要注意 $f 阅读全文
摘要:
很容易考虑到计算贡献。 > 该问题的关键在于——如何使得钥匙和宝箱的对应关系不算重 > Warning:有这样的二元对应关系,可以考虑一下转化为括号序列! 转化为括号序列之后,发现路径上括号串的对应关系能够预处理出来。 套个虚树和扫描线,就做完了。 ### 代码 ```cpp #include us 阅读全文