自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 论在LCT上下放标记

对LCT上标记下放的一些研究实验题目 Codevs1082线段树练习3 http://codevs.cn/problem/1082/实验目的 探究在LCT上下放标记的方式与特点,并与线段树和平衡树Splay做一下比较。如何用LCT表示一个数列 我用了种“猥琐”的方法——各结点前连后建成一条链。 其实看起来最快的方法是先用O(n)的时间建成一棵平衡树,然后用类似树链剖分中轻重链剖分的办

2015-10-23 21:31:00 979 1

原创 Codevs3753磁阵突围题解

题目描述 Description 落冰从悬崖上被冲下,虽有落令的精魂保护大难不死,但已消耗了大半法力。此时的棂刚刚也连续经历了三场恶战,身负重伤。夜色中他们急于撤出迷雾丛林,途中却被拉尔法的磁阵困住。这个磁阵专门用来对付落冰,由于洛伦兹力的作用,为避免给自己造成伤害,落冰被迫把自身的电流降到接近0,也因此暂时失去了攻击能力。拉尔法得意地阴笑着,因为他看出了棂的重伤,并认为自己可以轻易战胜棂。 然

2015-05-09 15:44:22 1001

原创 Noip2009最优贸易题解

题目评测地址 https://vijos.org/p/1754 http://codevs.cn/problem/1173/题目描述 Description 【问题描述】 C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个 城市之间最多只有一条道路直接相连。这m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路,双向通行的道路在统计条数时也

2015-10-26 21:25:21 866

原创 Noip2013火柴排队题解

题目题目描述 Description 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为Σni=1(ai−bi)2\Sigma_{i=1}^{n}(a_i-b_i)^2,其中aia_i表示第一列火柴中第 i 个火柴的高度,bib_i表示第二列火柴中第 i 个火柴的高度。 每列火柴中相邻两根火柴的位置都可

2015-10-25 10:19:31 1453

原创 埃及分数题解[迭代加深搜索]

题目链接 https://vijos.org/p/1308 http://codevs.cn/problem/1288/ - 题目描述 Description 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。 对于一个分数a/b,表示方法有很多种,但是哪种最好呢? 首先

2015-10-23 15:44:13 1518

原创 Codevs1700施工方案第二季题解

题目来源 http://codevs.cn/problem/1700/题目描述 Description c国边防军在边境某处的阵地是由n个地堡组成的。工兵连受命来到阵地要进行两期施工。 第一期的任务是挖掘暗道让所有地堡互联互通。现已勘测设计了m条互不相交的暗道挖掘方案,如果这m条暗道都实施挖掘,肯定能达到互联互通的目的。事实上,适当选择其中n-1个方案挖掘,就能实现互联互通,即从每个地堡出

2015-10-20 07:58:23 624

原创 Codevs2822爱在心中题解

题目来源 https://vijos.org/p/1626 http://codevs.cn/problem/2822/题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N(N≤1000N\le 1000)个人,在他们的心中都有着一个

2015-10-18 19:19:05 1085

原创 【Trie树】Poj2513题解

题目大意给你许多木棒,木棒的两端有颜色。若一根木棒某一端的颜色和另一根木棒某一端的颜色相同,则可以把这两根木棒颜色相同的一端连在一起形成一根长木棒。问所有的木棒能否连成一根长木棒。数据有很多行,每行两个长度不超过10个字符的字符串,表示一根木棒两个端点的颜色。题解一开始想用map水过,然并TLE。后来知道本题要用Tire存储每种颜色,于是乎记录了每种颜色出现的次数。若存在0种或2种只出现一

2015-10-15 08:51:54 596

原创 非递归!APIO2009atm[抢掠计划]题解

题目描述输入描述 Input Description 第一行包含两个整数N、M。N 表示路口的个数,M 表示道路条数。接下来 M 行,每行两个整数,这两个整数都在1 到N 之间,第i+1 行的两个整数表示第 i 条道路的起点和终点的路口编号。接下来N 行,每行一个整数,按顺序表示每 个路口处的ATM 机中的钱数。接下来一行包含两个整数S、P,S 表示市中心的 编号,也就是出发的路口。P

2015-10-13 20:06:18 1679

原创 Tyvj4071放射性辐射尘题解

题目来源 http://www.tyvj.cn/p/4071题目大意给定一棵树,支持修改单点的权值和查询某一路径上权值最大的点,总点数不超过100000。题解反正是要退役了,LCT这种东西NOIP是用不到了,就拿这个题和这种优美的数据结构说再见吧。LCT维护每条实链上权值最大的点。单点修改时先access,再splay,然后直接改,再维护一下实链上权值最大的点的下标就可以了。查询时先把

2015-09-22 21:42:18 782

原创 Codevs3162抄书问题题解

题目题目来源 http://codevs.cn/problem/3162/题目描述 Description 现在要把M本有顺序的书分给K个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本数给同一个人抄写。现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。输入描述 Input

2015-08-25 11:29:59 976

原创 NOI2014魔法森林题解

题目描述题目大意 给定一个无向图,每条边有两个权值aia_i和bib_i,求1→n1\to n路径上aia_i的最大值与bib_i的最大值之和的最小值。 2≤n≤500002\le n\le 50000; 0≤m≤1000000\le m\le100000; 1≤ai,bi≤50,0001\le a_i ,b_i\le50,000。题解膜拜那些会动态开点spfa的神犇们。 表示本蒟蒻

2015-08-22 17:17:26 1369

原创 Sdoi2015约数个数和题解莫比乌斯反演

题目描述T组数据,求ΣNi=1ΣMj=1d(ij)\Sigma_{i=1}^N\Sigma_{j=1}^Md(ij),d(x)d(x)代表x的约数个数。1≤N,M,T≤1051\le N, M,T\le 10^5题解首先,膜拜一下PoPoQQQ大神及其题解然后,有一个神奇的结论:ΣNi=1ΣMj=1d(ij)\Sigma_{i=1}^N\Sigma_{j=1}^Md(ij)=ΣNi=1ΣM

2015-08-20 15:12:30 896

原创 bzoj2594水管局长数据加强版题解

题目大意 给一张带权无向图,无重边和自环,有如下操作: 删除某条边,保证这条边在删除前一定存在,并且不破坏原图连通性; 询问两点之间所有路径中最小权值的最大值是多少;题解 问题的答案显然在原图的最小生成树上,于是本题就变成了动态维护删边最小生成树。 然而LinkCutTree维护最小生成树时并不支持删边操作,所以要离线处理,先删掉该删掉的边,再求最小生成树,把所有操作倒过来用LCT维护。

2015-08-14 18:00:36 2084

原创 Hnoi2010弹飞绵羊题解LCT

题目大意 给定一个序列,每个点有一个权值a[i],一只绵羊若站在点i上会被弹到第i+a[i]个点上,支持单点修改操作,求从某个点出发经过多少次会被弹飞。题解 令每个点的父亲结点是会被弹到的结点,那询问时每个点的答案就是这个点的深度。 LCT维护size域即可一开始以为是有向树,后来发现自己犯2了,按无向的做法就可以。做这种题千万别手残。我因为一句x->rever()打成x->rev^=1

2015-08-13 15:40:45 768

原创 bzoj2843极地旅行社题解

题目大意 有n座小岛,其中每个岛都有若干帝企鹅。一开始岛与岛之间互不相连。有m个操作,分别是在两个岛之间修一座双向桥,若两岛已连通则不修并输出no,若不连通就输出yes并修建;修改一个岛上帝企鹅的数量;询问从岛A到岛B可看到多少帝企鹅,若到不了输出impossible。题解 继续试水LCT。LCT维护每个点自身的企鹅数以及其在Splay下的子树的企鹅数的总和。修桥操作要在LCT中询问是否有相同

2015-08-13 15:19:14 1078

原创 LinkCutTree试水之bzoj2049[Sdoi08]洞穴勘测题解

题目大意 一张无向图,初始时没有边,写一个程序支持动态添边、删边、查询两点是否连通。题解 用LCT维护图的连通性。看来指针还是比较慢的。Code#include <cstdio>#include <algorithm>#define maxn 10005using namespace std;int n, m;struct node{ bool rev; nod

2015-08-12 16:59:03 691

原创 Vijos1935不可思议的清晨题解

- 题目来源 https://vijos.org/p/1935描述 今天,是2015年2月14日,星期六,情人节。 这真是一个不可思议的日子,今天早上,我打开窗户,太阳居然从西侧升了起来。 我与木姑娘已经有2年半没有联系了,今天早上却被她的电话弄醒。她告诉我,她已经到了上海,希望可以和我以特殊的方式见面。 今天,SH市的交通情况异常有趣,很多道路都被严令禁止通行。或许是因为太阳从西侧升起

2015-08-10 16:37:44 958

原创 Vijos1932重要的誓言题解

题目来源 https://vijos.org/p/1932描述 有些誓言说出来会很痛苦,比如说:“爱你是我最重要的事情,如果这件事情都做不了,我的人生就暗淡无光了”。 不过,我给予木姑娘的誓言,却不只是这么简单。 我有必要对于生命中最重要的k件事情给予评估,对于每一件事情的评估值分别是一个非负整数 aia_i。 不可能对于什么事情都给予很高的期望,所以 a[1]+a[2]+a[3]+..

2015-08-10 11:11:30 698

原创 NOI2004郁闷的出纳员题解

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

2015-08-09 11:38:38 2555 1

原创 Vijos1767YYB喋血题解

来源 https://vijos.org/p/1767描述 Hwz把YYB放到了一个迷宫之中,这个迷宫由n个节点构成,两个节点之间可能存在多条无向边,YYB的起点为1号节点,终点为n号节点。有m条无向边,对于每一条无向边,存在一个喋血值(∈N*,且≤100),即走过这条边的花费。另外,还有k个节点上有治疗药,即若YYB走到这个节点上时(不妨称这个点为治愈点),他身上所累积的喋血值会归零。YYB

2015-08-07 16:27:10 663

原创 Vijos1053Easy sssp题解

来源 https://vijos.org/p/1053描述 输入数据给出一个有N(2≤N≤10002 \le N \le 1000)个节点,M(M≤106M \le 10^6)条边的带权有向图. 要求你写一个程序, 判断这个有向图中是否存在负权回路. 如果从一个点沿着某条路径出发, 又回到了自己, 而且所经过的边上的权和小于0, 就说这条路是一个负权回路. 如果存在负权回路, 只输出一行

2015-08-07 15:13:20 1171

原创 VijosP1934属于她的幸福题解

- 题目来源 https://vijos.org/tests/54baa38517f3ca7b1f7ee2bb描述 曾几时,和木姑娘一起在独墅湖边的漫步,就成为了一个令我无限向往的梦。 现在,这也只能永远只是梦了。木姑娘已经找到了属于她自己的幸福。 夜晚的独墅湖边很凉,沿岸的n盏路灯将湖水圈在了光影之中。 路灯被编号为0到n-1,围成一圈,0号路灯与n-1号路灯相邻。 我独自坐在第0盏

2015-07-29 20:57:06 719

原创 Tyvj3308毒药解药题解

题目大意 这些药都有可能在治愈某些病症的同时又使人患上某些别的病症……经过我天才的努力,终于弄清了每种药的具体性能,我会把每种药能治的病症和能使人患上的病症列一张清单给你们,然后你们要根据这张清单找出能治愈所有病症的最少药剂组合……顺便说一声,病症的数目不超过10种,我的药是用不完的,就是说每种药剂都可以被重复使用。 题解 二进制表示患病状态(2n≤10242^n\le1024种)和每种药的治

2015-07-24 20:40:23 1362

原创 Codevs1225八数码难题题解

题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们. 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现

2015-07-24 19:54:22 837

原创 Noip2011瑞士轮题解

题目背景   在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。本题中介绍的瑞士轮赛制,因最早使用于1895年在瑞士举办的国际象棋比赛而得名。它可以看作是淘汰赛与循环赛的折衷,既保证了比赛的稳定性,又能使赛程不至于过长。   题目描述   2*N

2015-07-20 17:32:54 1804 2

原创 Noip2005谁拿了最多的奖学金题解

题解 题目本身没什么好说的。 不过一道普及组的题让我领悟到scanf()读字符的真谛。scanf()函数最奇妙的功能就是控制串里除格式化字符串之外的字符,若匹配成功则舍去。所以我们可以“精心设计”这个控制串,在读单个字符时略去所有空格、回车等干扰字符,再也不用cin一个(c)string然后手工判断了。题目描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各

2015-07-20 16:06:55 828

原创 POJ2230题解

题目来源 http://poj.org/problem?id=2230题目大意 求无向图从起点1开始从不同方向经过所有边的一条路径,输出任意一条。题解 把无向图的边拆成两条方向相反的有向边,做欧拉回路。 欧拉回路做法: 1、起点入栈;(回路的话起点可以是任意的) 2、扫描与起点相连的所有未被标记的边,对每条这样的边都标记它,然后它的终点入栈,递归处理; 3、如果从某个结点出发没有未

2015-07-17 17:25:03 1483

原创 POJ2449题解

先讲一个为了少打一些代码而滥用继承最终接受惨痛教训的故事。#include <cstdio>#include <algorithm>#include <queue>#include <cstring>using namespace std;const int oo = 1000000000, nil = 0;int N, M, S, T, K, times[1005];int u[2

2015-07-17 16:51:17 944 2

原创 bzoj2330 [SCOI2011]糖果题解

http://www.lydsy.com/JudgeOnline/problem.php?id=2330题目大意 对这个题我真的不想再多提一句了。 n个人分糖,保证每个人都有糖,有k个限制条件,分别是a=ba=b,a<ba<b,a≥ba\ge b,a>ba>b,a≤ba\le b。这五种情况分别用x=1,2,3,4,5表示。求最少需要准备多少糖果。其中n,k≤106n,k\le10^6。题解

2015-07-17 10:41:24 2461

原创 Tyvj1415西瓜种植题解

题目来源 http://www.tyvj.cn/p/1415题目大意 西瓜地的种植范围是一条直线,有m个形如“从西瓜地b处到e处至少要种植t个西瓜”的条件,每块地最多种一个西瓜。问在满足所有条件的前提下,最少要种植多少西瓜? 题解 第一次做差分约束的题。这种类型的题和最短(长)路有着密切的联系。 我们用f[i]f[i]表示前i块地种的西瓜总数,其中f[0]=0f[0]=0: “每块地最多

2015-07-16 16:05:48 1518

原创 LNOI2013最小距离之和题解

http://codevs.cn/problem/2011/题目描述 Description DQ星球的世界末日就要到了,可是诺亚方舟还没有制造完成。为了制造诺亚方舟这个星球上的所有国家都站在统一战线。现在一共有n个国家,一个国家到另一个国家都有一条且仅有一条通信渠道,且这个渠道有一个距离,这样就形成了一个有向完全图。 世界末日的预兆已经来了,世界上很多东西都在遭到不明原因的破坏,包括这些通信渠道

2015-07-16 09:01:35 783

原创 CTSC1999补丁VS错误题解

题目描述 Description 错误就是人们所说的Bug。用户在使用软件时总是希望其错误越少越好,最好是没有错误的。但是推出一个没有错误的软件几乎不可能,所以很多软件公司都在疯狂地发放补丁(有时这种补丁甚至是收费的)。T公司就是其中之一。 上个月,T公司推出了一个新的字处理软件,随后发放了一批补丁。最近T公司发现其发放的补丁有致命的问题,那就是一个补丁在排除某些错误的同时,往往会加入另一些错误

2015-07-15 16:39:01 934

原创 ZJOI2002昂贵的聘礼题解

http://codevs.cn/problem/1324/题目大意 一个部落,你可以和社会地位等级的极差不大于M的所有人交易。你可以拿金币直接从一个人手里买东西,也可以从别人那里买到那个人想要的东西来获取减价。问最终从酋长那里“买”到你心仪的“东西”的最小代价。题解 把自己作为起点,向每一个物品连边权为这件物品原价的有向边。然后如果买物品i会使物品j降价,那么连一条从i到j边权为降价后的价格

2015-07-15 15:11:28 1176

原创 Codevs1021玛丽卡题解

http://codevs.cn/problem/1021/题目大意 在一张无向图中求删去一条边后的从点1到点n的最短路的最大值。 点数≤\le1000,边数≤106\le10^6。题解 一开始的思路是枚举所有边,然后分别跑最短路,然后妥妥地T。 先考虑不删边的情况,那么可以跑一次最短路。(众:废话!) 然而我们的目的是把这一条最短路记录下来。实际上,要删的边都在最短路上。(否则删了一条

2015-07-15 10:27:50 1126

原创 Codevs1364寻宝题解

http://codevs.cn/problem/1364/题解 一看就是一道最短路的题。设起点、终点,按题意一条条地添边。每层楼都是环状的,终点在第N+1层,添边时要格外小心。有点分层图的意思。堆优化dijkstra耐心写下去。本题考最短路,还考耐心。Code#include <cstdio>#include <cstring>#include <queue>#include <alg

2015-07-14 17:37:13 870

原创 20150714学校测试

前言 4个题里有两个SCOI的题,还都是2005年的。题目一、整数的表示 任何一个正整数都可以用2的幂次方表示.例如:137=27+23+20137=2^7+2^3+2^0同时约定次方用括号来表示,即aba^b可表示为a(b)a(b)由此可知,137可表示为:2(7)+2(3)+2(0)2(7)+2(3)+2(0)进一步:7=22+2+20(21用2表示)3=2+207=2^2+2+2^0

2015-07-14 15:46:37 1049

原创 Codevs2038香甜的黄油题解

题目就不粘了吧,大路边上就有。题解 很直观的做法是枚举各个牧场跑最短路,把有奶牛的牧场的距离和加起来,求最小值。然后dijkstra堆优化时间复杂度O(V2log2V+VE)O(V^2\log_2V + VE)迅速通过。Code#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#includ

2015-07-12 17:30:19 656

原创 Codevs1992题解

题目大意 求有向图中经过某一点k的最大环(数据规模不支持floyd)。题解 以k为起点在正向图中spfa求单源最短路,再在反向图中spfa求单源最短路。枚举除k外的每一个点i,如果有一个同时包含i与k的环,ans=max{ans,dist[i]+invdist[i]}ans=\max\{ans,dist[i]+invdist[i]\}。Code#include <cstdio>#incl

2015-07-12 11:26:12 786

原创 Poj1734题解

题目大意 求一个无向图的最小环题解 如果是有向图的话,只需要令f[i][i]=+∞f[i][i]=+\infty,再floyd即可; 对无向图,应该在floyd算法循环至k的一开始进行如下操作: 枚举i和j,如果点i存在经过点j的环,则用i→ki\to k,k→jk\to j,j→编号小于k的结点→ij\to编号小于k的结点\to i 的最短路去更新最小环的长度, 即ans=min{an

2015-07-12 10:06:46 820

空空如也

空空如也

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

TA关注的人

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