随笔分类 -  其它--乱搞与思维

摘要:"传送门" 先考虑树,树是一个二分图。 看到是二分图并且每次是对两边的同色的点反色可以想到转化:让奇数层的点为黑,偶数为白,变成每次可以交换两个点的颜色。 把黑看成 $ 1$,白看成 $1$,那么求一个子树和,考虑每一条边的贡献可以得到 $ans=\sum_{i=1}^{n} |sum_i|$ 如果 阅读全文
posted @ 2019-03-02 16:44 Cyhlnj 阅读(260) 评论(0) 推荐(0)
摘要:"传送门" 乱搞。 可以发现如果起点在左边界,终点在右边界的时候上下走的点一定是连续的(可能吧) 那么可以设 $f_{i,j,0/1}$ 表示当前上面到 $i$,下面到 $j$,当前在上面/下面的最短距离。 如果起点不在左边界,终点不在右边界,那么就乱搞。 对于左边,如果向左的时候下去了再上来一定不 阅读全文
posted @ 2019-02-28 11:51 Cyhlnj 阅读(483) 评论(0) 推荐(0)
摘要:"传送门" 首先如果一开始就找到了一个叶子,那么暴力去递归找它的父亲,每次随机一个方向(除了已知的儿子)走深度次,如果走到了一个叶子就不是这个方向 (设根的深度为 $1$)这样子最后到达深度为 $3$ 的点需要花费 $11$ 次 注意到此时只有与该点距离不超过 $2$ 的点可能是根,这样的没有询问过 阅读全文
posted @ 2019-02-15 14:32 Cyhlnj 阅读(283) 评论(0) 推荐(0)
摘要:"传送门" 考虑转化成图论问题,$i$ 向 $p_i$ 连边,那么合法方案一定是形成了若干个简单环或自环 考虑一个环内的情况: 1. 如果 $a_i=p_i$,那么 $i$ 向 $a_i$ 连边的图和原图相比不变 2. 如果 $a_i=p_{p_i}$, a. 环长为奇数且 $ 1$,那么 $i$ 阅读全文
posted @ 2019-02-09 19:32 Cyhlnj 阅读(361) 评论(0) 推荐(0)
摘要:"传送门" 好神啊 直接考虑一棵 $n+m$ 个叶子的 $k$ 叉树,根结点权值为 $\sum_{i\in m}(\frac{1}{k})^{deep_i}$ 对于一个 $deep$ 的序列 如果 $\sum_{i\in m}(\frac{1}{k})^{deep_i}+\sum_{i\in n}( 阅读全文
posted @ 2019-02-09 16:41 Cyhlnj 阅读(229) 评论(0) 推荐(1)
摘要:"传送门" 设 $f_{i,j}$ 表示兔子 $i$ 在当前 $j$ 轮的期望位置 对于一次操作 $f_{i,j+1}=\frac{1}{2}(2f_{i 1,j} f_{i,j})+\frac{1}{2}(2f_{i+1,j} f_{i,j})=f_{i 1,j}+f_{i+1,j} f_{i,j 阅读全文
posted @ 2019-02-08 11:00 Cyhlnj 阅读(112) 评论(0) 推荐(0)
摘要:"传送门" ~~搬题解QwQ~~ 首先最大值一定为 $1$,直接扫一遍两两比较 $O(2N)$ 求出最大值 设最大值位置为 $a$,对于任意两个没有确定的位置 $x,y$ 询问 $[a,x+y]$,如果 $a\le x+y$ 那么 $x,y$ 的最大值为 $1$,否则 $x,y$ 最小值为 $0$ 阅读全文
posted @ 2019-02-02 09:34 Cyhlnj 阅读(1009) 评论(0) 推荐(0)
摘要:"传送门" 考虑用 $segment~tree~beats$ 那一套理论,维护区间最小值 $mn$ 和严格次小值 $se$ 那么可以直接 $mlog^2n$ 维护前三个操作 考虑维护历史最小值,先维护历史最小标记 写了写发现 $max$ 那个修改不好操作 对于 $max$ 操作来说,只会在 $mn 阅读全文
posted @ 2019-01-10 18:52 Cyhlnj 阅读(383) 评论(0) 推荐(0)
摘要:"传送门" 二分答案 $k$,考虑如何 $hash$ 使得做起来方便 把每个点挂在 $k+1$ 级祖先上,考虑在祖先上删除 这道题巧妙在于其可以对于 $dfs$ 序/括号序列 $hash$ 这样在 $k+1$ 级祖先上暴力删除就好了 阅读全文
posted @ 2018-12-31 10:52 Cyhlnj 阅读(341) 评论(0) 推荐(1)
摘要:"传送门" Sol 首先 $n$ 为奇数肯定无解 当 $n$ 为偶数时 老套路,把串 $S$ 变成 $S_1S_nS_2S_{n 1}$,设为 $T$ 那么满足条件的 $S$ 的划分相当于 $T$ 中的划分,使得每一段为长度为偶数的回文串 下面就只考虑 $T$ 的划分 设 $f_i$ 表示前 $i$ 阅读全文
posted @ 2018-12-21 18:48 Cyhlnj 阅读(503) 评论(0) 推荐(1)
摘要:"传送门" Sol 自己还是太 $naive$ 了,上来就构造多项式和通配符直接匹配,然后遇到 $border$ 相交的时候就 $gg$ 了 ~~神仙的游戏蒟蒻还是玩不来~~ 一个小小的性质: 存在长度为 $len$ 的 $border$ 的充要条件是 $\forall i,s_i=s_{n len 阅读全文
posted @ 2018-12-01 22:44 Cyhlnj 阅读(253) 评论(0) 推荐(0)
摘要:sto "$lxl$" orz 考虑莫队,每次移动端点,我们都要询问区间内和当前数字异或有 $k$ 个 $1$ 的数字个数 询问 $[l,r]$ 可以再次离线,拆成询问 $[1,l 1]$ 和 $[l,r]$ 然后考虑莫队要移动 $[l,r]$ 的 $l$ 到 $p$ 假设 $p l$ 那么相当于每 阅读全文
posted @ 2018-11-02 14:18 Cyhlnj 阅读(443) 评论(0) 推荐(0)
摘要:前面的话 这道题显然就是最长反链 根据 $Dilworth$ 定理:最小链覆盖数 = 最长反链长度 然后传递闭包跑匹配即可 $luogu$交了一下,$WA$ 了 $QAQ$ 本来各种 $OJ$ 上都是只要求最长反链,不需要构造方案 ~~虽然原题要构造~~ 然后 $luogu$ 上的同志写了个 $SP 阅读全文
posted @ 2018-08-01 13:32 Cyhlnj 阅读(148) 评论(0) 推荐(0)
摘要:题意 给定一个字符串 $S$ 求所有的 $S[i,n i+1]$ 的 $border$ 长度(最长的前缀等于后缀),要求长度是奇数 $n\le 10^6$ Sol 首先发现每次求的串都是原串去掉前后 $i 1$ 位得到的串 一个套路,把串翻折,又因为 $border$ 长度可能大于一半,所以我们把串 阅读全文
posted @ 2018-06-08 07:50 Cyhlnj 阅读(369) 评论(0) 推荐(0)
摘要:题意 有两个基因串$S$和$T$,他们只包含$AGCT$四种字符。 现在你要找出$T$在$S$中出现了几次。 有一个门限值$k≥0$ 只要$T[i]$和$S[j k]$到$S[j+k]$有相同的,就视为匹配 $(1≤|T|≤|S|≤200000, 0≤k≤200000)$ Sol 套路 这类字符串的 阅读全文
posted @ 2018-04-13 14:28 Cyhlnj 阅读(115) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol ~~我太菜了,有点思维的题根本不会~~ $sto \ HJT$ 考虑一个$1$操作,相当于是$l 1$和$l$处长节点的位置不同了 那么在$l 1$处长,然后接在$l$就好了 $r$和$r+1$同理 考虑怎么来做 虚点的思想 维护一个全局的树,上面有虚点和实点 每次$0$操 阅读全文
posted @ 2018-04-09 21:49 Cyhlnj 阅读(128) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 把每个节点都加上$2^n 1$ 那么非叶节点的编号就是$1$到$2^n 1$ 就可以把它当成是一棵线段树了 然后看收费的方法 意思就是$A$多就收$A$的 否则收$B$的费用 可以处理出每个叶节点经过某个$LCA$的费用和 那么枚举这条链上的非叶节点的$A$是否大于$B$就 阅读全文
posted @ 2018-04-04 08:16 Cyhlnj 阅读(136) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 左右可以分开搞 然后就是要形成一个类似梳子的东西 设$f[0/1][i][j]$ $0$凹,$1$凸,$i$为行,可以滚一维,$j$为该行长度 $f[0][i][j] = min(f[0][i 1][j], f[1][i 1][k]) + j a[i]; k j$ $f[1 阅读全文
posted @ 2018-04-03 20:35 Cyhlnj 阅读(368) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 我们可以考虑每种$rank$的点$u$会被哪些点$v$感兴趣 如果$dis[u][v] define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using namespace 阅读全文
posted @ 2018-04-03 09:26 Cyhlnj 阅读(131) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 和这道题很像 "Luogu跳楼机" 找到最小的那个$a[i]$设为$mn$ $SPFA$算出得到每个值为$i$的是否能凑出来,设为$f[i]$ 实际上$i$变成$i\%mn$,所有的这一类都可以通过$mn$这个桥梁得到 那么直接求到$i\%mn$就好了 最后统计$[0, B 阅读全文
posted @ 2018-04-02 14:56 Cyhlnj 阅读(154) 评论(0) 推荐(0)