题解
kamisamaxmd
这个作者很懒,什么都没留下…
展开
-
湖南训练赛 最后一天第一题NUM (这么多天来终于A了一道题0 0)
**惯于离经叛道中 体味心安理得,亦于按部就班中 痛感乏善可陈;我欺骗过 伪装过 失真过,但置我于死地者 必将赐我以后生。**不容易啊~ ~ ~ ~ (>_<)~ ~ ~ ~ 这么多天来A的第一道题0 0。 题目大意如下: 样例输入: 3 1 5 3 9 8 8 样例输出: 2 2 0数据规模: L, R <=1e18 ,T <= 20测试数据下载:链接: https:/原创 2017-03-27 15:16:06 · 678 阅读 · 0 评论 -
poj2391 二分+floyed+网络流Dinic(附数据网址)
《POJ 2391 Ombrophobic Bovines》 【题目大意】 给定一个无向图,点i处有Ai头牛,点i处的牛棚能容纳Bi头牛,求一个最短时间T使得在T时间内所有的牛都能进到某一牛棚里去。(1 <= N <= 200, 1 <= M <= 1500, 0 <= Ai <= 1000, 0 <= Bi <= 1000, 1 <= Dij <= 1,000,000,000) 题目戳这里:原创 2017-07-06 21:49:20 · 332 阅读 · 0 评论 -
hdu 1512 左偏堆
做一道左偏堆复习一下0 0. 左偏堆比普通的堆多存一个dis值,他有几个性质,节点dis=右儿子dis+1,左儿子dis > = 右儿子dis,然后就是一些标准操作了,每次合并在右儿子上插就没了。这个题目题意如下【题目大意】在一个森林里住着N(N<=100000)只猴子。在一开始,他们是互不认识的。但是随着时间的推移,猴子们少不了争斗,但那只会发生在互不认识(认识具有传递性)的两只猴子之间。争斗时原创 2017-08-01 18:54:32 · 491 阅读 · 0 评论 -
bzoj1014 神奇的平衡树+hash
哇塞学到了用平衡树存hash值,黄学长的模板用起来就是好耍。 这道题如果没有修改操作的话,二分hash值就可以搞定或者后缀数组什么的,但这道题要修改所以就用平衡树来存hash值就好了,写起来并不难。。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define N 150005#define m原创 2017-08-12 21:28:32 · 359 阅读 · 0 评论 -
bzoj 2124 神奇的树状数组+hash
**调了一下午这道题,bzoj还必须要人把读入读完。 这道题关键是用树状数组来实现求类似等比数列的东东。 还有就是要想到转换成字符串比较是否是回文。 详细就懒得说了0 0,直接上代码。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define N 10010using namespace原创 2017-08-05 19:15:37 · 572 阅读 · 0 评论 -
bzoj2434 阿狸的打字机NOI2011ac自动机+fail树+树状数组+dfs序详解
题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=2434 这道题我们用ac自动机的fail指针思想来做。 首先它要求查询一个x串在y串出现了多少次 我们可以很快想到如果从y的一个节点走fail走到了x尾节点那么x在y中出现过一次。 那么我们逆向思考: 从y反着走fail可以走到有多少个节点在y这个串上,那么x就在y中出现了多少次。原创 2017-07-28 21:23:18 · 511 阅读 · 0 评论 -
poj 1743 后缀数组+二分答案
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define N 20005#define inf 0x3f3f3f3fusing namespace std;int n,m,p,w,i,a[N],tax[N],rank[N],tp[N],SA[N],height[N],k,j,num[N];原创 2017-07-29 11:05:46 · 382 阅读 · 0 评论 -
Codeforces 864E Fire (DP)
题目大意: 现在你有n个物品,每个物品三个属性,我个人记为a,b,c. a表示你需要花a的时间去救这个物品,b表示到b时间后物品就销毁了,c表示救这个物品的价值,求出能救到的最大价值。 n <= 100 b <= 2000 c <= 20 a <= 20 这道题就是个DP,考的时候时间太紧没有把b 按从小到大sort一遍导致惨痛丢了一题。物品按b从小到大sort后直接背包dp,详细见代码:#原创 2017-09-26 08:22:57 · 768 阅读 · 0 评论 -
bzoj1493 线段树
久违的写一发博客,真是调了好久。 显然F和R操作可以记录两个rev和mov值来忽略掉,剩下就是线段树基本操作了,主要是CS操作不懂它什么意思弄了好久- -#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#define N 500005#define rep(i,a,b) for(int i=a;i原创 2017-09-27 21:20:21 · 383 阅读 · 0 评论 -
BZOJ 1071 毒瘤题,单调指针搞搞
题目还是看原题吧。 这道题简直魔性、先膜一下大佬wjj(ORZ)我们令s=A* h+B* v。 原式就是s <= A* minh + B * minv + C我们预处理出所有S。我们把数据复制两份,x数组按s从小到大排序,y数组按h从小到大排序。我们随便枚举minv,我们在算出一个maxv=minv+C/B(有什么用一会解释),然后在内层我们再在y数组中从小到大枚举minh,这样我们就发现在内层原创 2017-09-12 16:54:30 · 399 阅读 · 0 评论 -
BZOJ 4033 树上染色 (题解)(树上动规)
最近我总是辗转反侧,难以入眠,对我们曾有过的愿景,浮想联翩。但亲爱的,我早已在内心深处祈祷着,祈祷自己不再迷失于金钱的追逐中。想了好久终于明白错在哪里了,,, 题意如下: 有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并 将其他的N-K个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。 问收益最原创 2017-03-24 23:11:54 · 948 阅读 · 2 评论 -
bzoj1179 tarjan缩点+spfa
题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=1179这道题是一道大水题,直接tarjan缩点合并信息后,跑一边最大的spfa就可以A了。 详细代码:#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<queue>#def原创 2017-07-06 12:01:09 · 338 阅读 · 0 评论 -
bzoj2654 二分+最小生成树
题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=2654 我们知道对于一个最小生成树而言,它的白边权值越大,那么生成树中的白边个数越少,反之亦然。 所以我们每次二分一个值,给白边加上它,在做最小生成树判断是否大于所需要的,然后就可以二分来搞了。#include<cstdio>#include<algorithm>#include<c原创 2017-07-05 08:11:25 · 348 阅读 · 0 评论 -
POJ 3667 HOTEL 题解报告
调了半天终于弄出来了,不说别的,开始正题。 题目大意如此: 一行给出n,m(都不超过50000) n表示区间长度,m表示操作数目。 然后是m行: 分别有两个操作: for example 一:1 2表示输出最靠左的一段长度为2的连续区间的左端点,并且该区间被占,不可再被使用。 二:2 3 4 表示从端点3往右的4个单位的区间被清空。 样例 IN PUT: 10 6 1 3原创 2017-03-22 11:42:40 · 452 阅读 · 0 评论 -
题解POJ 3233 (二分做法)
POJ 3233 题目大意: 给定三个数n,m,k。 下面n行每行n个数 给定一个矩阵n*n的矩阵A 求S = A^1 + A ^2 +……+A^k答案对m取模 n的范围30,k的范围10^9,m的范围10^4。 这道题我一看就知道要用等比的性质,但奈何我不会啊0 0,所以退而求次用二分来做了。 首先我们要用到矩阵快速幂。 然后怎么求和呢 一个小技巧 当k为偶数时 S=A^原创 2017-03-18 22:53:53 · 1005 阅读 · 0 评论 -
POJ 1741 Tree(经典点分)题解
青少年是一个美好而又是一去不可再得的时期,是将来一切光明和幸福的开端。——加里宁这道题是经典的点分,拿来练练手。 题目大意: 一行n,m范围是100000。(n是树的节点树木,m是树上链长度上限) 下面n-1行每行三个数给定树,(前两个给定树的边,后一个为长度)。 注意:是多组数据,最后两个0 0结束。 然后询问树上不超过m的链的个数。 Example: IN PUT:原创 2017-03-22 14:40:30 · 537 阅读 · 0 评论 -
BZOJ 2563 阿狸和桃子的游戏 题解(贪心)
时间是一切财富中最宝贵的财富。 —— 德奥弗拉斯多又是一道贪心题。 题目: 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e)。游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成红色,桃子会将顶点染成粉色。已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色。 2. 为了保证公平性,节点的原创 2017-03-24 20:49:28 · 758 阅读 · 0 评论 -
POJ 3654 Corn Fields 状态压缩
最近我总是辗转反侧,难以入眠,对我们曾有过的愿景,浮想联翩。但亲爱的,我早已在内心深处祈祷着,祈祷自己不再迷失于金钱的追逐中。ok,刷动态规划题。 题意如下: N行M列 一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻。问有多少种放牛方案(一头牛都不放也是一种方案)N,M范围不超过原创 2017-03-25 20:42:17 · 484 阅读 · 0 评论 -
4月4号 机房训练赛(数据结构)
我只是循规蹈矩地生活,惯于离经叛道,体味心安理得。亦于按部就班,痛感乏善可陈。我欺骗过,伪装过,失真过,但置我于死地者,必将赐我以后生。这次考试太惨,直接说题目吧。 这道题十分之坑爹,如果只有赋值操作或只有增加操作那十分简单,直接敲区间修改线段树模板就好了。但它要求支持两个操作。 那么我们要这样想。 因为它有两个操作,增值和赋值。那么我们设置两个lazy标记分别表示增值的和赋值的量(代码原创 2017-04-04 22:07:38 · 338 阅读 · 0 评论 -
机房训练赛 4月6日 (数论)
我只是循规蹈矩地生活,惯于离经叛道,体味心安理得。亦于按部就班,痛感乏善可陈。我欺骗过,伪装过,失真过,但置我于死地者,必将赐我以后生。今天考数论真是烧脑壳。 第一题: 这道题我们抽象的把它看成有m个相同的球放入n个箱子中,且箱子可以为空。 这样就好做了,用夹棍法,所以是组合数(n+m-1, n-1)。 因为数据比较大要模一个数我们暴力阶乘的时候求逆元就好了。#include <cst原创 2017-04-06 17:36:10 · 442 阅读 · 0 评论 -
斜率优化 BZOJ 1010 HNOI 2008玩具装箱 详细解析。
惯于离经叛道中 体会心安理得 亦于按部就班中 痛感乏善可陈题面如下: Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过 压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果原创 2017-05-19 09:25:06 · 389 阅读 · 0 评论 -
bzoj 2427 HAOI 2010 软件安装 (dp+tarjan缩点)
题面大概如此: Description现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。原创 2017-06-05 09:51:04 · 383 阅读 · 0 评论 -
hdu 5739 点双连通分量+乘法逆元超详细讲解
题目戳这里http://acm.hdu.edu.cn/showproblem.php?pid=5739 题意大致如下:题目大概说给一张无向点带有权无向图。定义连通图的权值为图中各点权的乘积,图的权值为其包含的各连通图的权值之和,设zi 为删掉i点后图的权值,求S=(1*z1 + 2*z2 + 3*z3 + …….. + n*zn); 这道题简直毒性,感觉打了一道大模拟,这道题的细节巨多,要十分注原创 2017-07-13 18:20:24 · 453 阅读 · 0 评论 -
学习线性基 bzoj 4568 幸运数字
好久没写博客了,最近学习了一下新姿势:线性基,这个就很厉害了。线性基其实很好理解。会线性基可以直接跳过下面的部分。。。我们先抛出一道简单的题: 给你一个长度为n的序列,在其中任选数字求可以得到的最大异或和。我们知道任意两个,和连续一段的最大异或和,可以用Trie加贪心水掉,但这道题怎么做呢?线性基就可以用来处理这个玩意。通俗的讲:线性基其实是一些数的集合,而用这些集合里的数字任意组合异或可以表示完原创 2017-10-25 21:45:36 · 481 阅读 · 0 评论