首页 > 其他分享 >开始新的新——比赛总结

开始新的新——比赛总结

时间:2024-01-22 22:58:32浏览次数:30  
标签:总结 geq 比赛 开始 分治 leq 优化 operatorname DP

8.17 小线下赛(小 l 到小 n

  • T1:数据结构优化 DP、最短路都可过,最短路可以用“前(后)缀优化建图的方式”。
  • T2:哈夫曼树。
  • T3:可以发现,对于两个弓箭手 \(i,j\),如果 \(r_i\leq r_j\),只要 \(x_i-r_i\leq x_j\leq xi+r_i\),则这两个弓箭手能互相在对方的攻击范围,所以 \(i,j\) 能互相掩护的条件是 \(r_i\leq r_j,q_j-k\leq q_i\leq q_j+k,x_i-r_i\leq x_j\leq xi+r_i\)。对第一维排序,第二维分治,用双指针维护当前的 \(j\) 符合要求的 \(i\) 的区间,第三维树状数组维护。另一种方法,设 \([L_i,R_i]\) 表示第 \(i\) 个弓箭手能攻击的范围,则互相在对方的攻击范围的条件是 \(R_i\geq x_j\geq x_i\geq L_j\),看似三维偏序关系,实际上 \(R_i\geq x_j\geq x_i\) 只是一个限制,可以通过差分转化成二维偏序。对大小关系需要灵活转化。

8.19 线下赛(小 o 到小 r

  • T1:根号分治。
  • T2:构造,可以用长度为 \(9\) 的周期,也可以用哥德巴赫猜想。
  • T3:CDQ 分治,左右维护单调栈。
  • T4:树的方法简单。实际上,原图可能存在奇环,可以通过走奇环改变路径长度的奇偶性。考试没考虑到奇环,与图论路径的奇偶性,需要考虑不是二分图的情况,走一次奇环可以改变奇偶性。

8.24 日组队赛(小 s 到圈 B

  • s:简单前缀和优化 DP。
  • 圈 B:二分第一问,第二问前缀和优化 DP。
  • z:一个转换是每个数何老板取和你取是一样的,所以可以变成取 \(2n\) 个数。可以前缀和优化 DP,也可以用组合数学。
  • u:树上 DP。
  • w:考虑计算每条边的贡献,跑树上背包即可。size 优化的树上背包时间复杂度 \(O(n^2)\),理解:以 size 为上界枚举体积相当于枚举子树内当前加入的点,所以相当于 DFS 小的点向 DFS 序大的点转移,一共有 \(O(n^2)\) 组这样的关系。
  • y:01 分数规划加树上背包。
  • v:对于商店 \(i\),设 \(g_j\) 表示在前面的商店买 \(j\) 箱可乐最小费用,\(f_j\) 表示在这个商店之后有 \(j\) 相可乐并运送到下一个商店的费用,\(x\) 表示这个商店与下一个商店距离,则 \(f_j=\min\{g_k+C_i(j-k)+j^2x\}(j-F_i\leq k\leq j)\),把只与 \(j\) 有关的项提出,\(f_j=\min\{g_k-C_ik\}+C_ij+j^2x(j-F_i\leq k\leq j)\),可以用单调队列优化。
  • t:设 \(f_{i,j}\) 表示左手写完 \(i\) 右手写完 \(j\) 的最小时间,可以发现当 \(A_i\neq B_j\) 时,相当从前面最近的 \(i-j\) 相同且 \(A_i=B_j\) 的状态转移而来,所以只需要从左往右算 \(f_{i,p_i}\) 即可,其中 \(p_i\) 表示 \(A_i\) 在 \(B\) 中出现的位置。
  • x:\(f_{l,r,k,0/1}\) 表示考虑完区间 \([l,r]\) 的顾客,还要服务 \(k\) 个顾客,当前在 \(l/r\) 的最小费用。
  • 圈 A。

8.26 日线下赛(A 到 D

  • A:设 \(f_{i,j}\) 表示用 \(i\) 个数凑出 \(j\) 的方案,有两种情况,有 \(1\),则是 \(f_{i-1,j-1}\),没有 \(1\),则是凑出 \(2j\) 后除以 \(2\),是 \(f_{i,2j}\)。

  • B:求的是 \(\frac{1}{2}\sum_{i=0}^n\sum_{j=0}^n\operatorname{popcnt}(i)+\operatorname{popcnt}(j)-2\operatorname{LCP}(i,j)\),\(\operatorname{popcnt}(i)\) 表示二进制 \(1\) 的个数,\(\operatorname{LCP}(i,j)\) 表示二进制的最长公共前缀,分别数位 DP 即可。

  • C:一次的步长最大为 \(9\) 则必须经过连续长度为 \(9\) 的区间中的一个。对每组询问找到分界点 \(mid\),在 \([mid-4,mid+4]\) 中枚举中转点,分治实现,类似猫树,分治的区间长度过小则直接暴力。为了保证复杂度和正确性,可能需要在当前分治的区间和左右的一些点中做 BFS。

  • D:一定有一种最优方案满足:每班身高由小到大排序,相邻的人用同一张桌子。此时,将桌子按左端点由小到大排序并去掉被包含的桌子,则使用的桌子具有决策单调性,分治即可。一个优化是把所有需要用一张桌子的人排序,用双指针求用一张桌子的不舒适度的和。

标签:总结,geq,比赛,开始,分治,leq,优化,operatorname,DP
From: https://www.cnblogs.com/recollect-the-past/p/17981304

相关文章

  • 9.2 比赛总结
    E到H。T2简单树上DP。T4原题。首先将一个操作拆成两个操作,每个操作加入\((x,y,z),(x+1,y+1,z+2)\dots\)。用堆(队列也行)模拟kruskal的过程,讨论一条边之后,将它的后继加入堆。可以发现,如果一条边无法使用,则可以不加入它的后继,因为树上连接这两个点的路径上的边的边权都......
  • 9.18 比赛总结
    题目。A,B水,D随便一种算法找环,然后随便一种数据结构维护。C:两个点等价,当且仅当以两个点为根的树同构。如果存在一个点不与其它点等价,则以这个点作为根,否则一定有两个连有边的点等价,断开这条边形成两棵同构的子树。经过这步处理之后,等价的点一定在相同深度。状态采用一般的树......
  • 9.9 比赛总结
    P~S。A改成kruskal重构树或直接并查集合并,跑一个树上背包。C贪心1容易发现,从\(k\)到\(k+1\),最多有\(4\)种情况:增加一个A类。增加一个B类。减少一个A类,并增加组。减少一个B类,并增加组。如果不是这些,那\(k\)的方案不是最优的。用\(5\)个可删堆维护......
  • 9.23 比赛
    b-e。T1数据范围,小,但不能暴力枚举路径。把路径切成两半,用meetinthemiddle。注意数据范围刚好爆int。赛后assert发现并无问题T2打表找规律,本质是组合数Lucas。T3kmp建立自动机,就可以直接DP。T4类似这个链接下的E题,注意到起点和终点都是充电桩,以所有带有充电......
  • 2023.6.3(Mon.) 练习赛总结
    T1分层图跑最短路。为了优化空间,用了隐式连边的方法。T2dp,主要的想法是合并排列。T4交换的个数是具有传递性的,所以可以找连通块的信息。又因为具有单调性,可以用二分去找。然后多重集排列即可,公式\(\frac{n!}{\prods_i!}\)。T5首先,对\(a\)和\(b\)都分别排序,求出\(r_i......
  • 2023.6.4(Sun.) 练习赛总结
    题目T1打表加贪心,注意模数和一些边界情况。T4数据结构或者dp,可以从颜色角度分别计算共献,也可以从合并的角度统一计算贡献。T2首先要发现一个重要的性质:差分数组单调不降。由于差分数组可以是正的或者负的,符合要求的序列分布情况应该类似与向上开口的抛物线(∪),其中最小值在中......
  • 2023.6.8(THUR.) 练习赛总结
    链接。T2绝对值最小值,可以把原式化为两个只有一个绝对值的式子,set维护即可。T4dp用记忆化搜索加unordered_map实现的,要经过一些处理保证均摊单次转移时间复杂度是\(O(1)\)的。平时要注意计算时间复杂度要从最大的方面考虑,dp时间复杂度是状态数量乘单次转移时间,考虑一......
  • 今日总结
    ava实现spark统计100万人口的平均年龄以及每个年龄的出现次数,数据格式为“序号年龄”//生成年龄数据,格式“序号年龄”privatestaticvoidmakeAgeData()throwsIOException{FilenewFile=newFile("src/main/files/peopleAges.txt");if(newFile......
  • 春招,我春天才开始不行吗?
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!今天在互联网上看了很多雪景,这说明什么?(说明天气真的挺冷的)临近年末,大家都在盼着过个好年,然后等等春招。很多同学觉得春招离自己还很遥远:“先过个好年,等春招开始了,到时候再说呗......
  • 如何从 0 开始学 Python 自动化测试开发(一)
    如何从0开始学Python自动化测试开发(一)Python:「TIOBE’s2018年度编程语言」Python作为大数据工程和AI的主流开发语言,近年来一直保持强劲的上升趋势。即使目前AI领域还没有大量的成功商业案例(盈利的)出现,Python语言就已经空前火爆了。2019新年伊始,Python果然......