[题解] [AGC022E] Median Replace】的更多相关文章

题目大意 有个奇数长度的 \(01\) 串 \(s\) 其中有若干位置是 \(?\). 每次可将 \(3\) 个连续的字符替换成这三个数的中位数. 求有多少方案将 \(?\) 替换成 \(0/1\) 使得进行 \(\frac{N-1}{2}\) 次操作后的字符串是 \(1\). \(1 ≤ ∣S∣ ≤ 300000\) 解题思路 吐了,还想什么自己写,想了 114514 年也不懂哦 首先,对于这种求合法方案的,先看给出一个方案,怎么判断是否合法. 然后,对于这种选某一段消除/合并的,可以拿一个栈…
题意 给出一个长度为奇数\(n\)的残缺01串,问有多少种补全方法,每次将连续三个位替换为它们的中位数后,能有一种方案使它变为1. \(n \le 3*10^5\) 思路 左边表示栈顶. 将操作简化为:将000变为0:将111变为1:删掉相邻的01或10. 考虑这些操作的优先级,显然是每次有000就执行,没有就执行01或10,都没有再执行 111.同类内部的顺序并不影响结果. 现在考虑用栈维护,从左往右加入串中字符,如果加入了 1,那么栈顶是 0 便可弹掉: 如果加入了 0,由于 000 优先于…
题目传送门 Description 有一个长度为 \(n\) 的 \(01\) 串,里面有一些还没有确定,我们标记为 ? .可以进行若干次操作,每次操作可以把三个相邻的数替换成它们的中位数.问有多少种把 ? 填为 0/1的方法使得该 \(01\) 串最后能变为 \(1\) . Solution 我们先考虑如何判断一个 \(01\) 串是否合法. 可以想到的是,我们的 \(000\) 一定要先删掉.然后考虑 \(01,10\) ,因为如果出现这两个,那么无论再有 \(0,1\) 都由新加入的值决定…
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.gitbooks.io/leetbook/ 004. Median of Two Sorted Arrays[H] 题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th…
这个是原先AC的代码,但是目前最后一个样例会超内存,也就是开不了两个数组来保存两个序列了,意味着我们只能开一个数组来存,这就需要利用到两个数组都有序的性质了. #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> #include <queue> using namespace std; /* 水死…
\(\color{purple}{Link}\) \(\text{Solution:}\) 观察到题目要求操作次数不超过\(2n,\)且不必最小化操作次数,所以一定是构造题. 考虑将序列转化为\([0,1,...n-1].\)于是,有以下操作方法: 当\(a_i=i-1\)时,不予操作. 当\(a_i\not =i-1\)且\(mex=n\)时,任选一个不满足上面条件的\(a_i\)令它\(=mex.\) 当\(a_i\not=i-1\)且\(mex\not =n\)时,将\(a_{mex+1}…
正题 题目链接:https://www.luogu.com.cn/problem/AT3950 题目大意 一个包含\(?,0,1\)的长度为奇数的序列,把\(?\)替换为\(0/1\).每次可以选择三个数变成它们的中位数,求有多少种替换方案使得能够把序列最终变为一个\(1\). \(1\leq |S|\leq 3\times 10^5\) 解题思路 好像是\(XJ\)那边杂题选讲时候的题 考虑优先减少\(0\)的数量.考虑一些一定优的情况\(000->0,01->\varnothing\).…
Atcoder 题面传送门 & 洛谷题面传送门 首先考虑对于固定的 01 串怎样计算它是否可以通过将三个连续的 \(0\) 或 \(1\) 替换为其中位数得到.我们考虑单调栈,新建一个栈,栈底到栈顶分别是一段连续的 \(1\) 和一段连续的 \(0\),分别表示当前未合并完的字符,我们从左往右扫描,每遇到一个字符可分以下两种情况: 如果我们遇到一个 \(0\): 如果栈为空,那直接将这个 \(0\) 入栈就好了. 如果栈顶 \(0\) 的个数 \(\ge 2\),那么显然我们可以把三个连续的 \…
替换掉所有的 html标签,最终得到Html标签中的内容 <script> //替换掉所有的 html标签,最终得到Html标签中的内容 var req="<div style="color:#f00;font-size:20px;">百度贴吧是以兴趣主题聚合志同道合者的互动平台,同好网友聚集在这里交流话题<br />.展示自我.结交朋友.贴吧主题涵盖了娱乐.游戏.小说.地区.生活等各方面 ...</div>"; va…
1: The Competition We'll be learning how to generate a submission for a Kaggle competition. Kaggle is a site where you create algorithms, and compete against machine learning practitioners around the world. Your algorithm wins if it's the most accura…