Ball CodeForces - 12D (线段树)】的更多相关文章

[arc073e]Ball Coloring(线段树,贪心) 题面 AtCoder 洛谷 题解 大型翻车现场,菊队完美压中男神的模拟题 首先钦定全局最小值为红色,剩下的袋子按照其中较大值排序. 枚举前面连续的一段是什么颜色,那么此时我们就知道了两种颜色的\(max\),那么只需要考虑蓝色的\(min\)就好了. 答案拆开后变成了\(R_{max}*B_{max}+R_{min}*B_{min}-R_{min}B_{max}-R_{max}B_{min}\). 此时前三项已知,只需要求最后一项的最…
Bash and a Tough Math Puzzle CodeForces 914D 线段树+gcd数论 题意 给你一段数,然后小明去猜某一区间内的gcd,这里不一定是准确值,如果在这个区间内改变一个数的值(注意不是真的改变),使得这个区间的gcd是小明所猜的数也算小明猜对.另一种操作就是真的修改某一点的值. 解题思路 这里我们使用线段树,维护区间内的gcd,判断的时候需要判断这个区间的左右子区间的gcd是不是小明猜的数的倍数或者就是小明猜的数,如果是,那么小明猜对了.否则就需要进入这个区间…
题目链接:https://cn.vjudge.net/problem/CodeForces-12D 题目大意:给你一个人的三个信息,如果存在一个人比当前人的这三个信息都大,那么这个人就会退出,问你最终有多少人退出. 具体思路:首先按照x的大小排序,大的在前面,然后对y进行离散化,其次就该使用线段树了,将y表示成区间,每一次更新的是y当前的到最大节点,然后线段树中储存的是z值,这样的话,每一次查询,在保证x变大的同时,通过对当前y+1->siz的区间的z值的最大值,就能判断了. AC代码: #in…
Vasily has a deck of cards consisting of n cards. There is an integer on each of the cards, this integer is between 1 and 100 000, inclusive. It is possible that some cards have the same integers on them. Vasily decided to sort the cards. To do this,…
传送门 N ladies attend the ball in the King's palace. Every lady can be described with three values: beauty, intellect and richness. King's Master of Ceremonies knows that ladies are very special creatures. If some lady understands that there is other l…
Codeforces 938G Shortest Path Queries 一张连通图,三种操作 1.给x和y之间加上边权为d的边,保证不会产生重边 2.删除x和y之间的边,保证此边之前存在 3.询问x到y的路径异或最小值 保证图在任意时刻连通 首先连通图路径异或相当于从x到y的任意一条路径再异或上若干个环得到的,只要在dfs过程中把非树边成的环丢到线性基里就好了,其他环一定可以通过这些环异或组合出来 有加边删边操作怎么做呢?线段树时间分治!注意到不能保证在线段树的任意一个节点图是连通的,需要用…
codeforces 1136E: 题意:给你一个长度为n的序列a和长度为n-1的序列k,序列a在任何时候都满足如下性质,a[i+1]>=ai+ki,如果更新后a[i+1]<ai+ki了,那么a[i+1]=ai+ki 现在给你q次操作 操作1:将位置为pos的元素+x 操作2:询问区间l,r的区间和 题解:非常明显的线段树题,我们不好维护的是,如果更新后,当前数字变大到不满足限制条件时,我后面的元素也要做出相应的更新 那么我们就将a序列先减去k序列,这样的a序列也是满足限制条件了,然后我们记录…
Z - New Year Tree CodeForces - 620E 这个题目还没有写,先想想思路,我觉得这个题目应该可以用bitset, 首先这个肯定是用dfs序把这个树转化成线段树,也就是二叉树. 然后就是一个区间修改和区间查询.这个区间查询时查询这个区间的种类数. 这个之前写过几个题目也是查区间种类数的 G. Yash And Trees 线段树 bitset 20190709 暑训 区间种类数 莫队的学习 莫队和权值线段树应该都是不支持修改的,所以这个题目用不上, 然后就是这个高端压位…
D - The Bakery CodeForces - 834D 这个题目好难啊,我理解了好久,都没有怎么理解好, 这种线段树优化dp,感觉还是很难的. 直接说思路吧,说不清楚就看代码吧. 这个题目转移方程还是很好写的, dp[i][j]表示前面 i 个蛋糕 分成了 j 个数字的最大价值. dp[i][j]=max(dp[k][j-1]+val[k+1~i]) 显而易见的是,这个肯定不可以直接暴力求,所以就要用到线段树优化. 线段树怎么优化呢, 先看这个问题,给你一个点 x ,问你以这个点为右端…
B - Legacy CodeForces - 787D 这个题目开始看过去还是很简单的,就是一个最短路,但是这个最短路的建图没有那么简单,因为直接的普通建图边太多了,肯定会超时的,所以要用线段树来优化建图. 这个题目我一开始也没想到,不知道怎么用线段树优化,然后看了一下题解,豁然开朗. 首先建两棵线段树,有点类似拆点,然后其中一颗从下往上建图A,一颗从上往下建图B. 从上往下建图的每一个叶子节点连着从上往下建图的每一个叶子节点. 权值都是0 p==1 那就直接是B 的叶子节点连着A 的叶子节点…