Solution -「NOI.AC 省选膜你赛」array】的更多相关文章

题目 题意简述   维护一个长度为 \(n\) 的序列 \(\{a_n\}\),并给出 \(q\) 个操作: 将下标为 \(x\) 的数修改为 \(y\). 给定 \(l,r,k\),求最大的 \(m\) 使得 \(\{k,k+1,\dots,k+m\}\) 是区间 \([l,r]\) 内元素的子序列. 数据规模   \(n,q\le10^6;~a_i,y,k\le n\). 题解   首先不考虑修改操作,如何处理询问呢?   不难想到维护一列指针.令 \(suf_i\) 为 \(i\) 之后第…
  这道题就叫 T2 我有什么办法www 题目 题意简述   给定一个字符串 \(s\),其长度为 \(n\),求无序子串对 \((u,v)\) 的个数,其中 \((u,v)\) 满足 \(u,v\) 均为回文串且出现位置相交. 数据规模   \(n\le2\times10^6\),字符集为小写字母(于是测试数据里有神奇的'{'字符. 题解   难得的水题呐!   正难则反,首先求出总的回文子串对数,再减去出现位置不交的对数.   对于前者,用 Manacher 或者 PAM 都可以轻松求出,这…
题目 题意简述   给定一个含有 \(n\) 个顶点的凸多边形( \(n\) 是偶数),对于每一对相对的边(即中间有 \(\frac{n}2-1\) 条其它边),延长它们以将平面分割为多块,并把包含原凸包的一块染色(包含边界).再给出 \(q\) 个询问,询问一个点 \(p\) 所在位置是否被染色. 数据规模   强制在线,\(n,q\le10^5\). 题解 题意转化   首先,考虑某个点"被染色"的条件:存在一对相对边,若两边不平行,则该点在这对边延长所构成的劣角内部:若两边平行,…
题目 题意简述   给定两颗树 \(A,B\),\(A\) 中的任一结点 \(u\) 与 \(B\) 中的任一结点 \(v\) 都有一个关系值 \(f(u,v)\),初始为 \(0\).再给出 \(q\) 个形如 \(a1,b1,a2,b2,c\) 的操作,表示对于 \(A\) 中路径 \(a1\leftrightarrow b1\) 上的任一结点 \(u\) 和 \(B\) 中路径 \(a2\leftrightarrow b2\) 上的任一结点 \(v\),\(f(u,v)\leftarrow…
cdcqの省选膜你赛 比赛当天因为在杠hnoi2016的大数据结构没有参加,今天补了一下.挺好玩的虽然不看一句话题意的话真的卡读题 此生无悔入东方,来世愿生幻想乡 2651. 新史「新幻想史 -现代史-」 一句话题意: 有一个长度为n的整数序列,共m个时刻,在每个时刻都有一个操作,如果是询问操作则询问指定时刻一段区间的和,如果是修改操作则使修改指定时刻到当前时刻的所有时刻一段区间全部增加一个数,另一段区间全部减少一个数 令t代表指定时间 询问和修改拆开 显然的偏序关系: \[ id' < id,…
\(\mathcal{Description}\)   Link.   自己去读题面叭~ \(\mathcal{Solution}\)   首先,参悟[样例解释 #2].一种暴力的思路即为钦定集合 \(S\) 内的位置都合法,容斥计数.其中对于每条纸带的每个位置,有三种情况(令 _ 为"保持不变",注意没有被机器人经过的位置都有这种修改): 同时存在 _ 和 *:或者同时存在 0 和 1:只能为空,方案数为 \(1\): 否则,存在(_ 或 *)且存在(0 或 1):只能为空或 01…
\(\mathcal{Description}\)   Link.   对于非空二叉树 \(T\),定义 \(\operatorname{grow}(T)\) 为所有能通过若干次"替换 \(T\) 的某个叶子为任意非空二叉树"的操作得到的二叉树集合:对于非空二叉树集合 \(\mathscr T\),定义 \(\operatorname{grow}(\mathscr T)=\bigcup_{T\in{\mathscr T}}\operatorname{grow}(T)\).多次询问,每次…
\(\mathcal{Description}\)   给定一个含 \(n\) 个点 \(m\) 条边的简单无向图,设图中最大点双的大小为 \(s\),则保证 \(s\le6\).你将要用 \(k\) 种颜色为结点染色,其中有些结点需要染成的颜色被确定,其余结点颜色任意.一次染色可以将一块全部无色的连通块染成某种颜色.求最少染色次数.   \(n\le10^5\),\(k\le20\),\(s\le6\). \(\mathcal{Solution}\)   提到点双,尝试建出广义圆方树,在其上…
\(\mathcal{Description}\)   给定 \(\{a_n\}\),求一个 \(\{b_{n-1}\}\),使得 \(\forall x\in\{a_n\},\exists i,j\in[1,n),b_i+b_j=x\).输出 \(\{b_{n-1}\}\) 以及对于每个 \(x\) 所应该取的 \(i,j\),或断言不可能.   \(n\le30\). \(\mathcal{Solution}\)   原来不是构造题啊.(悲   若 \(a\) 中有偶数 \(2k\),取一个…
\(\mathcal{Description}\)   Link.   给定 \(n,m,k\),求 \(x\in [1,n]\cap\mathbb N,y\in [1,m]\cap \mathbb N\),且最简分数 \(\frac{x}{y}\) 在 \(k\) 进制下是纯循环小数(包括整数)的 \((x,y)\) 数量.   \(n,m\le10^9\),\(k\le2\times10^3\). \(\mathcal{Solution}\)   当你举几个十进制的纯循环小数就不难发现规律了…