水题乱做6
【CF 232D】Fence 二分 hash 大法好
【CF 319E】Ping-Pong 线段树,并查集维护联通块
【CF 1344E】Train Tracks LCT 模拟 access 的过程,得到每个操作的时间段,然后用堆贪心
【CF 1344F】Piet's Palette 表示成矩阵的形式,列方程,高消
【CF 963E】Circles of Waiting 主元法高消
【CF 1332G】No Monotone Triples 维护两个单调栈,max 和 min 的,然后找到之前的一个不是 min,max 的,细节不是很搞得清,调调就过了
【CF 164D】Minimum Diameter 每次删度数最大的,T(n)=T(n-1)+T(n-x) (x>=2),是个 fib(n) 级别的
【CF 1239E】Turtle 肯定是第一行从小到大排序,第二行从大到小排序最好,然后最大路肯定是走完第一整行或第二整行,然后我们只要在左上右下放最小大,然后中间放和尽可能相近的即可
【CF 700D】Huffman Coding on Segment naive 的莫队,维护每个数出现次数,小于根号的放筒里搞,大于根号的用堆
【CF 1091H】New Year and the Tricolore Recreation sg 值特别小,直接搞
【CF 1223G】Wooden Raft 讨论
【LOJ 2488】「2018 集训队互测 Day 4」小修和小栋生♂成树 拟阵交模板
【CF 1284G】Seollal 拟阵交,无环拟阵和关键点度数 <=2 矩阵
【CF 1286E】Fedya the Potter Strikes Back 维护当前为右端点的答案,细节有点小多
【LOJ 577】「LibreOJ NOI Round #2」简单算术 考虑 m 是 P 的倍数的时候,可以对应到一个 m/P 的一个位置,然后记忆化搜索
【CF 1240F】Football 答案肯定是没有 0 的,然后每次找一个不符合的颜色,欧拉回路构造一下
【CF 768G】The Winds of Winter 考虑子树 sz 的集合和祖先的 sz 和祖先子树的 sz,multiset 维护即可
【牛客挑战赛45G】致两千年后的你 一个数对应一个长度为 P 质因数个数的二进制数,表示这些位和不合法,我们要选出一个集合他们的或是全集,FWT 推推即可
【CF 611H】New Year and Forgotten Tree 考虑按照位数分成 5 种点,每种选一个关键点,爆搜关键点连的边的形态,然后在网络流判有无解即可
【LOJ 6703】小 Q 的序列 列出 dp 式子,然后把 f(i,j) 的第二维 reverse 一下,然后搞出一个可以编组合意义的东东
【CF 786E】ALT 连边优化跑网络流
【CF 1284F】New Year and Social Network 结论是必有完美匹配,每次搞一个叶子,然后和两点第一条边匹配,然后连两个点,LCCFT 维护
【CF 1446 D2】Frequency Problem (Hard Version) 答案肯定是包含最大次数的那个,我们可以 min(occ(x),occ(y)) 的算两个串之间的贡献
【CF 494E】Sharti 这个是翻硬币博弈的二维版,打表找规律发现 sg 值是 min(lob(x),lob(y),hig(k))
【CF 1172F】Nauuo and Bug 线段树维护值域上哪些位置 -0p -1p -2p ...
【CF 1142E】Pink Floyd 看题解,还是挺有意思的交互
【CF 889E】Mod Mod Mod 考虑肯定在一个位置 i 变成 a(i)-1,状态超级少,直接 map 维护这些状态即可
【CF 1307F】Cow and Vacation 并查集合并 <=K/2 的,然后询问的时候暴力向另外的点跳 K/2,然后看是否在同一个集合
【CF 1452G】Game On Tree 傻逼点分治,场上居然没想到
【CF 1209G2】Into Blocks (hard version) 考虑把一个数出现的区间 [l,r) 加上 1,把 l 的值设置成 cnt(x),那么为 0 的就是分割点,我们要的其实是分割点之间的最大值的和,线段树维护即可
【CF 1340F】Nastya and CBS 分块维护区间括号匹配剩余的栈的哈希值
【CF 1396D】Rainbow Rectangles 离线倒着线段树维护左端点,变成了区间取 min,区间求和
【CF 755G】PolandBall and Many Other Balls 列出式子,搞个组合意义,然后容斥 /yun
【LOJ 6383】「是男人就过8题——Pony.ai」PerfectNPArray 考虑一个括号序列,如何算前缀和最大值,可以枚举一个断点,求出这个断点前的前缀最大值和这个断点后的后缀最小值,两个的绝对值取个 min 更新答案
【CF 513G3】Inversions problem K=min(K,1000),然后 dp 一下,要稍微优化一下到 O(n^3K)
【LOJ 3226】「USACO 2019.12 Platinum」Greedy Pie Eaters naive 的区间 dp
【LOJ 3227】「USACO 2019.12 Platinum」Bessie's Snow Cow set 维护每种颜色的在 dfn 上的区间
【LOJ 3228】「USACO 2019.12 Platinum」Tree Depth 考虑一个点深度就是祖先个数,i 是 j 的祖先当且仅当 ai 是 i 到 j 中最小的,我们枚举一个 j,枚举一个 i,算 i 对 j 的贡献,生成函数搞出来发现其实是除以 1-x^{j-i+1} 再乘上 (1-x),随便算算
【LOJ 3215】「PA 2019」Muzyka pop 考虑 f(x,l,r) 表示在 trie 树上点 x,区间 [l,r] 的最大贡献,然后发现 x 如果在 m 到根的路径上,那么特判,否则肯定是完全二叉树,都是一样的,因此,本质不同的 x 只有 2log 个
【LOJ 3223】「PA 2019」Trzy kule 总的减去不合法的,枚举选了多少 000 001 010 011,然后算算
【CF 736D】Permutations 考虑我们要搞这个方案数奇偶性 mod 2,可以当作行列式算,然后我们要求的就是各个位置的余子式的值,有个东西叫做伴随矩阵,这东西等于这个矩阵的行列式乘上逆矩阵,模 2 意义下,bitset 优化高消
【CF 891E】Lust 发现答案只和最后的状态有关,然后直接推式子
【LOJ 3248】「USACO 2020.1 Platinum」Falling Portals 如果 a[i]>a[q[i]],那么肯定是找一个 x>=i,先转到 x 然后转到 q[i],于是对于这种情况,a[i] 从大到小放,维护下凸壳,a[i]<a[q[i]] 的同理
【LOJ 3255】「JOI 2020 Final」奥运公交 我们考虑建出四个最短路树,从 1 开始的,从 n 开始的,反图的...,然后考虑出现在树上过的边暴力搞,没出现过的直接求
【LOJ 3256】「JOI 2020 Final」火灾 考虑把这个贡献搞成直角三角形加,区间求和,然后考虑一个直角三角形的贡献
【LOJ 3266】「USACO 2020.2 Platinum」Equilateral Triangles 转化成切比雪夫距离,变成 max 的形式,然后肯定有两个的横坐标或者纵坐标相同
【LOJ 3267】「USACO 2020.2 Platinum」Help Yourself 直接 dp,利用 \(n^k=k![x^k]e^{nx}\),每次如果多一个联通块就乘上 e^x
【LOJ 2399】「JOISC 2017 Day 4」绑架 2 记搜即可
【LOJ 2336】「JOI 2017 Final」绳 肯定是把绳子染成两种颜色,然后折叠,然后注意到折叠合法当且仅当除了左右两个连续段,其它的都要是偶数的连续段
【LOJ 2736】「JOISC 2016 Day 3」回转寿司 分块搞搞
共 50 题
本文来自博客园,作者:xay5421,转载请注明原文链接:https://www.cnblogs.com/xay5421/p/water6.html