首页 > 其他分享 >CF 1900 选做

CF 1900 选做

时间:2024-04-12 21:12:09浏览次数:23  
标签:字符 选做 log 复杂度 不选 CF 提交 mathcal 1900

by Duck.

CF1012B Chemical table

双倍经验 eJOI2018 同名题目。

经典套路题。

我们把行号和列号建成二分图,那么这个连边条件可以看作,\((r_1,c_1),(r_1,c_2),(r_2,c_2)\) 之间有边后就会自然导致 \(r_2,c_2\) 连通。最后的目标是让所有点联通。

并查集维护连通性,答案就是连通块数 \(-1\)。时间复杂度线性。

提交记录

CF1012C Hills

双倍经验 eJOI2018 同名题目。

考虑朴素的 dp。设 \(f(i,j,0/1,0/1)\) 表示前 \(i\) 个中有 \(j\) 个满足条件,且 \((i-1)\) 和 \(i\) 分别是否被选中。显然,不能存在 \(i,i+1\) 同时选中的情况。

转移稍微讨论一下。记将 \(x\) 提到 \(y\) 的操作次数为 \(g(x,y)=\max(0,y-x+1)\)。

  • \(i,i-1\) 都不选。则有

\[f(i,j,0,0)\leftarrow \min\{f(i-1,j,1,0),f(i-1,j,0,0)\} \]

  • \(i\) 选,\(i-1\) 不选。如果 \(i-2\) 选了就需要考虑 \(i-1\) 的大小,\(v_{i-1}=\min(a_{i-2}-1,a_{i-1})\)。可以得到

\[f(i,j,0,1)\leftarrow \min\{f(i-1,j-1,0,0)+g(a_i,a_{i-1}),f(i-1,j-1,1,0)+g(a_i,v_{i-1})\} \]

  • \(i-1\) 选,\(i\) 不选。此时 \(a_{i-2}\) 只能不选,故有

\[f(i,j,1,0)\leftarrow f(i-1,j,0,1)+g(a_i,a_{i-1}) \]

时间复杂度 \(\mathcal{O}(n^2)\)。

提交记录

CF1119E Pavel and Triangles

因为 \(2^i\) 的条件卡得很死,从而三角形只可能有两种形状,等边三角形 \((2^i,2^i,2^i)\) 或着腰更长的等腰三角形 \((<2^i,2^i,2^i)\)。在这两种三角形中,我们优先匹配等腰。

开一个堆维护每种边的剩余数量,扫到 \(i\) 时找堆中的剩余边拿出来匹配等腰,剩下的匹配等边,多余的扔到堆里作为剩余。

时间复杂度 \(\mathcal{O}(n \log n)\)。

提交记录

CF1178E Archaeology

挺 tricky 的题目。

注意到题目给出的两个重要性质:相邻的字符不相同。字符集大小为 \(3\)。

由于只需要找长度为原串一半的回文子序列,考虑从头尾各拿出四个字符,根据抽屉原理和相邻字符不相等的性质,必然存在两个字符相等,且一个在头一个在尾。

我们只留下这两个字符,把不同的删掉。如此操作,就可以得到一个长度为一半的回文子序列。

时间复杂度 \(\mathcal{O}(n)\)。

提交记录

CF1205B Shortest Cycle

按位考虑,如果某一位上有 \(\geq 3\) 个数为 \(1\),那么就直接形成了三元环。否则只有 \(\leq 2\) 个数能够在这一位上匹配,我们在这两个点之间连边。这样就把图简化成了 \(\mathcal{O}(\log V)\) 个点和边的图。

接下来只需要朴素地找一个最小环即可。可以用各种最短路算法实现。

这里采用 Floyd,时间复杂度 \(\mathcal{O}(n \log V+\log^3 V)\)。

提交记录

标签:字符,选做,log,复杂度,不选,CF,提交,mathcal,1900
From: https://www.cnblogs.com/duckqwq/p/18132122

相关文章

  • CF 1800 选做
    byTheBigYellowDuckCF1119DFretsOnFire对于查询\([l,r]\),我们把\(n\)行的信息看成\(n\)条线段\([s_i+l,s_i+r]\),答案就是这些线段并的长度。令\(L=r-l\),这些线段都可以平移成\([s_i,s_i+L]\)而答案不变。把线段按照\(s_i\)排序,考虑覆盖每个线段起始位置之间的......
  • CF 杂题记录
    byTheBigYellowDuckCF11BJumpingJack由于左右对称,我们可以取绝对值,只考虑数轴正方向的做法。设经过若干次向正方向的跳跃跳到了\(X\)的位置,分类讨论:若\(X=x\),则已经达到了目标位置。若\(X>x\),考虑\(l=X-x\),若\(l\)为偶数则让第\(\dfrac{l}{2}\)次向负方向跳......
  • CF 比赛记录
    byTheBigYellowDuck包括比赛题以及整场刷了的题。1336(Div.1)CF1336ALinovaandKingdom最直接的想法是按照深度从大到小选,然而选一个非叶子节点会使得其子树内所有点的贡献\(-1\)。那么我们把所有点按照\(dep_u-sz_u\)从大到小排序,选前\(k\)大的即可。时间复杂度......
  • 「杂题乱刷」CF786C
    题目链接(luogu)题目链接(cf)水2400。首先我们容易看出,答案具有单调性,然后无法使用数据结构进行优化,这时我们可以直接根号分治,发现总是有一段连续的区间数是相同的,因此我们直接根号分治套二分即可AC。参考代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪......
  • Layerscape® LS1043AXN7QQB、LS1043AXN8QQA四核64位ARM处理器,ACFJ-3439T-000E(17A)栅
    一、Layerscape®1043A处理器简介:LS1043A处理器是一款面向嵌入式网络的四核64位Arm®处理器。LS1043A可通过支持无风扇设计的灵活I/O封装,提供超过10Gbps的性能。这款SoC是专为小规格网络、工业和汽车应用而打造的解决方案,针对经济型低端PCB优化了物料成本(BOM),降低了电源成本,......
  • ESP01S固件烧录出现2-syncfail报错
    起因整理手上开发板的时候突然发现有几片ESP01S和ESP12F买来一直没有使用,所以打算拿出来使用MQTT服务进行透传,但是在测试ESP01S的时候发现MQTT的指令一直在报错,之后一查固件版本号居然显示2015年构建的,所以从安信可处下载了新固件进行烧录.故障现象一直显示等待上电同步或显示......
  • CF617E XOR and Favorite Number 题解
    想了好久才明白zz来源?:莫队题单题目大意给定一个长度为\(n\)的序列\(a\),然后再给一个数字\(k\),再给出\(m\)组询问,每组询问给出一个区间,求这个区间里面有多少个子区间的异或值为\(k\)。\(1\len,m\le10^5\)\(0\lek,a_i\le10^6\)\(1\lel_i,r_i\len\)题......
  • 【题解】CF311E Biologist题解
    CF311EBiologist题解非常好的一道最小割。思路首先看到每一个位置又会有\(01\)两种情况,然后要满足一些要求,求最大收益,考虑类似于P4313文理分科和P1361小M的作物这种集合划分的建图方法,也就是要用最小割求解。由于我们要求的是最大收益,所以我们要先明确要最小化什么,......
  • 【题解】CF1187G Gang Up
    【题解】CF1187GGangUp题意给定一个图,有\(k\)个人要走到\(1\)号节点,问最小花费。解法一眼丁真,鉴定为费用流。考虑到这道题花费会与时间有关,所以分层图,启动!。按时刻分层,现在分析每个人在第\(k\)时刻的动向:1.呆着不动。2.走到下一个节点。对于动向\(1\),从时......
  • CF1951
    Alink这个题就是讨论。首先,如果没有\(1\)就一定可以。如果有\(1\)。如果长度为\(2\)一定不行。\(1\)的个数为奇数不行。如果为偶数有一个小点:如果是\(2\)个\(1\)且连在一起,不行,因为不能开相邻的。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intt;......