题解
D_Bamboo_
我不懒,只是不知道填什么
展开
-
CF161C Abracadabra 分治
链接题意给定一个字符串的构造方式:首先只有一个字符串 a ,然后赋值这个字符串串联在后面,并在中间插入一个下一个字符。aabaabacabaabacabcdabacaba…总共26个小写英文加上10个数字,规定数字比字母大,即0=‘z’+1,1=‘z’+2 …给定l1 , r1 , l2 , r2 两个该字符串的子串,求最长公共子串长度。题解首先很容易发现,原字符串是回文串,且长度为2 ^ k - 1,k为字符个数,中间的字符唯一。根据中间的字符进行求解,原问题是在长度为2 ^ k -原创 2020-09-04 12:02:31 · 279 阅读 · 0 评论 -
2020年牛客算法入门课练习赛1补题
涉及:大量数据的第k小,几何斜率,圆形尺取,离散化,差分约束,前缀和,模拟。A 第K小数题意给n个数,求第k小的元素。(n<=5e6)思路直接sort超时。可以利用快排的思想,每次选一个基准元素,把小的元素放左边,大的元素放右边,如果左边的元素个数>=k,那么只需要从左边找第k小,右边就可以不管了;如果这个基准正好是第k小的位置,那就直接输出这个数;否则第k小就在右边,从右边找第(k-左边元素个数)小就可以了,左边的可以直接放弃,不需要进行排序。时间复杂度O(logn)。#in原创 2020-05-28 22:22:30 · 655 阅读 · 0 评论 -
洛谷P4949 最短距离
洛谷P4949 最短距离给出一个 n 个点 n 条边的无向连通图。你需要支持两种操作:修改 第 x 条边的长度为 y ;查询 点 x 到点 y 的最短距离。共有 m 次操作。思路n个点n条边的无向连通图(简单图),如果少一条边就是形成一棵树,就是一道LCA题,这题多了一条边,就要用相应的方法处理这条边。考虑剔除的边是(uu,vv)(uu,vv),权值为w,那么 (u,v) 的最短距...原创 2019-12-03 20:56:36 · 460 阅读 · 0 评论 -
P4315 月下“毛景树” 边权改点权问题
洛谷P4315//Change k w:将第k条树枝上毛毛果的个数改变为w个。//Cover u v w:将节点u与节点v之间的树枝上毛毛果的个数都改变为w个。//Add u v w:将节点u与节点v之间的树枝上毛毛果的个数都增加w个。 由于毛毛虫很贪,于是他会有如下询问://Max u v:询问节点u与节点v之间树枝上毛毛果个数最多有多少个。//这题的重点在两个标记的同步问题和边权变点...原创 2019-12-02 19:41:05 · 180 阅读 · 0 评论 -
POJ 2886 Who Gets the Most Candies?(线段树)
Who Gets the Most Candies?题目N children are sitting in a circle to play a game.The children are numbered from 1 to N in clockwise order. Each of them has a card with a non-zero integer on it in his/...原创 2019-08-10 14:01:42 · 218 阅读 · 0 评论 -
hdu4027题解——线段树
hdu4027题解——线段树题意:n个数,m次询问:0 l r :将[l, r]内的数取根号并向下取整。1 l r :输出[l, r]区间和。思路:线段树,维护区间和。坑点:l 可能会大于 r,需要剪枝,否则直接TLE,当值为1时不需要再取根号了,剪枝后500ms左右。#include <bits/stdc++.h>using namespace std;ty...原创 2019-09-04 22:31:28 · 250 阅读 · 0 评论 -
hdu3974题解——线段树,dfs构建结构
hdu3974题解——线段树,dfs构建结构题意:一个公司有N个人,编号1-n,除公司老总外,每个人都有一个上司,每个成员都有若干个或0个下属(一个成员的下属的下属还是他的下属),形成树结构,为公司的人分配任务i,若分配给成员x(可以是老总),则x和他的下属的任务都变为i;m次询问,两种情况,情况一询问某个成员的任务,情况二将成员x和他的下属的任务更改为y;解法:将树结构构建为线性结构,用df...原创 2019-09-05 22:35:07 · 302 阅读 · 0 评论