![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝书刷题记录
J__lxj
这个作者很懒,什么都没留下…
展开
-
hl uoj 1440. Can you answer on these queries III (蓝书刷题记录)
(线段树 单点修改 最大连续字段和)维护 除区间和 左端点 右端点 外 lmax 表示以区间左端为起点的最大连续和 rmax 表示以区间右端点为起点的最大连续和。可以知道 L 到 R 的最大连续子段和要么是子区间的最大连续和 要么是相邻的两个区间 前一个的rmax和 后一个区间的lmax 连接起来。所以在 build 和 change 中修改即可。但 在查询答案时 不仅要传递各个区间的最...原创 2019-02-15 18:18:21 · 174 阅读 · 0 评论 -
树形dp
阿发原创 2019-04-24 21:52:04 · 212 阅读 · 0 评论 -
POJ 1015 Jury Compromise (蓝书刷题记录)
问题描述:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定。陪审团是由法官从公众中挑选的。先随机挑选n 个人作为陪审团的候选人,然后再从这n 个人中选m 人组成陪审团。选m 人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0 到20。为了公平起见,法官选出陪审团的原则是:选出的m 个人,必须满足辩方总分D和控方总分P的差的绝对值|D-P|最小。如果有多种选择方案的|D-...原创 2019-04-14 20:42:03 · 259 阅读 · 0 评论 -
POJ 1179 Polygon(蓝书刷题记录)
问题描述:多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号 游戏第1步,将一条边删除 随后n-1步按以下方式操作 (1)选择一条边E以及由E连接着的2个顶点V1和V2 (2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。将由顶点V1和V2的整数值通过边E上的运算得到的结果赋予新...原创 2019-04-21 19:25:24 · 242 阅读 · 1 评论 -
NOIP2016 提高组Day2 T2蚯蚓(蓝书刷题记录)
问题描述:给定一个长度为n的序列,对于每一个时刻,从序列中选出最大值裂成两个数xq 和x - xq 其中 q 等于两个给定 u v 的商。 问过了时间 m 之后 序列的情况 (从大到小排序) 以及每隔 t 时刻对哪个数下手了。题解:因为大的数裂开一定比小的数裂开的大,时间其实对大小的影响是没有的。开三个 队列 A B C 。其中A 存的是开始的序列 B 存的是 裂开后 xq 部分。 C ...原创 2019-04-03 20:14:26 · 121 阅读 · 0 评论 -
POJ 3974 Palindrome (蓝书刷题记录)
问题描述:如果一个字符串正着读和倒着读是一样的,则称它是回文的。给定一个长度为N的字符串S,求他的最长回文子串的长度是多少。题解:分奇偶讨论,对字符串进行哈希,处理出前缀和和后缀和,就可以O(1)求区间的哈希值,然后二分长度。枚举 中心点 i对于奇子串,长度 0<len<min(i-1,len-i)满足条件 s[i-mid]–>s[i-1] == s[i+1]–>...原创 2019-04-01 20:53:40 · 83 阅读 · 0 评论 -
//类对顶堆// 黑匣子(蓝书刷题记录)
问题描述:Black Box是一种原始的数据库。它可以储存一个整数数组,还有一个特别的变量i。最开始的时候Black Box是空的.而i等于0。这个Black Box要处理一串命令。命令只有两种:ADD(x):把x元素放进BlackBox;GET:i加1,然后输出Blackhox中第i小的数。记住:第i小的数,就是Black Box里的数的按从小到大的顺序排序后的第i个元素现在要求找出对于给定...原创 2019-04-03 20:57:26 · 148 阅读 · 0 评论 -
To the MAX(蓝书刷题记录)
问题描述:给定一个 n*n 的矩阵,求最大子矩阵。引发一个专题:求最大子矩阵的方法。方法一:最朴素的算法可以是枚举两个端点,在对其求和。复杂度O(n^6) hloj 1935护林员盖房子方法二:预处理出前缀和 sum[i][j]表示由(1,1) 到 (i,j) 的和。所以由 (x1,y1) 到(x2,y2) 可以O(1) 求。 即为 sum[x2][y2]-sum[x1-1][y2]-s...原创 2019-03-11 20:20:51 · 135 阅读 · 0 评论 -
TYVJ 1424 占卜DIY(蓝书刷题记录)
**问题描述:**达达学会了使用扑克DIY占卜。方法如下:一副去掉大小王的扑克共52张,打乱后均分为13堆,编号1~13,每堆4张,其中第13堆称作“生命牌”,也就是说你有4条命。这里边,4张K被称作死神。初始状态下,所有的牌背面朝上扣下。流程如下:1.抽取生命牌中的最上面一张(第一张)。2.把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到2,正面朝上放到第2...原创 2019-03-11 19:32:05 · 232 阅读 · 0 评论 -
Poj1723 Soldiers(蓝书刷题记录)
问题描述:给你n个士兵在棋盘里的坐标,要你将他们排成连续的一行(即与x轴平行),问你最少要将这些士兵移动多少步。题解:对于y轴方向上的处理,显然是排序后找中位数。而x轴方向的因为要相邻,所以有点麻烦。考虑已排好序的x坐标,最终状态下他们的相对位置已经固定。设最终状态下的第一个坐标为 X+1则第一个点的最终坐标为X+1 从x[1]---->X+1第二个点的最终坐标为X+1 从x[2...原创 2019-03-04 20:57:50 · 185 阅读 · 0 评论 -
Poj3784 Running Median(蓝书刷题记录)
**问题描述:**依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。 (输出格式卡了好久)**题解:**建一个大根堆,一个小根堆,小根堆存序列的后半段,大根堆存前半段。新的数进来比中位数小放在大根堆,否则放在小根堆。#include<bits/stdc++.h> using namespace std;const int MAXN=999...原创 2019-03-03 20:47:57 · 145 阅读 · 0 评论 -
acwing100 IncDec序列(蓝书刷题记录)
问题描述:给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。运用差分的性质,转化为把差分数组全变成0。正负配对满足最小的步骤。然而有些数无法配对,则产生多种可能。#include&lt;bits/stdc++.h&g...原创 2019-03-01 20:56:30 · 131 阅读 · 0 评论 -
Codeforce 670C cinema(蓝书刷题记录)
题目描述:莫斯科正在举办一个大型国际会议,有n个来自不同国家的科学家参会。每个科学家都只懂得一种语言。为了方便起见,我们把世界上的所有语言用1到109之间的整数编号。在会议结束后,所有的科学家决定一起去看场电影放松一下。他们去的电影院里一共有m部电影正在上映,每部电影的语音和字幕都采用不同的语言。对于观影的科学家来说,如果能听懂电影的语音,他就会很开心;如果能看懂字幕,他就会比较开心;...原创 2019-03-03 16:00:53 · 277 阅读 · 0 评论 -
bzoj3032 七夕祭(蓝书刷题记录)
引入:经典贪心问题 均分纸牌 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多...原创 2019-04-07 18:44:22 · 199 阅读 · 0 评论 -
递归多种枚举的实现(蓝书刷题记录)
递归实现指数型枚举:从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。因为每个数只有选和不选两种情况,但需要根据大小去掉重复。#include<bits/stdc++.h> using namespace std;const int MAXN=10000; int b[MAXN],p[MAXN],n;int flag=1;void dfs(int x)...原创 2019-02-27 20:35:51 · 238 阅读 · 0 评论 -
对拍+简单的随机生成器
跟着蓝书上面学的对拍。以下摘自蓝书假设我们已经编好了三个程序。1.自己编写好的“正解”,名字为 sol.cpp。该程序从 data.in中读入数据,并输出答案到 data.out。2.自己写的暴力,名为 bf.cpp。该程序从 data.in读入数据 输出到 data.ans。;3.随机数据生成程序,名为 random.cpp。该程序输出随机数据到 data.in中依次编译运...原创 2019-02-15 20:37:58 · 400 阅读 · 0 评论 -
算法竞赛进阶指南讲评视频
0x00 基本算法——0x01位运算 https://www.bilibili.com/video/av40827155/雪莱 https://space.bilibili.com/7836741?spm_id_from=333.788.b_765f7570696e666f.1原创 2019-07-08 20:17:01 · 509 阅读 · 0 评论