随笔分类 -  +题目来源:洛谷

摘要:#####题目大意 有一个有向图,这个有向图的生成方式是把一棵$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$的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)
摘要:#####题目大意 有一个$n$个点$m$条边的有边权的连通无向图,其中有一条边是被指定的。 可以进行的操作是选一条边,把除它以外的边边权-1。 问至少操作多少次,使被指定的边一定会在这张图的最小生成树上。 \(n\leq 500;m\leq800;边权\leq10^6;\) #####题解 在进行 阅读全文
posted @ 2020-05-28 22:50 echo6342 阅读(143) 评论(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)
摘要:#####题目大意 有$n$个数$a_1,...,a_n$,不改变顺序,把它们划分成若干段。 给定参数$L,P$,定义一种划分方案的花费是:每一段的$|(段内的数的和)+(段内有几个数)-L-1|P$之和。 求最小花费的划分方案,若不存在花费不超过$10{18}$的方案则输出无解。$t$组数据。 \ 阅读全文
posted @ 2020-05-25 22:42 echo6342 阅读(170) 评论(0) 推荐(0)
摘要:题目大意 有$n$个数$a_1,...,a_n$,$m$次操作。 操作有两种: 1.给出$l,r$,将$a_l,...,a_r$升序排序; 2.给出$l,r$,将$a_l,...,a_r$降序排序。 所有操作结束后,给出$q$,问$a_q$。 $n,m\leq 10^5$。 题解 给一个01序列排序 阅读全文
posted @ 2020-05-21 21:18 echo6342 阅读(127) 评论(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$个数的排列$a_1,...,a_n$。 有$m$次操作,每次删一个数,问删完数后逆序对的个数。 $n\leq10^5;m\leq50000;$ 题解 先算出一开始有多少逆序对。 分块,每删掉一个数,减去和它有关的逆序对。块里暴力扫,块外对每个块算。 代码 一些感想 我当初为啥会挖这个 阅读全文
posted @ 2020-05-19 22:41 echo6342 阅读(128) 评论(0) 推荐(0)
摘要:题目大意 有$n$个位置,一开始每个位置上都放着一个东西。每个位置上最多放一个东西。 有$m$个操作,分为以下三类: 1.给定$l,r$,将位置$l$到位置$r$的所有东西都拿走并扔掉。 2.给定$l_0,r_0,l_1,r_1$,将位置$l_0$到位置$r_0$的所有东西都拿出来,用来填位置$l_ 阅读全文
posted @ 2020-04-09 08:44 echo6342 阅读(252) 评论(2) 推荐(0)
摘要:题意 有$n$($n\leq 5000$)个平行于x轴或平行于y轴的线段。求这些线段围成了多少个长方形。由多个长方形拼成的也算。 题解 考虑暴力的做法:先分别计算每条横着的线与哪些竖着的线有交点,再枚举两条横着的线,求与它们都有交点的线的个数,在这些线中选两条和这两条横着的线拼成长方形。 发现与同一 阅读全文
posted @ 2019-10-21 20:32 echo6342 阅读(149) 评论(0) 推荐(0)