首页 > 其他分享 >CF 2100-2400 strings 乱做

CF 2100-2400 strings 乱做

时间:2024-09-02 21:06:35浏览次数:12  
标签:字符集 CF 枚举 2400 2100 strings

CF1995D Cases

显然如果选了某个字符那么不妨选它出现的所有位置。check 方式等价于相邻两个选择的位置间距 \(\le k\),等价于连续 \(k\) 个必须选一个(最后一个必须选)

枚举位置维护字符集是做不了的,状态数 \(O(n2^c)\) 无法优化

考虑枚举字符集 \(s\)。设原串连续 \(k\) 个字符的字符集为 \(t_i\),合法的 \(s\) 满足 \(s\cap t_i\ne\varnothing\)。标记 \(U\setminus t_i\) 及其子集,没有标记即为合法

时间复杂度 \(O(cn+2^cc)\)

https://codeforces.com/problemset/problem/1980/G

标签:字符集,CF,枚举,2400,2100,strings
From: https://www.cnblogs.com/ft61/p/18391695

相关文章

  • Syncfusion Essential Studio 26.2.4
    SyncfusionEssentialStudioisacompletesuitewith1,800+UIcomponentsandframeworksthatcanbeusedforallyourdesktop,web,andmobileapplicationdevelopmentneeds.EssentialStudioconsistsof.NETlibrariesandUIcontrolsthatprovidecomplet......
  • CF1998E2 Eliminating Balls With Merging (Hard Version)
    原题链接考虑对于每个\(i\),算出向左扩展到\(1\)时向右至少和至多扩展到哪里,记为\(minr\)和\(maxr\)。那么也就是说每个\(i\)会对\(minr\simmaxr\)做出贡献,差分一下就可以了。重点是怎么计算这两个东西。先说\(maxr\)。如果暴力跳,过程是:先向左扩展直到不能扩展,然后......
  • CF 1996 E. Decode(*1600) 思维+前缀和
    CF1996E.Decode(*1600)思维+前缀和题目链接题意:给你一个长度为\(n\)的二进制字符串,求出所有的子区间的所有满足\(0\)的个数等于\(1\)的个数的子区间个数之和。思路:首先,求一段区间是否满足\(0\)的数量是否等于\(1\)的个数,是非常经典的做法,我们只需要维护一个数......
  • CF 2001 D. Longest Max Min Subsequence(*1900) 思维
    CF2001D.LongestMaxMinSubsequence(*1900)思维题目链接题意:给你一个长度为\(n\)的序列\(a\),设\(S\)是\(a\)的所有可能的非空子序列的集合,且没有重复的元素。你的目标是找出\(S\)中最长的序列。如果有多个序列,请找出将奇数位置上的项乘以\(−1\)后,使词序最小......
  • CF 2002 D1. DFS Checker (Easy Version) (*1900)思维
    CF2002D1.DFSChecker(EasyVersion)(*1900)思维题目链接题意:给你一棵\(n\)个节点组成的完全二叉树,并给出一个排列\(p\)。接下来进行\(q\)次询问。每次询问给你\(x\)和\(y\),你需要交换\(p_x\)和\(p_y\)。并且回答交换之后的排列\(p\)是否是这棵完全二叉树......
  • CF 2004 D. Colored Portals (*1600) 二分
    CF2004D.ColoredPortals(*1600)二分题目链接题意:有\(n\)座城市,编号从\(1\)到\(n\)。传送门一共有\(4\)种颜色,每个城市有两种不同颜色的传送门。若城市\(i\)和城市\(j\)有相同颜色的传送门。那么就可以花费\(|i-j|\)枚金币从城市\(i\)到城市\(j\)。\(q\)......
  • CF2008场题解
    Sakurako'sExam算法:模拟,分类讨论。题意简述:给\(a\)个数字\(1\)和\(b\)个数字\(2\),问能否在每个数字前加上加减号使得原始值为\(0\)。考虑\(1\)的个数如果是奇数,那么一定不行。否则如果\(2\)的个数是偶数,一定可以。当\(2\)的个数为奇数且还可能可以时,判断是否存......
  • CF 有趣题目做题笔记
    CF1157FMaximum_Balanced_CircleProblem题意:给出一个长度为\(n\)的序列\(a\),你可以选出序列的任意子集。记这个子集为\(b\),大小为\(k\),则需要满足\(\lvertb_i-b_{(i+1)\bmodk}\rvert\le1\)。你需要最大化\(k\)的值,并输出选出的子集\(b\)。Solution注意到最终......
  • CF1826D
    CF1826D链接:Problem-1826D-Codeforces题目大意:给你一个数组,让你选择一个区间\([l,r]\)设选中的区间为\(b\),\(b_{i_1}+b_{i_2}+b_{i_3}\)为区间内前三大的值,你需要选择一个区间使得\(b_{i_1}+b_{i_2}+b_{i_3}-(r-l)\)值最大,输出最大值思路:我们发现......
  • CF2003
    CF2003A考虑特殊情况,划分为\(2\)个串,判定\(s_1\nes_n\)即可B具有单调性,二分判定或者考虑贪心,考察\(\min\),先手必然要删,且随时能删,删了会让后面条件更容易满足,所以第一个删,归纳即可trick:枚举判定$\rightarrow$二分C贪心,每次选择最大和次大填即可D1&D2D1是\(......