上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页
摘要: 给你一棵树,每次修改一个子树的所有值,然后单点查询。 按照DFS序把节点排列(即在DFS中出现的先后次序),同一个子树在序列中连续。 1 #include <cstdio> 2 using namespace std; 3 typedef long long ll; 4 int n,q,T,Tc,c 阅读全文
posted @ 2020-01-13 22:20 IAT14 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 给你一个01序列,每次将一个位置变成0或1。问某个位置所在的最长1串多长。 我们维护vec[k],k所代表序列中的最长子串长度,ls[k],k所代表序列中的最长前缀,rs[k],k所代表序列中的最长后缀。 合并很简单,vec[k] = max(vec[k << 1],vec[k << 1 | 1], 阅读全文
posted @ 2020-01-13 21:43 IAT14 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 区间开根,区间求和。 最大的int开不到10次根也会变成1。每次开根都暴力处理,最多也不过是10N的复杂度。 所以每个节点维护一个标记,子树所代表的区间是否都小于等于1,成立就不开根了,从而维护复杂度正确性。 注意输入的l和r可能先大后小,需要交换.... 跟BZOJ花神游历各国是一个题。 1 #i 阅读全文
posted @ 2020-01-13 19:27 IAT14 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 正常区间修改,然后最后一起暴力查一遍就行了。 区间修改有0,需要用-1做lzy标记.... 1 #include <cstdio> 2 #include <map> 3 #include <algorithm> 4 using namespace std; 5 int col[40000],lzy[ 阅读全文
posted @ 2020-01-13 18:58 IAT14 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 给一个1e7的白板,然后有1e5次操作,每次选一段区间,涂上颜色i(会覆盖之前的)。问最后一共可以看到几个颜色。 首先1e7线段树开不下,操作只有1e5,我们考虑离散化。 但是普通离散化不行。比如[1,4] [1,2],[4,4]离散化后为[1,3][1,2],[3,3]。原先第一段没被覆盖,但是离 阅读全文
posted @ 2020-01-13 16:53 IAT14 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 就是i到j的最短路,配上刚加入图的边,i到k,k到j,来构成一个没有重复边的环。 i到j是最短路,不会重复一条边两次,i到k,k到j刚加入图,显然也不会出现在最短路里。 要注意的是,求环的时候要保持i,j,k不相等。dis数组和初始的mp数组要区分开。 1 #include <cstdio> 2 # 阅读全文
posted @ 2019-12-21 13:22 IAT14 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 有m座城市,n张车票,p条路。然后每张车票有一个速度值。我们每次通过一条路都需要一张车票,花费时间为路径长度比上所选车票的速度值。问从起点a到终点b的最短时间花费。M不超过30,n不超过10。 我们显然不能求一条最短路,再依次对最短路上的每条边用最合适的车票。考虑一种情况,第一条边很长,其他边很短。 阅读全文
posted @ 2019-12-17 12:26 IAT14 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 有N头牛在一个数轴上,每头牛有一个听力值,两头牛交谈时花费为,距离差值与较大的听力值值和。问所有牛两两交谈所需要的花费之和。 我们先考虑将距离差值与听力值两个变量固定一个。我们将所有牛按照听力值从小到大排序。这样子一头牛与其左侧的牛交谈时,在听力值上花费就是其本身的听力值。我们再考虑如何高效地求出这 阅读全文
posted @ 2019-12-17 12:04 IAT14 阅读(153) 评论(0) 推荐(0) 编辑
摘要: dp[x][y]表示[x,y]里的最大匹配,如果s[x]和s[y]匹配,那么dp[x][y] = dp[x + 1][y - 1] + 2。然后对于每个区间都试图将其拆成两半。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorith 阅读全文
posted @ 2019-12-08 22:57 IAT14 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 的确挺神奇的一道题,跟lyc讨论了一会才想清楚正确性。 用dp[x][y]表示完成[x,y]这些舞会至少需要多少衣服。注意这里dp的定义很明确,就是只完成[x,y],之前不需要穿衣服,之后也不需要穿衣服。 那么对应的,答案应该就是dp[1][n]。 我们考虑转移,这道题中,唯一能优化的地方,无非就是 阅读全文
posted @ 2019-12-08 22:29 IAT14 阅读(215) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页