随笔分类 - 线段树
摘要:题目链接:https://vjudge.net/problem/CodeForces-833B 题意:给长度为n的数组a,和一个整数k要求把数组分成连续的k段,每段的权值是该段中不同数的个数,输出最大权值和。数据范围:n<=35000,k<=min(n,50),1<=a(i)<=n 题解:很容易想到
阅读全文
摘要:题意:给你一个长度为n的数组v,你需要把这个数组分成很多段,你需要保证每一段的长度不能超过k我们设一共有m段,每一段右边界那个数为bi那么我们要使得sum(bi*bi-b(i-1))最大 (1<=i<=m,b0=0)你需要保证bi>b(i-1) (1<=i<=m)sum():表示求和 题解:我们设数
阅读全文
摘要:比赛链接:https://vjudge.net/contest/405905#problem/D 题意: 给你一个长度为n的由0或1构成的串s,你需要切割这个串,要求切割之后的每一个子串长度要小于等于k。且每一个子串内不能全都是01交替,就比如 00101010、11010101这样没有问题,不需要
阅读全文
摘要:题意: 首先给你一个长度为n的序列v,你需要首先找出来逆序对(i<j && v[i]>v[j]) 然后把这个序列的最后一个元素放在第一个位置上,其他元素都向后移动一位。 一直这样操作,会得到n个序列,问你这n个序列中,哪个序列中的逆序对数最少,并输出 题解: 首先我们可以通过线段树得到最初哪个序列的
阅读全文
摘要:题目链接:Billboard 题意: 给你一个高度为h,宽为w的广告牌。你有n个广告,你需要把它们贴到广告牌上面 每一个广告的高度为1,宽度为vi 你要尽可能把广告往上面贴(也就是高度往1这个数字靠近),而且广告要尽可能的向左边靠近 如果一个广告可以贴到广告牌上面就输出高度,否则输出-1 题解: 题
阅读全文
摘要:题意: 给你一个长度为n的序列v,你需要输出最长上升子序列,且要保证你选的两个相邻元素之间在原数组中的位置之差大于d 题解: 这个就是原来求最长上升子序列的加强版,这个思路和最长上升子序列的差不多 设dp[i]:截至到位置i能找到的最长上升子序列 对于一个位置i,我们要找截至到它的最长上升子序列,就
阅读全文
摘要:题目链接:Magician 题意: 给你一个长度为n的序列v,你需要对这个序列进行m次操作,操作一共有两种,输入格式为 type a b 1、如果type==0,你就需要输出[a,b]区间内的美丽序列中所有元素的和,要使得这个值尽可能大 2、如果type==1,你就需要把a位置的元素值改为b 区间[
阅读全文
摘要:题目链接:敌兵布阵 题目: C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每
阅读全文
摘要:/* 线段树维护区间最大/小值就是按照原来给出的数据的顺序建造一颗二叉树,然后每一个节点维护 这个节点的子节点且包含这个节点的值中的最大/小值 */ #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm>
阅读全文
摘要:看这篇博客前可以看一下扫描线求面积:线段树扫描线(一、Atlantis HDU - 1542(覆盖面积) 二、覆盖的面积 HDU - 1255(重叠两次的面积)) 解法一·:两次扫描线 如图我们可以先用扫描线找出来横线的周长和,再用扫描线找纵线周长和 这里以横线来举例: 横线的长度 = 【现在这次总
阅读全文
摘要:扫描线求周长: hdu1828 Picture(线段树+扫描线+矩形周长) 参考链接:https://blog.csdn.net/konghhhhh/java/article/details/78236036 假想有一条扫描线,从左往右(从右往左),或者从下往上(从上往下)扫描过整个多边形(或者说畸
阅读全文
摘要:题意: 给你一个长度为n的数组v[],有m次询问,问你在区间[L,R]中是否包含区间[1,R-L+1]的全部数字,如果是输出YES,否则输出NO 题解: 区间[1,R-L+1]与区间[L,R]的长度一样,所以如果输出YES,那么区间[L,R]中的数字就是1到R-L+1数字的全排列形式。那么就判断这个
阅读全文
摘要:题目 晚上有n个亮着的灯泡,标号从1到n。 现在存在2种操作,如下: 操作1,关掉标号 [l,r] 区间的灯 操作2,打开标号 [l,r] 区间的灯 下面有q次询问,每次询问执行其中一种操作,询问格式,l,r,k,k为执行操作种类。对于每次询问回答当前开着的灯的数量。 Input 单组输入,第一行包
阅读全文
摘要:A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our secret weapon to eliminate the battleships. Ea
阅读全文
摘要:C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生
阅读全文
摘要:题目链接:http://codeforces.com/contest/558/problem/E E. A Simple Task time limit per test5 seconds memory limit per test512 megabytes inputstandard input
阅读全文