- 博客(50)
- 收藏
- 关注
原创 ||初赛错题集||
1>flash属于视频编辑软件。2>哈夫曼编码是一种无损二进制熵编码的算法,其加权路径长度最小,字符串"alibaba"的二进制哈夫曼编码有______位。 13构树如下图 得到 l 的编码为 0 0 0 0 i 的编码为 0 0 0 1 b 的编码为 0 0 1 a 的 编码为 0 13>算算法复杂度的时候不一定要用主定理,可以列个几项找规律。4>概率计算...
2019-10-03 21:05:54
461
原创 20190718 DP练习赛
A问题描述:密文的加密方式选中前 k 个字符作为根串,k > 4。然后在根串后添加长度为2或3的后缀串,当前添加的不能和上一次相等。现在给出一个最终的串,问有多少满足条件的后缀串,按字典序输出所有合法串。5 ≤ n ≤ 100 for 40%5 ≤ n ≤ 10000 for 100%n为给出串的长度。inputabcdefghijoutput5fgfghghh...
2019-07-18 21:32:27
156
原创 20190716 DP 练习赛
T1 祖玛问题描述:温温是一只懒惰的小萌猪。他虽然身负重任,但还是每天上班都偷偷玩游戏。今天,他决定玩一个叫做《祖玛》的老游戏。不过,温温打开游戏之后,发现这个游戏和印象里不太一样。游戏开始时,温温会得到一串宝石,第i个宝石的颜色是ci。游戏的目标是摧毁所有宝石。在游戏的每一秒钟,温温可以选择宝石序列的任意一个回文子串(即连续的若干个宝石,从前往后和从后往前看颜色是一样的),把这些宝石摧毁。...
2019-07-16 20:25:23
229
原创 算法竞赛进阶指南讲评视频
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
562
原创 小猫爬山 (蓝书)
问题描述:翰翰和达达饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了。翰翰和达达只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过W。每租用一辆缆车,翰翰和达达就要付1美元,所以他们想知道,最少需要付多少美元才能把这N只小猫都运送下山?输入...
2019-07-04 20:36:43
358
原创 lg P1156 垃圾陷阱
问题描述:卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2 <= D <= 100)英尺。卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。假设卡门预先知道了每个垃圾扔下的时间 t (...
2019-05-19 21:17:19
149
原创 任务安排(斜率优化)
问题描述:问题1:容易得到状态转移方程 f[ i ] [ j ] = min{ f[ k ][ j-1 ] + ( s*j + T[ i ] ) *( C[ i ] - C[ k ] ) } 时间复杂度 O( N ^ 3 )其中f[ i ][ j ] 表示前 i 个任务分成 j 批 做的最优值。 T[ i ] C[ i ] 分别为时间和花费的前缀和。也就是从 k 到 i 单独拎出来成一批...
2019-05-10 21:14:40
306
原创 CDQ分治
CDQ分治,基于分治。基本模型就是归并排序,一般的分治两个子问题之间是没有影响的。而CDQ中却是相互影响的。更理论的分析更理论的分析首先还是最基本的逆序对。#include<bits/stdc++.h>#define MAXN 100000 using namespace std;int n;unsigned long long ans = 0;int A[MAXN]...
2019-05-08 20:36:05
751
原创 hluoj 1153 格斗
问题描述:格斗俱乐部是格斗爱好者的一个组织,在这里,格斗者们能通过与别的成员进行格斗来释放自己的压力与轻松自己的情绪。最近俱乐部举行了一场比赛,该比赛有N位选手参加,他们将围成一个圆圈,每一场比赛圈内任意的两位相邻的选手均可进行相互的格斗,胜利者将留在圈内进入下轮比赛而失败者则直接被送往医院(没有平局)。比赛是残酷的,最后圈内将只剩下一位选手,他将是总冠军。我们做个奇怪的假设,两位选手进行格斗,他...
2019-05-05 15:49:22
184
原创 UVA1636 决斗 Headshot
问题描述:你有一把枪(左轮的),你随机装了一些子弹,你开了一枪,发现没有子弹,你希望下一枪也没有子弹,你是应该直接开一枪(输出"SHOOT"),还是先转一下,再开一枪(输出"ROTATE")?如果两种情况下一枪没子弹的概率相等,输出"EQUAL"。 注意:这里转一下,并不是转到下一个位置,而是随机转,即等概率转到子弹序列的每一个位置上。 手枪里的子弹序列可以看做二进制序列,例如0011,第一次开...
2019-05-03 21:53:13
161
原创 4.28 DP练习赛
T1:数塔问题问题描述:相信大家都写过数字三角形问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如下图是一个数塔,映射到该数塔上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。 1 3 8 2 5 0 1 4 3 8 1 4 2 5 0路径最大和是1+8+5+4+4...
2019-04-28 21:26:23
243
原创 hluoj 445 创意吃鱼
问题描述:给定一个01矩阵,求最大斜向连续 1 的个数。输入样例:4 60 1 0 1 0 00 0 1 0 1 01 1 0 0 0 10 1 1 0 1 0输出样例:3解释:划线 的即为选择0 1 0 1 0 00 0 1 0 1 01 1 0 0 0 10 1 1 0 1 0题解:借用两个s1 [i][j] ,s2 [i][j] 分别表示从 i j 点向左最...
2019-04-26 21:58:11
181
原创 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
333
1
原创 lg P1282 多米诺骨牌
问题描述:戳这里大致题意是给出n对数 一次操作可以交换左右两个数,问最小的操作次数使得左边的数之和 和 右边的数字之和 的差值最小。题解:巧妙的转化为一个背包问题。先将大的数都调整到左边,所以每次调整都可以使差值减小,改变的差值就是背包的体积,价值是1或者-1,若本身就满足左大右小,那么重量为-1,即是一个反悔的过程。所以要求的就是使得体积尽量大的最小重量。详见注释code:#i...
2019-04-17 21:42:57
142
原创 lg P1140 相似基因
问题描述:戳这里就是找匹配,使得价值最大。注意对f数组的初值,和预处理。1,把字母换做是编号。2,把对应的价值表做成一个x数组3,剩余初值设为负无穷,因为价值里有负值。4,边界 0,0 即A 和全是空的匹配, B 和全是空的匹配。5,三种选择情况,A 和空匹配,B 和空匹配,A和B 匹配。考虑以上情况后,此题可以轻松解决。code:#include<bits/stdc++...
2019-04-17 20:38:04
98
原创 POJ 1015 Jury Compromise (蓝书刷题记录)
问题描述:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定。陪审团是由法官从公众中挑选的。先随机挑选n 个人作为陪审团的候选人,然后再从这n 个人中选m 人组成陪审团。选m 人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0 到20。为了公平起见,法官选出陪审团的原则是:选出的m 个人,必须满足辩方总分D和控方总分P的差的绝对值|D-P|最小。如果有多种选择方案的|D-...
2019-04-14 20:42:03
327
转载 题录
OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6...
2019-04-14 20:32:12
481
原创 TYVJ 1071 LCIS (蓝书刷题记录)
问题描述:熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了。小沐沐说,对于两个串A,B,如果它们都包含一段位置不一定连续的数字,且数字是严格递增的,那么称这一段数字是两个串的公共上升子串,而所有的公共上升子串中最长的就是最长公共上升子串了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子串。...
2019-04-12 19:41:31
213
原创 POJ 2279 Mr. Youngs Picture Permutations
问题描述:有N个学生合影,站成左端对齐的 k排,每排分别有 N1,N2,N3,N4,……Nk个人,第一排站在最后面,第k排站在最前面。学生的身高各不相同,把他们的升高依次标记为1,2,……N。在合影时要求每一排从左到右身高递减,每一列从前到后也递减,问一共有多少种合影位置方案。输入样例:33 2 1输出样例:16数据范围:N<=30,k<=5题解:考虑按照顺序插入学...
2019-04-12 19:01:27
205
原创 hl uoj1841 走格子
问题描述:CYJ想找到他的小伙伴FPJ,.CYJ和FPJ现在位于一个房间里,这个房间的布置可以看成一个N行M列的矩阵,矩阵内的每一个元素会是下列情况中的一种:1.障碍区域—这里有一堵墙(用‘#’表示).2.这是CYJ最开始在的区域(用‘C’表示).3.这是FPJ在的区域(用‘F’表示).4.空区域(用‘.’表示).CYJ携带了一个所谓传送枪的东西,这是一把可以创造传送门的枪械,在每一次...
2019-04-09 19:47:00
384
原创 lg P2386 放苹果
问题描述:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法)题解:1.爆搜; 2.dp(注意两者联系)code:#include<bits/stdc++.h> using namespace std;int T,m,n;int ans=0;void dfs(int pos,int now,int ...
2019-04-08 19:20:13
136
原创 bzoj3032 七夕祭(蓝书刷题记录)
引入:经典贪心问题 均分纸牌 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多...
2019-04-07 18:44:22
247
原创 //类对顶堆// 黑匣子(蓝书刷题记录)
问题描述: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
200
原创 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
149
原创 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
103
原创 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
158
原创 TYVJ 1424 占卜DIY(蓝书刷题记录)
**问题描述:**达达学会了使用扑克DIY占卜。方法如下:一副去掉大小王的扑克共52张,打乱后均分为13堆,编号1~13,每堆4张,其中第13堆称作“生命牌”,也就是说你有4条命。这里边,4张K被称作死神。初始状态下,所有的牌背面朝上扣下。流程如下:1.抽取生命牌中的最上面一张(第一张)。2.把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到2,正面朝上放到第2...
2019-03-11 19:32:05
267
原创 lg P1007 独木桥
题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳11个人通过。假如有22个人相向而行在桥上相遇,那么他们22个人将无妨绕过对方,只能有11个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位...
2019-03-10 20:13:23
156
原创 POJ 3614 Sunscreen
问题描述:有C头奶牛进行日光浴,第i头奶牛需要minSPF[i]到maxSPF[i]单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有L种,涂上第i种之后,身体接收到的阳光强度就会稳定为SPF[i],第i种防晒霜有cover[i]瓶。求最多可以满足多少头奶牛进行日光浴。题解:本题运用这样一个贪心策略,按照每个奶牛的最小享受值降序排列。对于每一头奶牛,遍历所有的防晒霜,找到一个满足享受范...
2019-03-07 19:12:58
241
原创 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
219
原创 Poj3784 Running Median(蓝书刷题记录)
**问题描述:**依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。 (输出格式卡了好久)**题解:**建一个大根堆,一个小根堆,小根堆存序列的后半段,大根堆存前半段。新的数进来比中位数小放在大根堆,否则放在小根堆。#include<bits/stdc++.h> using namespace std;const int MAXN=999...
2019-03-03 20:47:57
191
原创 hluoj 192 A-B problem
题目描述:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数。(不同位置的数字一样的数对算不同的数对)题解:A-C=B先排序,保证具有一定的单调性。也就是在序列中的每一个A,找到大于等于 A-C 的位置和大于A-C的位置,就是A-C=B 的个数。比如: C=11 2 3 4 5 6 7 8 91 4 5 7 7 7 8 10 12对于 8 来说 第一个大于 8-1 的...
2019-03-03 16:42:37
332
原创 Codeforce 670C cinema(蓝书刷题记录)
题目描述:莫斯科正在举办一个大型国际会议,有n个来自不同国家的科学家参会。每个科学家都只懂得一种语言。为了方便起见,我们把世界上的所有语言用1到109之间的整数编号。在会议结束后,所有的科学家决定一起去看场电影放松一下。他们去的电影院里一共有m部电影正在上映,每部电影的语音和字幕都采用不同的语言。对于观影的科学家来说,如果能听懂电影的语音,他就会很开心;如果能看懂字幕,他就会比较开心;...
2019-03-03 16:00:53
347
原创 poj2018 Best Cow Fence(蓝书刷题记录)
一个正整数数列 A 求一个平均数最大的长度不小于L 的子段。二分平均数,将原数列A每一项减去mid。有大于0的字段则移左端点,否则移动右端点。#include<bits/stdc++.h> using namespace std;const double esp=1e-5;const int MAXN=1000000;int n,L;double a[MAXN],pre[...
2019-03-01 21:29:15
279
原创 acwing100 IncDec序列(蓝书刷题记录)
问题描述:给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。运用差分的性质,转化为把差分数组全变成0。正负配对满足最小的步骤。然而有些数无法配对,则产生多种可能。#include&lt;bits/stdc++.h&g...
2019-03-01 20:56:30
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人