首页 > 其他分享 >【赛后总结】CF 补题合集

【赛后总结】CF 补题合集

时间:2023-10-25 17:14:14浏览次数:39  
标签:一个 位置 CF 异或 按位 补题 区间 合集 贪心

Codeforces Round 882

退役后半年多回来的第一场 CF,战绩惨重(

我觉得这场质量很不错,还可以巩固一下位运算知识,

A. The Man who became a God

yzy 巨佬使用 dp 做的,而本人不是很擅长 dp,用了一个贪心。观察样例可得 \(f(x)\) 实际上是对一个区间求它的差分数组的和,即 \(\sum\limits_{i=l}^{r-1} a[i+1]-a[i]\)。每以 \(k\) 为上一个区间的结尾点并多分一个区间,贡献会减去 \(a[k+1]-a[k]\)。

这样将所有两两之间的差给排个序,贪心地不取最大的几个即可。

B. Hamon Odyssey

按位与有一个很显然的性质便是 \(0\) 按位与上任何数结果都为 \(0\)。这道题要求求贡献最小,依旧按照贪心的思想考虑每一组的结果都为 \(0\)。有这样一个贪心策略:

  1. 如果前面一段区间的按位与的值已经为 \(0\) 了,那么后面只要是 \(0\),在不考虑后面的前提下单独分组最优。
  2. 如果在中间有一段区间按位与之后为 \(0\),那么它们分一组是最优的。
  3. 如果一段区间按位与的值不为 \(0\) 并且后面已经没有数了,那么为了满足贡献最小,它们和前一段已经为 \(0\) 的区间合并起来最优。

注意特判一下整个序列按位与起来不为 \(0\) 的情况即可。

C. Vampiric Powers, anyone?

可以手玩什么的之类找到一个规律发现题目其实是让我们求最大连续子段异或和。可以感性理解一下假如最大连续子段异或和为区间 \([l,r]\) 那么我们可以先召唤一个替身的战力值为 \([r,n]\) 异或起来,再召唤一个替身的战力值为 \([l,n]\),它们俩再异或起来就是 \([l,r]\)的异或值了。

根据上面的推理,最大连续子段异或和就为两段从末尾开始的区间异或的值异或起来。我们存一下后缀异或值,用 01 trie 来查询在它后面与它异或起来最大的值。

D. Professor Higashikata

感觉是一道十分好的思维题。假设我们现在取的 s 的子串都互不重复,那么根据贪心显然将所有 1 都移到 t 中第一个子串对应的 s 区间里。但其实就算重复也没关系,假设现在访问到一个之前已经出现过的位置,那么有 2 种情况。

  1. 在最终的答案数组里面前一个位置填的是 0:那么显然到前一个位置时 1 就已经用完了,这个位置不会影响答案
  2. 在最终的答案数组里面前一个位置填的是 1:那么这个位置也会填 1

令 \(rnk[i]\) 表示 \(s_{[i]}\) 这个位置在 t 中第一次出现的位置,叫做 \(i\) 的优先级。假如 s 中有 \(k\) 个 \(1\),那么这 \(k\) 个 \(1\) 都去填前 \(k\) 个优先级最高的位置最好。但是这前 \(k\) 个里面还有一些本来就是 \(1\) 的,所以最后的 \(f(x)=min(k,rk)-occur(min(k,rk))\)。其中取 \(min\) 的原因是不一定有 \(k\) 个位置在 \(t\) 中出现,\(occur()\) 表示这些位置里有哪些本来就是 1 的。

出现次数可以用线段树/树状数组维护,查询的时候更新一下即可。

E. Triangle Platinum?

第一次见到交互题(,其实不是很会

F. The Boss's Identity

咕咕

Codeforces Round 834

远古时期打的比赛

Yes-Yes?

赛时我的做法是记录上一位是几,然后用类似于环的做法判是否可行。观摩了一下榜上排名前几的大佬的做法,显然我的做法还是麻烦了。观察到 \(S\) 最大只有 \(50\) 位,我们直接将 \(18\) 个 Yes 放进一个字符串内,在里面 find 一下即可。太帅了。

Lost Permutation

赛时做法差不多也是一个一个枚举,如果 \(sum>s\) 了那就无解,否则枚举到有解,很呆但很有用,只是有人很呆的多测没清空就吃罚时了。不过好像就是这个解法?(

Thermostat

分类讨论题

  1. \(a=b\),显然输出 \(0\)。
  2. \(a-x<l\;and\;a+x>r\) 或者 \(b-x<l\;ans\;b+x>r\),这是寸步难行的情况,也就是 \(a\) 不能到其他地方去,\(b\) 也不能从其他地方转移来。
  3. \(|a-b|\ge x\),显然一步即可。
  4. \(r-a>=x\;and\;r-b>=d\) 或者 \(x-l>=d\;and\;y-l>=d\),这是先把 \(a\) 调到 \(r\) 再调到 \(b\),或者把 \(a\) 先调到 \(l\) 再调到 \(b\),这里是两步。
  5. 其余的情况是三步的情况,具体就是先把 \(a\) 调到 \(l\) 再调到 \(r\) 最后调到 \(b\)。

Make It Round

赛时做法比较呆。两种决策,一种是先算出原来质因数里面 \(2\) 和 \(5\) 的数量,把它们尽可能搞到一样后再不停成 \(10\),第二种是直接乘 \(10\)。事实上我们根据数据范围可以枚举最后有多少个 \(0\),如果合法就直接输出就好了。

The Humanoid

有人赛时以为是贪心,怒调了很久。事实上设 \(dp[i][j][k]\) 表示吸收到第 \(i\) 个宇航员并且使用了 \(j\) 个绿色,\(k\) 个蓝色的最大能量。宇航员显然可以先从小到大排序一下。设好状态之后就是一个很水的 dp 了。

标签:一个,位置,CF,异或,按位,补题,区间,合集,贪心
From: https://www.cnblogs.com/Cloote/p/17626174.html

相关文章

  • CF1884D
    传送门description给定长度为\(n\)的数组\(c\)。求公因数都不在数组里的有序元素对\((c_i,c_j),i<j\)的个数。\(n\leq10^6\),值域\(n\)solution不妨先计算存在公因数且是无序对且允许\(i=j\)的个数,最后容斥一下。设数组里有\(a_i\)个\(i\),\(b_i\)表示\(i\)的......
  • CF1555B题解
    分析放桌子有两种放法,一种是上下放,一种是左右放,分别计算最小值取\(\min\)即可。注意到原题使用的是平面直角坐标系,于是将原图顺时针旋转\(90^{\circ}\),将下标表示方式与代码中下标的表示方式统一,相应的,左下角和右上角也变成了左上角和右下角。代码#include<iostream......
  • CF1572F Stations 题解-Segment Tree Beats
    20231025CF1572FStations题解-SegmentTreeBeats吉司机线段树好题!!!CF3400。传送门Statement有\(n\)个广播站,第\(i\)个广播站高度为\(h_i\),范围为\(w_i\)。初始\(h_i=0,w_i=i\)。广播站\(i\)能向广播站\(j\)传递消息,当且仅当\(i\lej\lew_i\),且\(h_i>\max\lim......
  • 【HMS Core】推送热门合集3
    【问题描述1】如何判定当前设备是否可以使用华为推送通道? 【解决方案】判断系统版本请参考:https://blog.csdn.net/chenzhengfeng/article/details/119868210只要安装了HMSCore的设备,都是支持华为推送的。 【问题描述2】根据华为的消息分类标准和本地通知频次及分类管控......
  • CF1854E Games Bundles 题解
    乱搞题设个\(dp[i]\)表示和为\(i\)的子序列个数,那么转移是容易的,\(dp[j]+=dp[j-i]\),然后就判下\(dp[60]+dp[60-i]\)是否大于\(m\),发现这样子搞对于比较大的数可能达不到\(m\)的限制,因为这样子转移,默认的是一个数只选一次,但是我们可以重复选,这启发我们需要设定一个值......
  • 题解 CF903G【Yet Another Maxflow Problem】
    加边\(A_n\stackrel{0}{\to}A_{n+1}\),\(B_0\stackrel{0}{\to}B_1\)。称形如\(A_i\toA_{i+1}\)的边为左部边,形如\(B_j\toB_{j+1}\)的边为右部边,形如\(A_i\toB_j\)的边为中间边。根据最大流最小割定理,将最大流问题转化为最小割问题求解。显然,至少存在一组最小割,包含恰好......
  • CF1467E Distinctive Roots in a Tree
    突然发现深究一些树上问题还是挺有意思的哈。显然对于同一种权值的任意两个结点,其两端的部分都是不合法的。维护两个标记表示子树内均不合法与子树外均不合法即可。但相同权值的点对数量是\(O(n^2)\)的,我们要优化这个过程。发现很多点对都是无用的。DFS下去,遇到一个\(x\)......
  • CF1777D题解
    分析首先看到那个\(10^{100}\)再加上样例,我们就能意识到在不是特别多的操作次数后这颗树上的值就会全变成\(0\)。因为没有子节点在一次操作后显然就会变成\(0\),然后第一次叶节点就会变成\(0\),然后下一次子节点中只有叶节点的就会变成\(0\),以此类推,理论上最多操作\(n\)......
  • 【专题】2022年中国跨境电商行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32044近年来,我国的跨境电子商务发展迅速,在过去五年中,其贸易额增长率达到了16.2%,已经成为稳定对外贸易的一支重要力量。阅读原文,获取专题报告合集全文,解锁文末52份跨境电商行业相关报告。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了......
  • 【专题】2023年B2B内容营销行业基准、预算及趋势报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32837在国内,B2B内容营销人才十分稀缺,尤其是当内容营销人才从媒体型向营销型转变时,内容营销的价值得以量化,进一步加强了内容营销人才对自身价值的认识。点击阅读原文,获取专题报告全文,解锁文末38份营销行业相关报告。优秀的内容人才,尤其是那些能够制......