首页 > 其他分享 >【八月】CF *1700 ~*1900

【八月】CF *1700 ~*1900

时间:2023-08-17 18:12:41浏览次数:42  
标签:1700 frac text CF 即可 1900 答案 考虑 dp

466C

想双指针 假的。
考虑直接分类讨论能不能取:一个点能取,当且仅当他在总和的 \(\frac{1}{3}\) 处或 \(\frac{2}{3}\) 处。
那就很好讨论了:遍历一遍数组,能做左断点就做,找到另一个时累加已经找到的左断点数。

20C

板子。

474D

直接 dp。然后用前缀和回答询问。

先对好的串求出数量:设 \(dp_i\) 为到当前有多少个,转移即为:$$dp_i=dp_{i-1}+dp_{i-k}\times [i\ge k]$$

初值为 \(dp_0=dp_1=1\)。
然后对 \(dp\) 数组处理出前缀和,即可回答询问。

339D

直接建线段树,对每个结点的深度记录一下然后分成 \(\text{xor}\) 和 \(\text{or}\) 合并。

478C

贪心。 配着选一定更优,得那么气球总数除以3,就是可以满足的。然后判断什么情况不满足,即为不能配成对,则为三者互相加的最小值。

答案就是 \(\min(\frac{a+b+c}{3},a+b,a+c,b+c)\)。

118D

dp。
设 \(dp_{i,j,k,0/1}\) 现在有i个步兵j个骑兵上一个连续段有多长,最后放的是什么。
则转移分情况进行。
初始为 \(dp_{0,1,1,1}=dp_{1,0,1,0}=1\)。

转移为:

\[dp_{i,j,k,0}=dp_{i,j,k,0}+dp_{i-1,j,k-1,0} \]

\[dp_{i,j,1,0}=dp_{i,j,1,0}+dp_{i,j-1,k,1} \]

\[dp_{i,j,1,1}=dp_{i,j,1,1}+dp_{i-1,j,k,0} \]

\[dp_{i,j,k,1}=dp_{i,j,k,1}+dp_{i,j-1,k-1,1} \]

答案即为 $$\sum_{i=1}^{k} (dp_{n,m,i,0}+dp_{n,m,i,1})$$

时间复杂度空间复杂度为 \(\text{O(nmk)}\)。

977F

最长连续上升子序列。输出方案。

467C

dp。

设 \(dp_{i,j}\) 表示前边 \(i\) 个数,选了 \(j\) 个区间了。

则转移为 \(dp_{i,j}=\max(dp_{i-1,j},dp_{i-m,j-1}+\sum_{i=l_i}^{r_i}a_i)\)。

用前缀和 做到 \(\text{O(nm)}\)。

349B

贪心。
我们先选出最平均的那一个填,从高位到低位使得剩下的数尽可能地大。
注意更新贡献。

1359C

对于当前倒进去多少瓶热水是有单调性的,考虑二分这个瓶数,则答案即为 \(2\times ans-1\)。

1037D

考虑对于一个点的孩子的集合必然相同 于是想到用自动排序的 set 取下一次搜什么 这样就没有编号问题了。

1381A1/1381A2

A1

傻逼题。考虑每次找到不同的就换到开头把它一个反转然后再反转回去。

A2

考虑直接把两个序列都变成全 10,然后将 \(a\) 的操作正向输出,将 \(b\) 的操作反向输出。

1538D

考虑找到可行的上下界。

下界即为一步到位 找到两个数的 \(\gcd\) 即可。

容易发现每次用一个质因子速度最慢,则上界即为两个数质因子个数相加。

448D

对于每一行是单调的。
二分,那即可得到一行能够对答案的贡献:若最终都没有大过,即为 \(m\),否则就是当前二分值在每一行整除的数的大小之和。

1328D

容易发现 \(4\),直接暴力分讨。然后染色即可,可以按照种类染,也可以按照奇偶性染色。

证明答案不超过 \(4\)?考虑一个颜色种类至多与两个不同的颜色种类相邻即可。

标签:1700,frac,text,CF,即可,1900,答案,考虑,dp
From: https://www.cnblogs.com/SoN3ri/p/17638402.html

相关文章

  • CF1798C Candy Store
    昨晚VP的时候想了半个多小时的怎么卡质因数分解的常。给定两个长度为\(n\)的序列\(a\)与\(b\),对每一个\(i\)固定一个\(d_i\),使得\(d_i\mida_i\)。将\(b_i\timesd_i\)记为一个新的序列\(c\),你要使得\(c\)的连续段最少。\(n\le10^5\),\(a_i\le10^9\),\(b_i......
  • AI抢饭碗!新闻集团将使用生成式AI,每周自动写3000篇新闻丨IDCF
    作者:AIGC开放社区8月1日,英国卫报消息,全球最大新闻媒体公司之一的新闻集团,将使用生成式AI每周自动创建3000篇澳大利亚本地新闻。据悉,新闻集团在内部成立了一个名为“DataLocal”的部门只有4名员工,由数据新闻编辑PeterJudd领导。该部门在生成式AI的帮助下,每周可以迅速产出3000篇新......
  • CF1545B题解
    CF1545B题解题目描述你有一个长为\(n\)的棋盘,这个棋盘上有一些棋子,你可以进行如下操作:如果第\(i+2\)个位置是空的,且第\(i+1\)个位置非空,则可以将第\(i\)个位置的棋子挪到第\(i+2\)个位置(\(i+2\leqn\)).如果第\(i-2\)个位置是空的,且第\(i-1......
  • CF1845D
    原题翻译我写了个线段树233我们发现对于一个固定的\(k\),我们可以把原序列分为三段:上升到\(k\)以上想要下降到\(k\)以下但被\(k\)卡住随意上升下降但始终超过\(k\)直到最后我们为了让最后的结果最大,我们想要最大化第二段后的数。所以我们的操作就等价于选出一个贡献为负的......
  • CF1845C
    原题翻译以为是数位dp,想了很久,最后发现贪心好巧妙但其实数位dp也能做,只是写起来比较麻烦,(而且我看错题了/kk)首先naive的做法是很好想的,即枚举在\(l\)和\(r\)之间的数,直接判断怎么判断呢?无疑是在\(s\)中找到第一个下标\(>i\)的这个数的位置,然后让\(i\)赋值为这个位置,一直重复......
  • [CF1730D] Prefixes and Suffixes 题解
    首先发现后缀和前缀比较不好看,所以翻转第二个字符串,记为\(T'\)。这样就变成了操作两个字符串的前缀。观察发现,操作\(k\)等价于交换\(S[1\simk]\)和\(T'[1\simk]\),然后翻转\(S[1\simk]\)和\(T'[1\simk]\)。结论1:同一个下标上的字符对恒定。因为我们所有的操作都......
  • CF932E Team Work 题解
    Description给定\(n,k\),求:\[\displaystyle\sum_{i=1}^{n}{\binom{n}{i}\timesi^k}\]\(1\leqk\leq5000,1\leqn\leq10^9\)。Solution看到那个\(i^k\)很不爽,但是\(k\)很小,考虑用斯特林数改写一下:\[i^k=\sum_{j=0}^{k}{\binom{i}{j}\left\{{\begin{matrix}k......
  • CF794C Naming Company
    题目大意奥列格和伊戈尔打算开一个公司,他们对于公司的取名有不同的意见。他们两个各有一个长度相等的字符串,公司的名字最初是全由\(\texttt{?}\)构成的一个字符串,两人轮流操作,在自己的字符串中选出一个字符取代公司名字中的某一个\(\texttt{?}\),使用后该字符就在当前操作者的......
  • CF1656H Equal LCM Subsets
    题面传送门首先有一个暴力的想法:依次查看左边每个数,对于左边每个数,计算右边未被删除的点与这个点的\(\gcd\)的\(LCM\),如果这个\(LCM\)等于当前这个数,说明这个点可以被左边的\(LCM\)整除,否则说明这个点不能整除,需要删掉。对于右边同理。这样暴力删除复杂度是\(O(n^3\logA......
  • CF1844G Tree Weights
    题面传送门这个真的很容易想到吗?首先定\(1\)为根,设每个点的深度是\(d_i\),则两个点之间的距离是\(d_{i}+d_{i+1}-2d_{LCA(i,i+1)}\)。题目中相当于给出了\(n-1\)个方程和\(n-1\)个限制,要解出一个\(n-1\)元的方程。因为限制是从\(1\ton-1\)给出的,所以不可能包含,因此......