自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 关于Floyd的一些疑问

Floyd是一个很简单的算法, 运用了动态规划的思想.它是这么描述求最短路的过程的: 设Di,j,kDi,j,kD_{i, j, k} 是i到j的只以(1⋯k)(1⋯k)(1\cdots k)集合中的节点==为中间节点==的最短路径的长度.若最短路径经过点k, 则Di,j,k=Di,k,k−1+Dk,j,k−1Di,j,k=Di,k,k−1+Dk,j,k−1D_{i, j, k} = D...

2018-08-12 09:42:58 215

原创 SuperMemo POJ3580 TREAP

SuperMemo TreapPOJ3580-SuperMemo典型的区间操作水题, 我们要注意的点是REVOLVE操作中的T可能是负数.我因为modify函数写错了, WA了好几次, 要细心.#include <iostream>#include <algorithm>#include <vector>#include <que...

2018-08-09 20:09:28 279

原创 Treap的区间操作 NOI2005维护序列

Fhq-Treap的序列操作Fhq-Treap的序列操作节点划分合并笛卡尔树性质构造插入删除求和最大子列和修改翻转比如NOI2005 维护序列, 这道题应该如何应用Fhq-Treap来维护呢?1节点我们还是采用指针式的Fhq-Treap. 为了可以把update(), spread(), assign(), reverse(...

2018-08-09 20:05:43 839

原创 Fhq-Treap

FHQ Treapsplitmergeinsertremoveprecursorsuccessorthe first kget rankFHQ TreapFHQ Treap是fhq(范浩强)大神发明的非常好用非常有思想的函数式二叉搜索树.其主要操作分为两个merge, split.fhq-treap的每个节点只存一个数字, 也就是...

2018-08-07 16:58:51 2126 1

原创 [HNOI2004, 洛谷P2286]宠物收容所

题目描述凡凡开了一间宠物收养场。收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养场的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养场总是会有两种情况发生:被遗弃的宠...

2018-08-07 16:13:04 138

原创 [NOI2004, 洛谷P1486]郁闷的出纳员

题目描述OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。工资的频繁调整很让员工反感,尤其是集体扣除...

2018-08-07 12:21:43 131

原创 笛卡尔树

笛卡尔树性质构造笛卡尔树笛卡尔树是一种同时满足二叉搜索树和堆的性质的数据结构. 可以在一个数组上构造出来(时间复杂度可以达到 O(n)O(n)O(n) ). 树中节点有几个属性, key(节点元素的大小, 优先级priority), index(节点在元素组中的索引), left(左子节点), right(右子节点), parent(父节点).性质...

2018-08-06 18:49:39 147

原创 [洛谷P2234, HNOI2002]营业额统计, fhq-treap

题目描述Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管...

2018-08-06 18:46:24 159

原创 [IOI2014, 洛谷4560]Wall城墙

给定一个长度为 n 且初始值全为 0 的序列。你需要支持以下两种操作:Add L,R,h:将序列 [L,R] 内所有值小于 h 的元素都赋为 h ,此时不改变高度大于 h 的元素值 Remove L,R,h :将序列 [L,R] 内所有值大于 h 的元素都赋为 h ,此时不改变高度小于 h 的元素值你需要输出进行 k 次上述操作之后的序列。这道题处看时没有一点想法, 脑海中只有“啊, ...

2018-08-01 22:25:58 180

原创 [洛谷P2023, AHOI2009]维护序列

这是一道典型的线段树板子题. hzwer说过, 对于线段树的多标记 lazy-tag 可以根据标记的优先级, 优先级高的先下传.但是我一直思路有点问题, 比如说这道题.这道题要求的是区间加法, 区间乘法, 要查询的是区间和.我开始的想法是, 不管是加法标记还是乘法标记都是相斥的, 要进行加法, 就必须把乘法标记清零(其实是清一),要进行乘法, 就必须把加法标记清零.这样想的话,...

2018-08-01 17:44:30 149

原创 [NOIp2015, 洛谷P2678]跳石头

题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算...

2018-08-01 14:47:17 149

原创 [洛谷P3258, JLOI2014]松鼠的新家

题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,......,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不停地推辞。可是松鼠告诉他,每...

2018-08-01 11:40:24 155

原创 花神游历各国

当时在火车上思考的, 思考了半天突然发现了开方操作不是平方操作, 开多了就成1了然后我发现这样就可以暴力的去做了, 因为整个数列最多开6次, 之后就都成了1.我特别发现数列是没有零的, 如果没有0值的话, 一个区间的和如果等于他的长度, 就不需要开深入修改了。洛谷P4145的数据是没有零的, libreOj的信息学奥赛一本通提高篇的练习题是有零的。今天交了几次, 但是都不对, 我发...

2018-07-30 16:19:44 175

原创 [AHOI2008]聚会

题目描述欢乐岛上有个非常好玩的游戏,叫做“紧急集合”。在岛上分散有N个等待点,有N-1条道路连接着它们,每一条道路都连接某两个等待点,且通过这些道路可以走遍所有的等待点,通过道路从一个点到另一个点要花费一个游戏币。参加游戏的人三人一组,开始的时候,所有人员均任意分散在各个等待点上(每个点同时允许多个人等待),每个人均带有足够多的游戏币(用于支付使用道路的花费)、地图(标明等待点之间道路连接...

2018-07-30 11:32:28 760

原创 [NOI2002]银河英雄传说

有一个划分为N列的星际战场, 各列依次编号为 1, 2, ···, N. 有 N 艘战舰, 也依次编号为 1 - N, 初始时, 第 i 号战舰在第 i 列.T条指令, 有两种格式.1. M i j, 表示让第 i 号战舰所在列的全部战舰保持原有的顺序, 接在第 j 号战舰所在列的尾部.2. C i j, 表示询问第 i 号战舰与第 j 号战舰是否处在同一列中, 如果在同一列中, 他们...

2018-07-30 09:41:24 314

原创 [CodeForces20C]Dijkstra?(Prim, Dijkstra)

这道题只需要在计算最短路的时候, 记录当前最小边的端点即可, 用faz[]数组.需要注意的是, 节点1只需要到节点N即可, 不需要整个图都联通. 可以用并查集, 也可以在Dijkstra算法后, 看一下dist[N](节点N到节点1的最短距离)是否为初值.开始的时候, 我的第一个思路是建立一个最短路径生成树, 然后在遍历这颗树, 从1开始, 到N的路径只有一条.但是我在提交的时候一直卡...

2018-07-28 22:27:56 241

原创 [计蒜客]威虎山上的分配

问题是这样的, n个人, m个二元组, 对于每个二元组(a, b), 表示a的钱应该比b多.每个人最少应该有100元, 求最后的总分配钱数./*有两种思路, 一种是正常建边, 最后从在从拓扑序列的前面开始更新wage第二种是反向建边, 在拓扑排序的时候就直接更新wage第一种的常数大点.主要的点是: 对于A->B, B->C, A->C这种关系, A应该最后保留...

2018-07-28 10:40:02 165

原创 最小生成树MST的三个简单应用

kruskal算法相当简单直观~还比prim好用~应用一, 求最大权值最小的最小生成树.仔细想一想, 最小生成树的最大权值就是最小的.应用二, 求次小生成树.先求一个最小生成树, 然后枚举这个最小生成树的每一条边, 然后计算分别删去这个边的图的最小生成树, 一共有n - 1个, 次小生成树一定是这几个.poj1679的问图的最小生成树是否为一, 可以先求最小生成树, 在求次小生...

2018-07-27 18:07:52 490

原创 [NOIP2013]货车运输

题目描述A 国有 n 座城市,编号从 1 到 n ,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入输出格式输入格式: 第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。 接下来 m 行每行 3 个整数 x,y,z,每两个...

2018-07-27 12:52:40 204

原创 树状数组

给n, m,给n个数字, 表示位置i的数字的排名,再给m个询问, 一个询问由a, b组成, 代表着要询问前i个数字中, 排名前b的数目. 当时想了好久好久, 但是一点意识也没有qwq.后来...看了别人的想法后, 突然就懂了点... 这种问题吧, 我感觉是要先确定一些顺序, 再根据已有的顺序进行操作.比如这里, 先确定询问的顺序, 把询问依据a排序, 这样的话, 对...

2018-07-26 10:27:13 64

原创 线段树常规操作

关于线段树的区间修改(加值), 区间查询(求和), 利用延迟化的思想, 是比较容易的.主要是想好标记下传中lazy-tag的意义是什么, 这个思路中的add标记的意义是: 当前节点没有问题, 但是子节点要受到当前节点标记的影响.#include <iostream>#include <algorithm>#include <cstdlib>#in...

2018-07-23 17:48:32 147

原创 [计蒜客-树状数组线段树]帕吉的肉钩

分析题意, 是一道典型的线段树题目.要求做到区间赋值(树状数组应该无法做到), 区间求和两个操作.开始的时候思路不清楚, 后来要注意线段树的 up 和 down 操作.需要注意的是有lazy-tag的节点, 它本身的信息是完全正确的, 子节点的信息是待更新的.这也就是说, 当需要用到这些子节点的信息时在进行更新.#include <iostream>#inclu...

2018-07-21 17:22:41 211

原创 poi 2182 2828 树状数组倍增查询

这种题的主要目的是找位置, 比如第一个前缀和等于k的位置,1. 可以用树状数组 + 二分, 时间为logn * logn, 这样时间稍微慢了些;2. 用倍增法这片博文写得很好, http://www.hawstein.com/posts/binary-indexed-trees.htmlint getKPos(int k){ int bitMask = bthPow[upper_b...

2018-06-19 21:44:40 469

原创 UVA11235: Frequent values(RMQ)

You are given a sequence of n integers a1 , a2 , . . . , an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1 ≤ i ≤ j ≤ n). For each query, d...

2018-05-05 17:41:21 153

原创 poj 3617 Best Cow Line

DescriptionFJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Year" competition. In this contest every farmer arranges his cows in a line and herds them past the judges.The con...

2018-04-28 20:37:18 92

原创 poj2566 Bound Found

DescriptionSignals of most probably extra-terrestrial origin have been received and digitalized by The Aeronautic and Space Administration (that must be going through a defiant phase: "But I want to u...

2018-04-24 11:45:58 144

原创 楼兰图腾

在完成了分配任务之后,西部314来到了楼兰古城的西部。相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。西部314在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了N个点,经测量发现这N个点的水平位置和竖直位置是两两不同的。西部314认为这幅壁画所包含的信息与这N个点的相对位置有关,因此不...

2018-04-09 20:10:09 595

原创 Ultra-QuickSort

任意给定一个集合 s, 如果用 t[val] 保存数值 val 在集合 s 中出现的次数, 那么数组 t 在[l, r]上的区间和就表示集合 s 中范围在 [l, r] 内的数有多少个.在集合 s 的数值范围上建立一个树状数组, 来维护 t 的前缀和. 这样即使在集合 s 中插入或删除一个数, 也可以高效地进行统计.DescriptionIn this problem, you have to a...

2018-04-09 19:05:51 211 1

原创 Cinema codeforces 670C

Moscow is hosting a major international conference, which is attended by n scientists from different countries. Each of the scientists knows exactly one language. For convenience, we enumerate all lan...

2018-04-07 20:31:09 196

原创 Aggressive cows

/*挺水的贪心, 关键之处在于STL式的upper_bound贪心思路另外check函数的第一个虚拟地址, 也是比较好理解的*/#include <algorithm>#include <functional>#include <string>#include <vector>#include <queue>#inclu...

2018-03-12 19:48:47 342

原创 方格选数

计蒜客蓝桥杯集训营/*这道题并没有想到是dfs, 看到后首先就是人肉做, 但是很可惜错误了.再经过被提示是dfs后, 我就想怎么去dfs呢?最初想直接从 0, 0 开始, 直接这样搜全图,但是这样的话, 不知道怎么去枚举所有的起始点, 也不知道怎么回溯...后来突然想到, 枚举所有的点都为起点, 把从起始点开始所有一笔划sum < 25, 所有的product都记录就可以了这样就...

2018-03-02 09:45:06 136

原创 等和的分隔子集

晓萌希望将 11 到 NN 的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等。例如,对于 N=3N=3,对应的集合 \{1,2,3\}{1,2,3} 能被划分成 \{3\}{3} 和 \{1,2\}{1,2} 两个子集合.这两个子集合中元素分别的和是相等的。对于 N=3N=3 ,我们只有一种划分方法,而对于 N=7N=7 时,我们将有 44 种划分的方案。输入格式输入包括一行,仅...

2018-02-28 23:08:46 298

原创 三值排序

排序是一种很频繁的计算任务。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。写一个程序计算出,计算出的一个包括1、2、3三种值的数字序列,排成升序所需的最少交换次数。输入第1行为类别的数量N(1≤N≤1000)输入第2行到第N+1行,每行包括一个数字(1或2或3)。输出包含一行,为排成升序所需的最少交换次数。样...

2018-02-27 16:50:37 397

原创 三位数

由1, 2, 3, 4, 5, 6组成的每一位都不相同的三位数按照从小到大的顺序排列,计算第 100100 的数和第 9090 个数的差。/*最初做我是从后往前一个一个把数写出来的做完后想了想, 排列permutation(6, 3) = 120每个数开头都有120/6 = 20第90大和第100大都是5开头的, 并且剩下的两位是permutation(5, 2)这样比较好找出来答案...

2018-02-26 20:58:29 172

原创 十字图

输入格式输入一个整数 n(0≤n≤30),表示图形嵌套的层数。输出格式对应层数的该标志。样例输入11样例输出1..$$$$$....$...$..$$$.$.$$$$...$...$$.$$$$$.$$...$...$$$$.$.$$$..$...$....$$$$$..样例输入24样例输出2..$$$$$$$$$$$$$$$$$....$...............$..$...

2018-02-26 10:28:32 189

原创 乳草的侵占 bfs

Farmer John 一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿,他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份占领了一片立足之地。 草地像往常一样,被分割成一个高度为 Y(1 \le Y \le 100)Y(1≤Y≤100), 宽度为 X(1 \le X \le 100)X(1≤X≤100) 的直角网格。(1,1)(1,1)是左下角的格(也就是说坐标排布跟一...

2018-02-22 23:00:58 721

原创 蒜头君的新游戏 dp

工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:nn 位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃。蒜头君喊游戏开始,每位手里拿着娃娃的同事可以选择将娃娃传给左边或者右边的同学,当蒜头君喊游戏结束时,停止传娃娃。此时手里拿着娃娃的同事即是败者。玩了几轮之后,蒜头君想到一个问题:有多少种不同的方法,使得从同事 A 开始传娃娃,传了 mm次之后又回到了同事 A 手里...

2018-02-21 22:48:15 1019

原创 信息传递dfs

有 nn 个同学( 编号为 11 到 nn)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 nn 的同学的信息传递对象是编号为 T_iTi​的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象( 注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。 当有人从别人...

2018-02-21 14:54:52 409

原创 走迷宫

给一个 nn 行 mm 列的 22 维的迷宫,'S'表示迷宫额起点,'T'表示迷宫的终点,'#'表示不能通过的点,'.' 表示可以通过的点。你需要从'S'出发走到'T',每次只能上下左右走动,并且只能进入能通过的点,每个点只能通过一次。现在要求你求出有多少种通过迷宫的的方案。输入格式第一行输入 nn, mm (1 \le n,m \le 10)(1≤n,m≤10) 表示迷宫大小。

2018-02-03 14:56:44 142

原创 Radar Installation

DescriptionAssume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, loc

2018-01-24 19:39:32 113

空空如也

空空如也

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

TA关注的人

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