该文被密码保护。 阅读全文
posted @ 2020-08-10 21:07 Izayoi_Doyo 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-10 20:42 Izayoi_Doyo 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-06 17:19 Izayoi_Doyo 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-06 16:50 Izayoi_Doyo 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-05 22:26 Izayoi_Doyo 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-05 15:16 Izayoi_Doyo 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-05 15:07 Izayoi_Doyo 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-04 16:33 Izayoi_Doyo 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-04 16:05 Izayoi_Doyo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 分析: 我的好像和题解不大一样 先开一颗线段树维护贴着边缘的箱子,每一段区间维护一个$mn$表示能走过这段区间的最大列 left和right实际上是一个镜像翻转,打个标记就好了 对于加入和删除的箱子,暴力用一个二维数据结构维护,发现我们只关心列上区间的关系,就用空间比较小的主席树了 当要进行left 阅读全文
posted @ 2020-08-03 21:34 Izayoi_Doyo 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 分析: 树上排列计数不止一次遇到了,我们依然考虑DP 设$f_{i,j}$表示以$i$为根的子树下面的点,在排列中形成了$j$的连续段,这$j$个连续段的相对位置确定的贡献总和 合并依然是树上背包的方式合并,枚举已合并的部分$i$段,将要合并的子树$j$段,得到$k$段,所合并的根$u$便是合并位置 阅读全文
posted @ 2020-08-03 19:16 Izayoi_Doyo 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 分析: 整体思路是,没有被走到的点我们直接数学计算,走到的点暴力维护 考虑对每次探索操作维护二叉树,由于每个点在没有被删的情况下为自然生长,其出现时间就是它的深度,而被炸掉的点会在目前时间的下一刻长出来 我们在被炸掉的点上打上时间标记,表示这个点多久后才会长出来 每次向下探索时,维护路径上的时间差( 阅读全文
posted @ 2020-08-02 20:30 Izayoi_Doyo 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 分析: 很离谱的构造题 第一个点直接输出C条重边就可以了 第二个点增加$k$个点,每个点向终点连2条边 其实第二个点给了我们一些提示,让我们向二进制之类的方向思考问题 考虑构造一个像这样的环 我们算一下方案,其实可以枚举断掉那条边,两端各自沿着红蓝边走向根 答案是$20+21+21+22+2^3=1 阅读全文
posted @ 2020-08-02 20:21 Izayoi_Doyo 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 分析: 没挖掘出性质可以$O(n^2logn)$得到60分。。。 发现$1*n$的农田是一定划得出来的,所以答案最小为$2(max(W,H)+1)$ 之后我们发现如果要比这个答案大,农田一定过横向或者纵向的中线 假设过纵向中线(横向的同样处理) 每一次下边界向下拓展时,新加入的会对左右限制的点用线段 阅读全文
posted @ 2020-07-30 19:47 Izayoi_Doyo 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 分析: 考虑删除哪些不好做,我们考虑留下哪些 由于删除的是环上一段,那么留下的也是环上一段 首先已经相邻的不能算在其中了 假设有相邻的,我们以这个位置切开,得到许多合法的子串 假设其中一个子串长度为$L$ 我们考虑这个子串还能不能再删除得到一个新的长度$l$ 如果一个长度$l$无解,即在这个子串中$ 阅读全文
posted @ 2020-07-30 19:01 Izayoi_Doyo 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 分析: 考虑一条边某一侧有$A$个男生,$B$个女生,那么这条边的贡献为$min(A+B,2m-A-B)len$ 怎么快速算呢? 发现能放$O(nm)$过,直接暴力枚举$A+B$这种贡献的方案数就好了 预处理一下幂和组合数 (我没有预处理组合数然后被卡常了QAQ #include<cstdio> # 阅读全文
posted @ 2020-07-30 17:29 Izayoi_Doyo 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 分析: 首先我们从博弈入手,看看什么情况先手必胜 先考虑一条链的情况,假设链长为偶数,即存在中点,先手就可以抢占中点,后手无论怎么走,先手都可以走到其关于中点的对称点上 最后后手无法操作,先手必胜 当链长为奇数时,先手两个中点随便抢一个就可以胜利 换在树上,求出直径中点,非直径上的点可以转化为直径上 阅读全文
posted @ 2020-07-30 17:19 Izayoi_Doyo 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 分析: (为什么我这种准退役选手要学这种神仙东西啊2333 考场上直接暴力,暴力都拿不到分。。。 我们先考虑这样一个问题: n*m的格子上亮着一些灯,两人轮流进行如下操作: 选择一个矩形满足右下角的灯是亮的,将四个角的灯改变状态,无法操作者负 如果这个游戏是一维的,我们选一个亮着的灯的位置$n$和前 阅读全文
posted @ 2020-07-30 16:09 Izayoi_Doyo 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 分析: 如果我们知道了有哪些点需要访问,最短距离是多少呢 建出虚树,所有边权和为$Sum$,直径为$L$,那么答案为$2Sum-L$ 期望=总贡献/方案 方案肯定为$\binom$,我们开始算总贡献 先求$Sum$,考虑每条边会在多少种情况下做贡献,显然是其两端都有关键点的情况下 设其在树上所接的儿 阅读全文
posted @ 2020-07-29 15:15 Izayoi_Doyo 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 分析: 又被开除人籍了。。 首先我们要把行和列分开计算 假设$n$行中有$i$个被访问了奇数次,$m$列中有$j$个被访问了奇数次 那么最终的奇数点数可以计算为$(n-i)j+(m-j)i$ (然而这步我都没想到,7分暴力走人。。。 于是我们把行列分开处理做$q$次 我们现在只看行,列做同样处理 设 阅读全文
posted @ 2020-07-28 12:12 Izayoi_Doyo 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 分析: 遇到这种恶心绝对值加排列的问题,大概会往重新排序从小到大加入的方向去思考 先把值从小到大排序,一个一个加入 假设现在已经加入的值构成一些连续段,现在分类讨论: 加入一个数形成新的一段,那么它对答案的贡献系数为$-2$ 在一段的左右加一个数,它对答案不会有贡献 加入一个数让两段连在一起,那么它 阅读全文
posted @ 2020-07-28 11:41 Izayoi_Doyo 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 分析: 一加一减很烦,我们把函数按长度分奇偶来观察 发现各自都是一个上凸函数 (看上去就非常有道理,题解有证明) 这种上凸函数可以用分治维护,两个凸函数合并可以维护其差分序列,类似归并排序一样的合并 然后开始分类讨论,每一段区间维护四个凸包,分别是: 开头为正的奇数下标凸包(\(odd\)) 开头为 阅读全文
posted @ 2020-07-27 16:22 Izayoi_Doyo 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 分析: 我们发现每个人操作时,不管前面的人怎么挂,当前这个人的$d$为定值 那么我们可以尝试以某种特定的方案模拟整个过程,再通过一些变换求出概率 假设目前的最大距离为$d$,可以挂的空位置有$m$段,说明从这个人开始的后$m$个人都是这个$d$,他们的概率可以一起算 $m$段的长度有奇数和偶数,奇数 阅读全文
posted @ 2020-07-27 15:41 Izayoi_Doyo 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 分析: 神仙DP,又被开除人籍了 整个过程是LCT逆过程?(雾) 设状态$f_{i,j}$表示以$i$号点为根,构成一棵大小为$j$的二叉树变换为一条链的整棵子树的最大深度 画个图便于理解: 考虑如何转移,一个点$i$作为根的二叉树在中序遍历情况下,它的左子树全部节点会成为$i$的祖先,对$i$和子 阅读全文
posted @ 2020-07-25 16:53 Izayoi_Doyo 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 分析: 发现字符集大小只有8,时间限制是9s 对于每种字符$c$构建生成函数$f(x)=\sum_[S_i==c]xi$ 把$S_2$的生成函数翻转与$S_1$做卷积,得到的$[|S_2|-1,|S_1|-1]$的位置的值就是$S_1$中下标从$[0,|S1|-|S2|]$开始的字符相同数量 数据规 阅读全文
posted @ 2020-07-25 16:23 Izayoi_Doyo 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 分析: 题解看不懂,同机房究极巨佬给了另一种做法 直接开始化式子: \(Ans_m\) \(=\sum_{i=0}^{n}a_i\sum_{j=0}^{n}(-1)^j\binom{m}{j}\binom{n-m}{i-j}\) \(=\sum_{i=0}^{n}a_i[x^i]((1+x)^{n- 阅读全文
posted @ 2020-07-23 16:30 Izayoi_Doyo 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 分析: 先只考虑两种颜色,假设分别有$A,B$个,发现答案为$\binom{A+B}$ 转化为$AB$的网格上只能向右向下走,从左上角到右下角的方案数 变成三种,分别有$A,B,C$个,答案为$\binom{A+B+C}{A+B}\binom{A+B}$ 把网格变成$AB*C$三维的就好了 两堆积木 阅读全文
posted @ 2020-07-23 16:15 Izayoi_Doyo 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 分析: 倒过来思考,我们求某条直线的概率时,选择一个角度确定,那么选到做贡献的点的概率为下图着色面积与总面积之比: 着色面积可以先求半平面覆盖面积然后作差 半平面覆盖面积极角排序二分找到相交线段计算 然而角度也是不确定的,但是我们发现以角度为自变量,得到的概率函数是连续的 其实可以看做一个概率密度函 阅读全文
posted @ 2020-07-22 19:14 Izayoi_Doyo 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 分析: 首先是一个$O(n2)$的DP,设$f_{i,j,0/1}$表示做了前$i$个,用了$j$个$A$,最后一个是$A/B$的方案数 然后我们不看最后一位,发现$f_{i,j}$两个状态可以用$2*2$的转移矩阵DP 发现转移矩阵与$j$没有关系,把$j$去掉,维护$f_i=\sum_a_jxj 阅读全文
posted @ 2020-07-22 18:56 Izayoi_Doyo 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 分析: 什么神仙题,考场上暴力都不会写 (深深地明白了自己是个废物的事实) 我们转换一下统计方式,假设要查询的串为$P$,在前面加上一个串$Q$,在后面加上一个串$R$,得到的新串为$T$,与前面的串Q形成一个二元组$(T,Q)$ 答案即为本质不同的二元组$(T,Q)$个数,其中$T$为$S$的子串 阅读全文
posted @ 2020-07-22 18:22 Izayoi_Doyo 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 分析: 大佬博客膜了膜了 扑通扑通跪下来 #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #include<set> #include< 阅读全文
posted @ 2020-07-22 16:20 Izayoi_Doyo 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 分析: 首先$K+1$个位置的值才能确定一个次数为$K$的函数 所以如果$K\geq n$直接输出0就好了,相当于我们要处理的$K$范围只有$105$ 题解里面这个“两个序列相似的充要条件就是他们的特征序列相等”看不大懂 听了机房神仙的做法,NTT差分+KMP就能做 首先一个$K$次函数能算出来的连 阅读全文
posted @ 2020-07-21 15:59 Izayoi_Doyo 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 分析: 首先考虑$dp$,设$f_{i,j}$表示$A$用了前$i$个,$B$用了前$j$个的方案数 先给出式子: \(f_{i,j}=f_{i-1,j}+f_{i,j-1}-\sum_{A_{i-k...i}==B_{j-k...j}}f_{i-k-1,j-k-1}Cat_{k}\) 求和下面的条 阅读全文
posted @ 2020-07-21 15:38 Izayoi_Doyo 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 分析: 人傻了,神仙码农题写半天调半天 首先要看出每个点SG函数的规律,就是该点到其子树内最远点的距离 理性分析一下,画图看看发现很有道理( 如果根是确定的,那么SG函数就确定,树链剖分+线段树反转操作维护每个点的石头数的奇偶性计算贡献 换根让题目变难了很多 首先有个结论,对于$n$种根 阅读全文
posted @ 2020-07-18 19:45 Izayoi_Doyo 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 分析: 签到题想半天,人没了 将两个点集合并维护直径,两个点集分别的直径一共四个端点两两距离最大即为直径 区间点集合并,联想到线段树,每个区间两个值表示这个区间点集合并出的端点,简单维护 考虑颜色变化导致的点集内部插入删除 加入很好维护,删除不行 每种颜色动态开点线段树,依葫芦画瓢维护 阅读全文
posted @ 2020-07-18 16:28 Izayoi_Doyo 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 日常被开除人籍 通过顺子刻子数量的改变,准确找出每张牌的数量 直接膜拜大佬博客OrzOrz #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #inc 阅读全文
posted @ 2020-07-18 16:07 Izayoi_Doyo 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 两发询问出结果,又要感受人类智慧了 先第一次询问$2^{15}$,得到答案x,我们知道$P|2^{30}-x$ 如果$x=0$,那么$P=2$,偶质数唯一确定可以结束 否则$P$为奇质数,我们知道$\frac{2^{30}-x+1}{2}\equiv \frac{1}{2}(mo 阅读全文
posted @ 2020-07-17 17:41 Izayoi_Doyo 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 洛谷蓝题??? 看来又被开除人籍了 设每个盒子重量为$w$ 首先判断1号盒子里面是不是礼物 从后面随机抽大概30个盒子进行比较,如果有$w_1<w_x$,那么1号盒子里面必定是礼物,直接结束程序 如果全是$w_1\geq w_x$,那么我们可以认为1号盒子里面就是石头 由于礼物数 阅读全文
posted @ 2020-07-17 17:19 Izayoi_Doyo 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 读题目所给的距离的定义能够明白 设两字符串$A,B$的距离为$dis(A,B)$,最长公共子序列为$f(A,B)$,那么: \(dis(A,B)+f(A,B)=max(|A|,|B|)\) 这样我们能够用他的距离函数进行如下操作: 1、查询某一种字符的出现次数,可以构造全为某种字 阅读全文
posted @ 2020-07-17 17:05 Izayoi_Doyo 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 对于每个人直接算物品数无法优化,考虑每个物品对人的贡献 优先价值最高的物品,那么先把物品按价值从高到低排序,每件物品会让剩余钱数$\geq c$的人钱数减少$c$,答案$+1$ 考虑用数据结构维护这个过程,用平衡树解决,权值为钱数 每次把平衡树split成大于和不大于$c$的两份 阅读全文
posted @ 2020-07-15 21:47 Izayoi_Doyo 阅读(139) 评论(0) 推荐(0) 编辑