首页 > 其他分享 >杂题3

杂题3

时间:2023-06-19 22:46:33浏览次数:42  
标签:前缀 text 加法 贡献 一段 杂题 边界

\(\text{CF547D Mike and Fish}\)

对于横坐标相同的点两两连边,剩下一个点不管,纵坐标同理
这样形成的图是二分图,因为一个点只会在横轴上连出一条边,纵轴上连出一条边。最后黑白染色即可

\(\text{CF547E Mike and Friends}\)

差分询问,考虑每个字符串对询问的贡献
于是建出 ACAM,顺序处理每个字符串对别的字符串的贡献
发现就是在 fail 树上单点加,询问子树和,树状数组即可,\(O((n+q)\log n)\)

\(\text{CF521D Shop}\)

对一个位置,自然的贪心是按 1 2 3 操作
1 只需保留最大数,要么用要么不用;2 从大到小操作一段前缀;3 自由人
但位置与位置间还得抉择,貌似只能劣质 \(dp\) 了,这似乎没办法优化

另一种视角:乘法很自由,不受位置影响。考虑都转成乘法,然后取前 \(m\) 大
2 可以把每步加法转成乘法,因为加之前和加之后的数都是确定的,于是加上一个数变成乘上一个数,且乘上的数是降序的,贪心选择时仍然是依照前缀顺序操作,仍等效于加法时加一段前缀
1 可以看成对原数加一个增量,把它转成加法后纳入原加法的排序中,发现仍然是对的
因为选了 1 操作结合选了的加法是加了一段前缀,而全部转成乘法后也等效于加一段前缀
当然输出操作顺序时自然要把同一个位置的 1 操作提到 2 操作前

\(\text{CF527E Data Center Drama}\)

未定向前,把度数为奇数的点两两连边,然后这张图必存在欧拉回路,那么跑一个欧拉回路相邻边定向相反
注意到边数要求是偶数,那么连完后若总边数为奇数就随便找个点连自环即可

\(\text{CF585F Digits of Number Pi}\)

很明显的 ACAM 上数位 \(dp\),是否出现过长度至少为 \(\lfloor \frac d 2 \rfloor\) 的子串只需将 \(s\) 中长度为 \(\lfloor \frac d 2 \rfloor\) 的子串扔进自动机里边即可

提交记录

\(\text{CF555E Case of Computer Network}\)

容易发现边双缩点之后一个连通块内怎样都可以互达,那么剩下的就是给树边定向了,简单差分就好

\(\text{CF1012B Chemical table}\)

想了一会发现重点不在决策上,而在刻画连锁染黑的过程中
很容易扔到二分图上观察,一条边表示原图一个点,观察连锁染黑的性质
然后就没看出来了。。。
事实上只需关注二分图上的连通块
考虑连通块中边集对应的点集,而这些点集能构成的所有边都被连锁染黑了
也就是把 \(O(n^2)\) 的边信息转成了 \(O(n)\) 的点信息
那么我们只需要把这些连通块连到一起即可

提交记录

\(\text{[ARC102F] Revenge of BBuBBBlesort!}\)

感觉这种思维题很需要猜结论
常规思路是观察逐位复原的性质,没头绪,转为观察操作本身的性质
发现操作的中点只会是 \(p_i=i\) 的点
然后自然发现可互相交换的位置的封闭性,那么一段一段的看
值域固定,然后不存在三个非可操作中点使得其值降序,这些是充要条件

提交记录

\(\text{[AGC030D] Inversion Sum}\)

考虑两个位置的大小关系,统计对答案的贡献
经典地转为求期望

提交记录

\(\text{CF627E Orchestra}\)

先考虑个聪明点的 \(O(n^3)\) 做法
确定矩形上下边界,然后双指针左右边界统计
优势是无论实际存在点有多少

注意到 \(n,k\) 很小,尝试优化上述做法
对于一个左边界确定一个最小右边界,左边界可向左往空列扩张
不重不漏的准则可定为包含某个点使得其在最左边,那么贡献 \((c-y+1)\times(y - y_{pre})\)
于是把范围内的点按 \(y\) 排序,对每个点按如上叙述计算贡献,\(O(nk)\)
上边界固定,下边界移动,发现增加点的总量是 \(O(n)\)
考虑直接加点计算贡献增量,加进一个点只会影响 \(O(k)\) 个点的贡献
下边界从大到小移动使加点变为删点,链表即可做到 \(O(n^2k)\)

提交记录

\(\text{CF573E Bear and Bowling}\)

很容易想到一个贪心:逐渐扩大 \(b\) 的组成,每次加一个使当前 \(b\) 序列贡献最大的 \(a_i\),答案每次取 \(\max\)
于是就要维护形如 \(k_ia_i+b_i\) 的贡献,支持区间 \(k_i+1,b_i+v,\max\)
分块后变成 \(k+1,b_i+v,\max\)
注意到一个整块的 \(k\) 是一样的(取点所在块重构),那么就变成了那个斜率询问 \(\max ka_i+b_i\) 了
对于每个块,单调队列维护凸包,\(O(n\sqrt n)\)

原以为细节挺多的,结果一遍过了
提交记录

\(\text{CF576D Flights for Regular Customers}\)

容易 \(dp_{i,j}\) 表示能否走过 \(j\) 条边到达 \(i\)
但 \(d\) 很大,想到矩阵快速幂
按 \(d\) 排序后一段一段地做,每段解锁一条边
矩阵快速幂求出恰好走 \(t\) 条边到达的点
然后每段都跑一次最短路取 \(\min\)
不过时间卡得紧,快速幂要用 bitset 优化

\(\text{CF582D Number of Binominal Coefficients}\)

标签:前缀,text,加法,贡献,一段,杂题,边界
From: https://www.cnblogs.com/leiyuanze/p/17492419.html

相关文章

  • 6月CF杂题
    已经18号了捏。EducationalCodeforcesRound150(RatedforDiv.2)E.FilltheMatrix比较傻逼,但是是E,所以写一下。显然最优是横着填一段形如\(x,x+1,x+2\ldots\)的数,那么如果一段长度为\(l\)则贡献为\(l-1\),所以我们要尽量填进长的段里。现在问题就变成了维护每......
  • 6月CWOI杂题
    C0253【0617C组】模拟测试军训归来的第一场模拟赛,小寄。C【0601C组】树好神奇的题目。直径这个东西没什么能入手的性质,我们先考虑进行一些转化。对于直径,我们去找它的中心点。中心点可能在边上,于是把边拆开,比如边\((u,v)\)拆成\((u,x)(x,v)\),这样就有了\(2n-1\)个点......
  • 【杂题乱写】6 月西安多校数学专题训练
    这也太难了!这也太难了!这也太难了!DAtCoder-AGC034FRNGandXOR这类无穷游走的期望可以写出转移式子:\[\begin{cases}E_i=0&i=0\\E_i=1+\sum_{j\oplusk=i}E_j\timesP_k&i>0\end{cases}\]\(i>0\)的情况按FWT异或卷积理解就是\(E=E*P+I\),但是放在\(E_0=0\)处不太合适......
  • 【杂题乱写】6 月西安多校数学专题训练
    这也太难了!这也太难了!这也太难了!DAtCoder-AGC034FRNGandXOR这类无穷游走的期望可以写出转移式子:\[\begin{cases}E_i=0&i=0\\E_i=1+\sum_{j\oplusk=i}E_j\timesP_k&i>0\end{cases}\]\(i>0\)的情况按FWT异或卷积理解就是\(E=E*P+I\),但是放在\(E_0=0\)处不太合适......
  • 杂题选做一
    CF730I​ 共有\(n\)个元素和\(A,B\)两个集合。每个元素在\(A\)集合和\(B\)集合的贡献分别为\(a_i,b_i\)。现将\(n\)个元素放入两个集合中,每个元素只能在一个集合中,\(A\)集合要\(p\)个元素,\(B\)集合要\(s\)个元素。最大化贡献和并输出方案。​ \(2\len\le3\t......
  • 0612杂题
    ABC220F考虑换根\(dp\),设\(dp_i\)表示\(i\)到自己子树中所有点的距离总和,则有转移\(dp_i=\sum_{j\inson_i}(dp_j+1)\)。然后进行换根,每次将\(x\)作为根找到\(dp_x\),输出为答案即可。ABC220G计算几何题,考虑观察性质。我们发现一个梯形由两部分组成——不共线的两条平......
  • 「杂题乱写」AGC 004
    「杂题乱写」AGC004点击查看目录目录「杂题乱写」AGC004A|DivideaCuboidB|ColorfulSlimesC|ANDGridD|TeleporterE|SalvageRobotsF|Namori下次放假把歌单搞进来,都不知道推什么歌了。AGC题目真挺小清新的。一般来说只要有一个突破点就可以做出来,但是并......
  • 杂题题解
    序列变化(exchange)只要第一位确定,后面的\(n-1\)位都是唯一确定的。因为具体是B还是C只取决于两侧字母是否一样,所以两种变化方案其中一种是另一种每一位取反,要么都合法,要么都不合法。但变化出的方案可能不能继续变化下去,比如CCC变化到BBB之后就不能再变化了,但变化到CCC......
  • 「杂题乱写」AGC 003
    「杂题乱写」AGC003点击查看目录目录「杂题乱写」AGC003A|WannagobackhomeB|SimplifiedmahjongC|BBuBBBlesort!D|AnticubeE|SequentialoperationsonSequenceF|FractionofFractal今日推歌是星尘唱的《光》,是尘2021年的官方生贺曲。马上又要到8.1......
  • 6-08 杂题
    56E-DominoPrinciple我们发现,倒下的多米诺骨牌一定是一个区间,否则如果中间空了一段,前面就一定不能影响到后面。所以可以设\(r_i\)表示第\(i\)块牌倒下,倒下的最右的牌。然后每块牌影响的范围就是\([i,r_i]\)。我们计算它能直接使得倒下的牌是哪些区间,\(r_i\)就是这个区间......