Processing math: 100%

09 2018 档案

摘要:des 长度为 n 的序列 A,从中删去恰好 k 个元素(右边的元素往左边移动),记 cnt 为新 序列中 Ai=i 的元素个数(即权值与下标相同的元素的个数)。求 cnt 的最大值。 sol n2 dp fi 表示只保留 i 个的答案 转移 阅读全文
posted @ 2018-09-29 17:57 xayata 阅读(202) 评论(2) 推荐(0) 编辑
摘要:des 给定 n 的全排列 + 一个值域属于 [1,n] 的元素构成长度为 n+1 的序列 问长度为 i 的本质不同的子序列的个数 sol 小学计数题 记 p+1,q1 的元素相同 从起点到第一个相同元素长度 p 从终点到第二个相同元素长度 q 对于 阅读全文
posted @ 2018-09-29 11:43 xayata 阅读(166) 评论(0) 推荐(0) 编辑
摘要:MST 模板题 include include include include include include using namespace std; const int N = 5e5 + 10; define LL long long define gc getchar() define Re 阅读全文
posted @ 2018-09-28 18:57 xayata 阅读(146) 评论(0) 推荐(0) 编辑
摘要:des 存在一个长度为 n 的数字 s, 一个素数 P m 次询问一段区间 [l,r] 内的子串构成的数是 P 的倍数 sol 对于一次询问 [l,r] 答案为 $$\sum_{i=l}^{r} \sum_{j=i}^{r}[(\sum_{k=i}^{j} s 阅读全文
posted @ 2018-09-28 17:04 xayata 阅读(174) 评论(0) 推荐(0) 编辑
摘要:韦达定理 韦达定理说明了一元二次方程中根和系数之间的关系。 [1] 法国数学家弗朗索瓦·韦达于1615年在著作《论方程的识别与订正》中建立了方程根与系数的关系,提出了这条定理。 [2] 由于韦达最早发现代数方程的根与系数之间有这种关系,人们把这个关系称为韦达定理。 $$ax^2 + bx + c = 阅读全文
posted @ 2018-09-28 10:00 xayata 阅读(156) 评论(0) 推荐(0) 编辑
摘要:include include include include typedef long long ll; using std::min; const int N = 5000 + 15; int n,m; ll p; ll dp[N][N], sum[N][N]; int main() { sca 阅读全文
posted @ 2018-09-27 21:20 xayata 阅读(136) 评论(0) 推荐(0) 编辑
摘要:des 存在参数数组 aa 升序排列 $$a_1 include include include include include using namespace std; const int N = 1e5 + 10; define gc getchar() define Rep(i, 阅读全文
posted @ 2018-09-27 19:29 xayata 阅读(1677) 评论(0) 推荐(0) 编辑
摘要:des 存在 1000×1000 的矩阵,保证元素互不相同,2e5 次询问,每次询 问给定 x,y 问存在多少点 (a,b) 满足该元素是 a 行的 x 大, b 列的 y 大。 sol 这数据范围给的不敢写暴力啊,然而这 T1 就是暴力啊 阅读全文
posted @ 2018-09-27 19:12 xayata 阅读(195) 评论(0) 推荐(0) 编辑
摘要:des 给定长度为 n 的数组,要求翻转一段区间 [l,r] 使其升序排列。 要求 rl+1=mid 的数放到右边,递归下去。 把 =mid 的数看做 1, 就相当于 0/1 序列排 序,类似归并排序,每次把左右两部分排好序,然后将其合并,对于 $ 阅读全文
posted @ 2018-09-26 17:13 xayata 阅读(145) 评论(0) 推荐(0) 编辑
摘要:des 给定升序数组 A,B 对于任意两个集合 a,b 分别是 A,B 的子集,总价值为较小的集合的和, 总代价为 (|a|+|b|)×w 最大化的 总价值 总代价 sol 显然,在升序并且每个元素的代价都相同的条件下集合 a 一定是集合 A 阅读全文
posted @ 2018-09-26 11:24 xayata 阅读(182) 评论(0) 推荐(0) 编辑
摘要:sol 状态 fi,dis1,dis2,dis3,dis4 表示到了第 i 层,其中 dis1 表示第一根柱子剩下的最靠上的横木到当前 i 层的距离,以此类推。 显然后四维的范围 [0,h] 枚举这一层所留下的横木是在哪一个梯子上,对应的 $ 阅读全文
posted @ 2018-09-26 10:19 xayata 阅读(157) 评论(0) 推荐(0) 编辑
摘要:des 给出长度为 n 的序列,全局变量 tm 次询问,询问区间 [l,r] 内出现次数为 t 的数的个数 sol 弱化问题:求区间 [l,r] 内只出现一次的数的个数 对于一个右端点 r,从 r 向左扫 每次遇到新出现的字符就对该点的点值 +1, 每第 阅读全文
posted @ 2018-09-25 19:30 xayata 阅读(161) 评论(0) 推荐(0) 编辑
摘要:des 二维平面上存在 m 个点,每个点会对该点的 8 个方向上的最近的点产生影响 问每个点会被影响多少次 sol 过每个点会产生 4 条线段 保存每条线段的斜率与截距 从平面的左上方向右下方扫描 判断每个点产生的 4 个斜率与截距是否存在 在遍历中更新该方向上的最后一次的斜 阅读全文
posted @ 2018-09-25 10:04 xayata 阅读(177) 评论(0) 推荐(0) 编辑
摘要:D1 T1l des: 给出一棵树,判断树上两条路径是否相交 sol: 判断其中一条路径的两个端点以及两端点的 lca 是否存在于另一条链上 由于这是一棵树,任一点为根后这样判断一定是可行的,不存在两条链是一个 × 的形态 判断点是否在树上的一条路径上的时间复杂度为 $O( 阅读全文
posted @ 2018-09-22 22:01 xayata 阅读(218) 评论(0) 推荐(0) 编辑
摘要:设人数为 n,构造 (n+1)×(n+1) 的矩阵 得花生:将改行的最后一列元素 +1 \begin{gather}\begin{bmatrix}1 & 0 & 0 & 1 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 阅读全文
posted @ 2018-09-20 21:32 xayata 阅读(250) 评论(0) 推荐(0) 编辑
摘要:fi,j,a,b 表示当前一共有 i 人排队, j 名男生,男生数目 女生数目为 a, 女生数目 男生数目为 ba,b=0 转移显然 include const int N = 160, Mod = 12345678; int f[N n m k; f[0 阅读全文
posted @ 2018-09-20 14:36 xayata 阅读(110) 评论(1) 推荐(0) 编辑
摘要:hnoi 2016 标签:题解 莫队 考虑左端点左移以及右端点右移产生的贡献 这样就可以由 [l,r] 转移到另外的 4 个区间 fl,r 表示右端点在 r, 左端点在 [l,r] 内的答案,这个可以压掉一维 prei 表示 i 前面第一个比 $a_{i 阅读全文
posted @ 2018-09-20 09:34 xayata 阅读(141) 评论(1) 推荐(0) 编辑
摘要:前缀和 + rmq include const int N = 5e5 + 10; int Pow[30], Log[N]; int n, m; int a[N], sum[N]; int f[N][30]; int main() { std:: cin n m; for(int i = 1; i 阅读全文
posted @ 2018-09-19 10:44 xayata 阅读(99) 评论(0) 推荐(0) 编辑
摘要:抽离题意 求删除一条树边和一条非树边后将图分成不连通的两部分的方案数 对于一棵树,再加入一条边就会产生环。若只有一个环,说明只加入了一条非树边 (x, y),记 lca 为 l, 那么 对于任意一条 (x, l) and (y, l) 上的树边,都会产生 1 的贡献,也就是说若一条树边可以产生 1 阅读全文
posted @ 2018-09-19 09:07 xayata 阅读(142) 评论(0) 推荐(0) 编辑
摘要:最小瓶颈路 加强版 重构树 最小生成树在合并 (x, y) 时,新建节点 z,link(x, z), link(y, z), 新建节点的权值为 w_{x,y}, 这样的 话任意两点的 answer 为新树上两点 lca 的权值,由于询问次数非常多,显然不可以 logn 求 lca。这里利用 RMQ 阅读全文
posted @ 2018-09-19 09:05 xayata 阅读(142) 评论(0) 推荐(0) 编辑
摘要:最小瓶颈路 做最小生成树是进行特判即可 时间复杂度 n k include const int N = 1010, M = 1e5 + 10; struct Node { int u, v, w; bool operator n m k; for(int i = 1; i E[i].u E[i].v 阅读全文
posted @ 2018-09-19 09:04 xayata 阅读(189) 评论(0) 推荐(0) 编辑
摘要:给出两个长度为 n 的数组 a,b对于任意的 ai+bj, 求第 k 大 不妨设 ai<ai+1,bi<bi+1 对于任意的 ai+bj, 可以得到这样的 n2 个数 $$\begin{matrix}a_1 + b 阅读全文
posted @ 2018-09-17 20:53 xayata 阅读(333) 评论(0) 推荐(0) 编辑
摘要:cf 467 C 从序列中选出 k 段连续的 m 个数 最大化总和 fi,j 表示前 i 个位置中选出了 j 段 转移显然 include const int N = 5010; long long f[N][N]; int n, m, k; long long Sum[ 阅读全文
posted @ 2018-09-17 19:44 xayata 阅读(135) 评论(0) 推荐(0) 编辑
摘要:![](https://img2018.cnblogs.com/blog/1268025/201809/1268025-20180917174111010-697525460.png) 阅读全文
posted @ 2018-09-17 17:41 xayata 阅读(77) 评论(0) 推荐(0) 编辑
摘要:T1 给出一个 n 长的 01 串; 每次操作可以将一个 0 转化为 1,或者反向操作; 要求最少能使所有 01 前面的操作数; solve 预处理关于 1 的前缀和 枚举 0,1 的交界点进行判断 阅读全文
posted @ 2018-09-14 18:01 xayata 阅读(110) 评论(0) 推荐(0) 编辑
摘要:题意 存在一棵树,每次询问 l,r,zri=ldeep(lca(i,z)) 考虑 lca 的实质:两点到根的路径的交集中深度最大的点 其中一点到根的路径上经过的存在于另一点到根的路径上的点一定存在于 lca 到根的路径上 这样的话,对 $[l, 阅读全文
posted @ 2018-09-14 10:05 xayata 阅读(106) 评论(0) 推荐(0) 编辑
摘要:noip2017列队 resolve 标签:题解 nm 的矩阵,每个元素 (i,j) 的标号为 (i1)m+j, 每次给出 (x,y), 表示将查询此时处在 xy 列元素的标号,并且删除此元素,接下来 x 行, y 列以后的元素左移,m 列,$ 阅读全文
posted @ 2018-09-12 19:52 xayata 阅读(130) 评论(0) 推荐(0) 编辑
摘要:最短路 + 记忆化 记忆化搜索更容易实现 include include include include include include using namespace std; const int N = 1e5 + 10, M = 2e5 + 10; const int oo = (1 '9') 阅读全文
posted @ 2018-09-12 15:22 xayata 阅读(133) 评论(0) 推荐(0) 编辑
摘要:最短路计数 阅读全文
posted @ 2018-09-12 15:15 xayata 阅读(217) 评论(0) 推荐(0) 编辑
摘要:# 标签(空格分隔): 解题报告 ## 六校联考 A 给出 n 个数 ai,对于每个数求其他有多少数是该数的倍数n<=100000,ai<=1000000 Solve1:对于每个数枚举约数,那么对每个数答案的贡献就是约数出现的次数出现的次数可以预处理时间复杂度 $O(na_ 阅读全文
posted @ 2018-09-11 15:09 xayata 阅读(182) 评论(0) 推荐(0) 编辑
摘要:同 bzoj3694 需要先求出最短路树 阅读全文
posted @ 2018-09-09 20:06 xayata 阅读(145) 评论(0) 推荐(0) 编辑
摘要:树状数组套权值线段树 阅读全文
posted @ 2018-09-06 20:17 xayata 阅读(141) 评论(0) 推荐(0) 编辑
摘要:从若干个数中选出最大的任意两数取模之后的结果 严格次大值 对于此题 首先缩点 然后拓扑排序 维护到达每个点的最大值与严格次大值 感觉思路与代码都OK啊 then.... 阅读全文
posted @ 2018-09-05 20:39 xayata 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1640题意:一张无向图在最小化最大边后求最大边权和 Slove:sort 最小生成树倒叙最大生成树 1649由于 1 - n 之间一定存在一种直接相连的道路判断哪种直接相连跑另外一种的最短路 1535图是树的充要条件m=n1 && 图联通由于题目无自环所以不存在二元环并且若 $m > 阅读全文
posted @ 2018-09-05 14:29 xayata 阅读(115) 评论(0) 推荐(0) 编辑
摘要:主席树 阅读全文
posted @ 2018-09-04 21:38 xayata 阅读(120) 评论(0) 推荐(0) 编辑
摘要:动态区间 k 大主席树 + 树状数组树状数组的每个点对应一颗线段树首先将所有点加入数据结构 枚举 x code: for(int i = x; i <= n; i += Lowbit(i)) Poi_G(root[i], 1, Length, k, val);区间修改时将所有的后缀树的相应位置 阅读全文
posted @ 2018-09-04 11:31 xayata 阅读(171) 评论(0) 推荐(0) 编辑
摘要:1459 双限制最短路 1212 MST 阅读全文
posted @ 2018-09-03 19:56 xayata 阅读(181) 评论(0) 推荐(0) 编辑
摘要:对于第 i 天的询问前 ic1 天都会影响答案主席树维护 阅读全文
posted @ 2018-09-03 15:45 xayata 阅读(110) 评论(0) 推荐(0) 编辑
摘要:题意: n 个数 ai, 两种询问 1,l,r 查询 [l,r] 的和 2,l,r,x 将区间 [l,r] 所有数异或 x 建立 30 课线段树 第 i 颗线段树维护所有 a 二进制的第 i 为上的数字 0,1 异或操作分别以 x 阅读全文
posted @ 2018-09-02 19:07 xayata 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1792 模拟,转化为二进制后逐位比较 1819 线段树维护区间加 维护每个数加了多少 每次弹出栈顶元素后栈顶位置注意清空 1792 1819 阅读全文
posted @ 2018-09-02 18:55 xayata 阅读(151) 评论(0) 推荐(0) 编辑
摘要:线性筛 + 递推 阅读全文
posted @ 2018-09-02 10:57 xayata 阅读(94) 评论(0) 推荐(0) 编辑
摘要:按区间长度降序排序维护区间指针 [l, r],第 l ~ r 条线段 表示当前区间可以满足条件那么 r 后移一定不是更优的因此 l 前移,使得 r 后移过程中取最小值更新 answer 阅读全文
posted @ 2018-09-01 19:31 xayata 阅读(130) 评论(0) 推荐(0) 编辑
摘要:直接向原树加子树是不可能的考虑重新建立这样一颗树,我们称之为 S 树 将每次需要添加的子树看做一个点,称之为 S 点 新建的树就是由这些点构成的,那么树的大小是合理的 初始节点为整棵原树由于添加的子树的节点的编号一定是连续的一段区间 树上的每个节点维护 l, r, rt分别表示 左端点, 右端点, 阅读全文
posted @ 2018-09-01 14:53 xayata 阅读(146) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示