随笔分类 -  +题目来源:loj

摘要:#####题目大意 有一个有向图,这个有向图的生成方式是把一棵$n$个点的树的每条无向边重新定向。 每个点$i$的点权有$p_{i,1}$的概率为1,有$p_{i,2}$的概率为2,有$p_{i,3}$的概率为3。 取无限次点,每次取某个点的概率=(该点点权)/(总点权和)。 问:对于每条边,都满足 阅读全文
posted @ 2020-06-16 19:30 echo6342 阅读(277) 评论(0) 推荐(2)
摘要:#####题目大意 有一棵$n$个点有点权$w$(可能有重复)的二叉树。$m$次操作,操作种类如下: 1.给出点$x$,修改$x$的权值; 2.给出点$x$,交换它和它的子树内所有点的左右儿子; 3.给出点$x$,问从根出发是否可以用“当前点点权小于$w_x$就往右走,大于$w_x$就往左走,等于$ 阅读全文
posted @ 2020-06-16 19:05 echo6342 阅读(272) 评论(0) 推荐(1)
摘要:#####题目大意 有人用错误的树状数组维护长度为$n$的01串$a_1,...,a_n$的区间异或和。 错误的树状数组: void add(int x){for(;x;x-=lowbit(x))tr[x]^=1;return;} int ask(int x){int k=0;for(;x<=n;x 阅读全文
posted @ 2020-06-12 14:12 echo6342 阅读(246) 评论(0) 推荐(1)
摘要:#####题目大意 有一棵$n$个点的树,根为1号点,称它为“模板树”。 有一棵初始和模板树相同的树,称它为“当前树”。 对“当前树”有$m$次操作,每次操作给出两个数$x,y$表示将模板树中$x$及其子树复制下来并粘贴到模板树,该子树的根与点$y$连边,假设操作前“当前树”有$a$个点,“模板树” 阅读全文
posted @ 2020-06-12 07:47 echo6342 阅读(216) 评论(0) 推荐(1)
摘要:#####题目大意 $n$个数,对这些数进行$t\times q$次操作,操作有单点修改、全局加、全局乘、全局修改、单点询问、全局求和这几种。 $t\times q$次操作中,每次操作都是来自于给出的$q$次基本操作之一。输出所有询问操作的和模$107+19$。 \(n\leq 10^9;q\leq 阅读全文
posted @ 2020-06-10 18:50 echo6342 阅读(203) 评论(0) 推荐(0)
摘要:#####题目大意 有个2行n列的网格,c种颜色。 有些格子的颜色是固定的。 不能把相邻的格子染成同色,问剩下的格子的染色方案数模$10^9+9$。 \(n,c\leq 10^5;\) #####题解 “相邻不同色”让人想到可以把染完色的段的两个右(左)端点染上的颜色记在状态里进行dp。 发现对于一 阅读全文
posted @ 2020-06-10 17:16 echo6342 阅读(183) 评论(0) 推荐(0)
摘要:#####题目大意 有四类东西,每类东西分别有$a,b,c,d$个。 从中选出$n$个排成一排,问有多少种不同的合法排法。 一种方法合法当且仅当该方法中不存在连续的四个东西,它们的种类依次是第一、二、三、四种。称这四个东西是不合法的段。 两种方法不同当且仅当存在一个位置,两种方法中该位置上的东西种类 阅读全文
posted @ 2020-06-09 14:48 echo6342 阅读(132) 评论(0) 推荐(0)
摘要:#####题目大意 有一个长度为$n$的字符串$s_1,...,s_n$。 用它生成的$n$个长度为$n-1$的串,$i$号串是$s_1,...,s_,s_{i+1},...,s_n$。 将这$n$个串按字典序排序,字典序相同的编号小的排前面,输出编号的顺序。 \(n\leq 10^6;\) ### 阅读全文
posted @ 2020-06-08 20:39 echo6342 阅读(172) 评论(0) 推荐(0)
摘要:#####题目大意 有一个$n*n$的矩阵 \(a_{1,1},...,a_{1,n}\) \(a_{2,1},...,a_{2,n}\) \(...\) \(a_{n,1},...,a_{n,n}\) 求它所有子矩阵的矩阵内所有数的与和之和、所有子矩阵的矩阵内所有数的或和之和。 \(n\leq 1 阅读全文
posted @ 2020-06-08 19:37 echo6342 阅读(147) 评论(0) 推荐(0)
摘要:#####题目大意 给一个小写字母串$s$,问有多少个长度为$m$的小写字母串满足无限重复后存在一个子串的字典序小于$s$。 \(m\leq 2000;n\leq 2000;\) #####题解 “给出一些串,求以(或不以)这些串为子串的满足某些条件的串的数量”这类问题,通常是在AC自动机上dp。 阅读全文
posted @ 2020-06-04 21:57 echo6342 阅读(174) 评论(0) 推荐(0)
摘要:#####题目大意 有$n$个点的树,给出$m$条关键路径。 问有多少对点满足连接它们的简单路径是至少1条关键路径的一部分。 \(n,m\leq 10^5\) #####题解 可以对于每个点,求出和它在同一条路径上的点有多少个。 也就是所有过它的关键路径的端点的虚树除它以外有多少个点。 虚树中的边数 阅读全文
posted @ 2020-06-03 21:36 echo6342 阅读(198) 评论(0) 推荐(0)
摘要:#####题目大意 有一个无限长的01串$T$满足: n=0时,\(T_n=0\);n为偶数时,\(T_n=T_{\frac{n}{2}}\);n为奇数时,\(T_n=1-T_{\frac{n-1}{2}}\)。 该串的前几位:01101001100101101001011001101001 多组询 阅读全文
posted @ 2020-06-02 22:10 echo6342 阅读(191) 评论(0) 推荐(0)
摘要:#####题目大意 有个$n$个点$m$条边的图。 要找到一个最小度数为$p$的子图和$q$个互不相连的点,使$p\geq\lfloor\frac{q+1}\rfloor$且$q\geq\lfloor\frac{p+1}\rfloor$。 \(n\leq 10^4;m\leq 10^5;数据组数\l 阅读全文
posted @ 2020-06-02 21:27 echo6342 阅读(146) 评论(0) 推荐(0)
摘要:传送门-> 把年份离散化后记区间最大值,特判区间内有位置年份的情况。 #include<algorithm> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> #include<i 阅读全文
posted @ 2020-05-26 21:04 echo6342 阅读(199) 评论(0) 推荐(0)
摘要:传送门-> 发现两次取牌取走的区间不会是相交且不包含的;先取走一段,再以这段前的牌为左端点、以这段后的牌为右端点取一次的情况,相当于只取后一次。 所以这题相当于从一列牌中取走互不相交的几段,且每段首尾的牌花色相同。 就可以设dp[i]表示第一张牌到第i张牌的取出的和最大是多少。转移时需要枚举第1到第 阅读全文
posted @ 2020-05-24 22:30 echo6342 阅读(180) 评论(0) 推荐(0)
摘要:传送门-> 维护海拔的差分数组。 h[i]表示海拔的差分数组,dt[i]表示温度的差分数组。 #include<algorithm> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime 阅读全文
posted @ 2020-05-23 21:13 echo6342 阅读(145) 评论(0) 推荐(0)
摘要:传送门-> 设dp[i][j]表示考虑后i个人,栈里放了j个待匹配的括号时,期望匹配上多少括号。 #include<algorithm> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<cti 阅读全文
posted @ 2020-05-22 22:31 echo6342 阅读(165) 评论(0) 推荐(0)
摘要:题目大意 有一棵有$n$($n\leq10^5$)个点的树,有点权$d_i$、边权$c_i$,有$m$($m\leq10^5$)次操作。 每次操作给定$x,y(y\in[ 1000,1000])$,将点$x$的点权+y,要找到一个点,使所有点的 点权乘到这个点的距离 之和最小,输出最小的和。 题解 阅读全文
posted @ 2020-05-21 20:56 echo6342 阅读(272) 评论(0) 推荐(0)
摘要:题意 有一棵$n$($n\leq 10^5$)个点的树,$m$($m\leq 2\times 10^5$)个操作。操作有三种:1.给出$u,v,k$,表示加入一条从$u$到$v$权值为$k$的路径;2.给出$k$,表示删除$k$时刻加入的路径;3.给出$x$,表示询问不经过点$x$的路径的权值最大值 阅读全文
posted @ 2019-10-06 09:19 echo6342 阅读(189) 评论(0) 推荐(0)
摘要:题目大意 2 SAT,其中有$d$($d\leq 8$)个点是$3 SAT$。 题解 枚举$d$个点不取三个中(假设三个为$a,b,c$)的哪一个,然后整体变成做$2 SAT$。 注意枚举完不选$a$(即选$b或c$)和不选$b$(即选$a或c$)后,不选$c$(即选$a或b$)已经包含在前两种中, 阅读全文
posted @ 2019-10-05 08:41 echo6342 阅读(218) 评论(0) 推荐(0)