自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

リーインカーネイション

気づけば I came too far 此博客无限期停用

  • 博客(21)
  • 收藏
  • 关注

原创 BZOJ2216 Lightning Conductor 决策单调性

题目大意:给出序列a,对于每一个i,求出max{a[j]+sqrt(abs(i-j))}-a[i](n<=500000)决策单调性,对于j#include<cstdio>#include<cmath>#define gm 500001using namespace std;int f[gm];int stk[gm],top=0;int left[gm],right[gm];int n;

2016-08-12 12:03:43 387

原创 POJ2559 单调队列

题目大意:给定n个连续的宽度为1的矩形,求最大子矩形面积。求一遍每个点向右延伸的最长长度,再反着求一遍每个点向左延伸的最长长度,两个加起来(要减去重复计算的本身长度),取最优解。这题为什么会WA呢?因为可能会有长度为0的矩形,这时候必须往队列里push个-1才能把它弹出来。。。而如果不把它弹出来,它的延伸长度就会遗留上一组数据的(没有被变成0)而导致错误。。。自己的代码:#include<cstdi

2016-08-08 19:20:54 579

原创 POJ1470 RMQLCA

LCA裸题,要求的是每个点在答案中的出现次数。 试着写了一下在线的LCA算法(结果代码量比起那个离线的暴增。。。) 自己的代码:#include<cstdio>#include<cmath>using namespace std;int n;struct e{ int t; e *n; e(int t,e *n):t(t),n(n){}}*f[901]={};

2016-08-08 19:16:18 400

原创 POJ1330 TarjanLCA

LCA裸题。 试着写了一下离线LCA算法。 自己的代码:#include<cstdio>#include<cstring>using namespace std;int n,t;bool rt[10001];struct e{ int t; e *n; e(int t,e *n):t(t),n(n){}}*f[10001]={};namespace mem

2016-08-08 19:14:31 316

原创 20160802 推销员 贪心 堆

这题最重要的结论就是X=i时的选择必定包含X=i-1时的所有点。。。这样我们记录当前选择的最远距离,在其左右分别维护一个堆,左边的不算距离,右边的算距离(要减去当前最远距离),每次从两堆顶中选择最优解,如果更新了最远距离,就要将右边堆中这个距离左边的点都拿出来减去距离扔到左堆里。重复N次即可。 这个时候再次体现了万恶的STL数据封装有多坑,要想直接将某一编号的节点从堆中删除,只能使用带有pos的手

2016-08-08 19:07:32 422

原创 20160802 求和 找规律

设位置为pos,数字为num,则每一个节点新加入时,与他前面的节点产生的贡献值,等于前面节点个数此pos此num+前面pos和此num+前面num和此pos+前面各num*pos的和。因此每加入一个节点,计算完新产生的贡献,就可以把它和前面的节点合到一起了。时间复杂度O(N)。 因为奇数位置上的点和偶数位置上的点不能合,所以要开两个数组。自己的代码:#include<cstdio>#define

2016-08-08 19:00:48 619

原创 20160804 最长链 树分治?树DP?

题目大意:给一颗树,求每个节点到其他所有节点的距离中最大的使用DFS序和节点size维护一个点的子树,对于每个节点,只考虑过这个点的路径,则可以用最长子链更新所有非最长链所在子树的所有节点,用次长子链更新最长链所在子树的所有节点。注意,为防止只有一条链,每个节点ans值的初值应是深度(向上一条链)或最长子链(向下一条链)中大的。然后返回最长子链的长度(要加上父节点到他的边权)以留给他的父亲决定最长子

2016-08-08 18:46:09 513

原创 20160806 2^k进制数 高精递推

设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数。 (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。 (3)将r转换为2进制数q后,则q的总位数不超过w。 在这里,正整数k(1≤k≤9)和w(k#include<cstdio>#include<algorithm>#include<cmath>using namespace std;

2016-08-08 18:34:46 634

原创 20160807 作业调度方案 链表

原描述略。给定一些零件每个工序所在的机器和需要的时间,一个工件只有在前面的工序做完后才能做后面的工序(比如做完第一个工序从第3分钟做到第8分钟,那么第二个工序要第9分钟以后才能开始)<-就是在这里WA的 给出一个顺序,依次按顺序将每个工件插入可能的最前位置,求最终总时间。 这个问题和堆的内存分配无比相似以至于我很自然地用一个节点的起始位置和长度来记录一段可用区间。。。后来发现用起始和终止位置会更

2016-08-08 18:23:45 346

原创 20160807 软件开发 二分暴力

、软件开发(software.cpp) 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用的天数是相同的,并且是已知的,但完成不同软件的一个模块的时间是不同的,每个技术人员在同一时刻只能做一个模块,一个模块只能由一个人独立完成而不能由多人协同完成。一个技术人员在整个

2016-08-08 18:15:36 597

原创 BZOJ2096 Pilots

DescriptionTz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值。耍畸形一个人是不行的,于是他找到了你。 Input输入:第一行两个有空格隔开的整数k(0<=k<=2000,000,000),n(1<=n<=3000,000),k代表Tz设定的最大值,n代表难度序列的长度。第二行为

2016-08-08 17:01:50 329

原创 BZOJ3675 序列分隔

Description小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序列——也就是一开始得到的整个序列); 2.选择一个位置,并通过这个位置将这个序列分割成连续的两个非空的新序列。 每次进行上述步骤之后,小H将

2016-08-08 16:58:18 360

原创 BZOJ3668 起床困难综合症

Description21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因:在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间。正是由于 drd 的活动,起床困难综合症愈演愈烈,以惊人的速度在世界上传播。为了彻底

2016-08-08 16:49:41 413

原创 BZOJ3223 文艺平衡树

Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 Input第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2……n-1,n) m表示翻转操作次数 接下来m行每行两个数[l,r] 数据保证 1<=l<=r<=n Output输出一

2016-08-08 16:43:28 510

原创 BZOJ3680 吊打XXX

Descriptiongty又虐了一场比赛,被虐的蒟蒻们决定吊打gty。gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了。蒟蒻们将 n个gty吊在n根绳子上,每根绳子穿过天台的一个洞。这n根绳子有一个公共的绳结x。吊好gty后蒟蒻们发现由于每个gty重力不同,绳 结x在移动。蒟蒻wangxz脑洞大开的决定计算出x最后停留处的坐标,由于他太弱了决定向你求助。 不计摩擦,不计能量

2016-08-08 16:34:50 464

原创 BZOJ2157 旅游

DescriptionRay 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N − 1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray 经过这座

2016-08-08 16:26:28 426

原创 BZOJ3224 普通平衡树

Description您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) 6. 求x的后继(后继定义为大于x,且最小的数)Input第一行为n,表示操作的个数,下面

2016-08-08 16:20:16 259

原创 BZOJ1010 玩具装箱toy

Description  P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过 压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容 器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,

2016-08-08 16:13:11 433

原创 BZOJ4636 蒟蒻的数列 链表

题目描述DCrusher有一个数列,初始值均为0,他进行N次操作,每次将数列[a,b)这个区间中所有比k小的数改为k,他想知道N次操作后数列中所有元素的和。他还要玩其他游戏,所以这个问题留给你解决。INPUT:第一行一个整数N,然后有N行,每行三个正整数a、b、k。NOUTPUT:一个数,数列中所有元素的和 容易发现各操作之间无顺序性,因此将

2016-08-08 09:44:36 438

原创 20160806 友好城市

Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。【输入文件

2016-08-07 19:39:27 877 4

原创 20160807 树的重量

问题描述:树可以用来表示物种之间的进化关系。一棵“进化树”是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异。现在,一个重要的问题是,根据物种之间的距离,重构相应的“进化树”。    令N={1..n},用一个N上的矩阵M来定义树T。其中,矩阵M满足:对于任意的i,j,k,有M[i,j]+M[j,k]>=M[i,k]。树T满足:    1.叶节点属于集合N;

2016-08-07 19:04:40 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除