自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

(■-■)

一只蒟蒻的OI生涯

  • 博客(83)
  • 资源 (2)
  • 收藏
  • 关注

原创 【BZOJ1912】【APIO2010】巡逻(树最长链)

DescriptionInput第一行包含两个整数 n, K(1 ≤ K ≤ 2)。接下来 n – 1行,每行两个整数 a, b, 表示村庄a与b之间有一条道路(1 ≤ a, b ≤ n)。Output输出一个整数,表示新建了K 条道路后能达到的最小巡逻距离。Sample Input8 1 1 2 3 1 3 4 5 3 7 5 8 5 5 6 Sample Output11HINT10%的数据中,

2017-04-28 22:30:29 443

原创 【BZOJ1179】【APIO2009】Atm(tarjan+spfa)

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

2017-04-28 22:22:49 474

原创 【BZOJ3624】【APIO2008】免费道路(贪心+并查集)

DescriptionInputOutputSample Input5 7 21 3 04 5 13 2 05 3 14 3 01 2 14 2 1Sample Output3 2 04 3 05 3 11 2 1题解: APIO的题好难想QAQ。。 我果然还是太弱了QAQ。。 写一个solve函数用于向最小生成树中添加边。 首先,优先添加1类边,再填0类边。这样就可以得出必须添加的0类边。

2017-04-28 22:17:58 410

原创 update 4.28

我回来啦!!! 各位大佬对不起,前一阵懒癌发作没有更新博客,最近一定填坑。

2017-04-28 22:06:47 254

原创 【BZOJ1576】【Usaco2009】安全路经Travel(树链剖分+dijkstra)

DescriptionInput第一行: 两个空格分开的数, N和M第2..M+1行: 三个空格分开的数a_i, b_i,和t_iOutput第1..N-1行: 第i行包含一个数:从牛棚_1到牛棚_i+1并且避免从牛棚1到牛棚i+1最短路经上最后一条牛路的最少的时间.如果这样的路经不存在,输出-1.Sample Input4 51 2 21 3 23 4 43 2 12 4 3Sample

2017-03-29 19:56:38 364

原创 【BZOJ2243】【SDOI2011】染色(树链剖分+线段树)

Description给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数; 第二行包含n个正整数表示n个节点的初始颜色

2017-03-29 19:50:02 301

原创 【BZOJ3694】最短路(树链剖分)

Description给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树。 给出最短路树,求对于除了源点1外的每个点i,求最短路,要求不经过给出的最短路树上的1到i的路径的最后一条边。Input第一行包含两个数n和m,表示图中有n个点和m条边。 接下来m行,每行有

2017-03-29 18:23:56 394

原创 【BZOJ3924】【Zjoi2015】幻想乡战略游戏(树链剖分+点分治)

Description傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和别人打仗了。 在打仗之前,幽香现在面临一个非常基本的管理问题需要解决。 整个地图是一个树结构,一共有n块空地,这些空地被n-1条带权边连接起来,使得每两个点之间有一条唯一的路径将它们连接起来。在游

2017-03-29 18:17:50 518

原创 【BZOJ4034】【HAOI2015】树上操作(树链剖分)

Description有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。Input第一行包含两个整数 N, M 。表示点数和操作数。接下来一行 N 个整数,表示树中节点的初始权值。接

2017-03-29 18:09:41 249

原创 【poj2728】Desert King(最优比率生成树)

DescriptionDavid the Great has just become the king of a desert country. To win the respect of his people, he decided to build channels all over his country to bring water to every village. Villages wh

2017-03-29 18:04:48 268

原创 【BZOJ4401】块的计数

Description小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树。听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效。当然,无聊的小Y对这种事情毫无兴趣,只是对把树分块这个操作感到十分好奇。他想,假如能把一棵树分成几块,使得每个块中的点数都相同该有多优美啊!小Y很想知道,能有几种分割方法使得一棵树变得优美。小Y每次会画出一棵树,但由于手速太快,有时候小Y画出来

2017-03-29 17:54:03 278

原创 【BZOJ2260】商店购物 & 【BZOJ4349】最小树形图 (朱刘算法)

DescriptionGrant是一个个体户老板,他经营的小店因为其丰富的优惠方案深受附近居民的青睐,生意红火。小店的优惠方案十分简单有趣。Grant规定:在一次消费过程中,如果您在本店购买了精制油的话,您购买香皂时就可以享受2.00元/块的优惠价;如果您在本店购买了香皂的话,您购买可乐时就可以享受1.50元/听的优惠价……诸如此类的优惠方案就是说:如果您在本店购买了商品A的话,您就可以以P元/件的

2017-03-29 17:45:14 416

原创 【BZOJ2960】跨平面(对偶图+朱刘算法)

DescriptionInput第一行两个整数n和m,表示点与线段的数目。 接下来n行,每行两个整数x和y,表示第i个点的坐标,点从1到n编号。 接下来m行,每行四个整数p,q,V1和V2,表示存在一条从第p个点连向第q个点的线段,激活p->q这个方向的费用为V1,另一个方向费用为V2。 保证若两条线段相交,则交点是它们的公共端点。Output输出一行一个正整数,表示最小总激活费用。Sampl

2017-03-29 17:38:31 599

原创 【BZOJ1977】【BeiJing2010】组队次小生成树Tree(生成树)

Description小 C 最近学了很多最小生成树的算法,Prim 算法、Kurskal 算法、消圈算法等等。 正当小 C 洋洋得意之时,小 P 又来泼小 C 冷水了。小 P 说,让小 C 求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说: 如果最小生成树选择的边集是 EM,严格次小生成树选择的边集是 ES,那么需要满足:(value(e) 表示边 e的权值) 这下小 C

2017-03-29 17:28:51 333

原创 【BZOJ1016】【JSOI2008】最小生成树计数 & 【BZOJ1543】生成树计数 (kruskal+matrix_tree定理)

Description  现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的 最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生 成树可能很多,所以你只需要输出方案数对31011的模就可以了。Input  第一行包含两个数,n和m,其中1<=n<=100; 1<=m<=1000; 表示该无向图的节点数

2017-03-29 17:23:17 571

原创 【BZOJ4698】【Sdoi2008】Sandy的卡片(kmp 后缀数组)

DescriptionSandy和Sue的热衷于收集干脆面中的卡片。然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型。每一张卡片都由一些数字进行标记,第i张卡片的序列长度为Mi,要想兑换人物模型,首先必须要集够N张卡片,对于这N张卡片,如果他们都有一个相同的子串长度为k,则可以兑换一个等级为k的人物模型。相同的定义为:两个子串长度相同且一个串的全部元素加

2017-03-28 22:26:00 377

原创 【bzoj4245】【ONTAK2015】OR-XOR(位运算)

Description给定一个长度为n的序列a[1],a[2],…,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or … or c[m]。请求出总费用的最小值。Input第一行包含两个正整数n,m(1<=m<=n<=500000),分别表示序列的长度和需要划分的段数。 第一行包含n个整数,其中第i个数为ai。Output

2017-03-28 22:20:44 351

原创 【BZOJ3729】Gty的游戏(伸展树+博弈论)

Description某一天gty在与他的妹子玩游戏。 妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问 将某个节点的子树中的石子移动到这个节点先手是否有必胜策略。 gty很快计算出了策略。 但gty的妹子十分机智,她决定修改某个节点的石子或加入某个新节点。 gty不忍心打击妹子,所以他将这个问题交给了你。 另外由于gty十分绅士,所以他将

2017-03-28 22:18:09 476

原创 【bzoj1251】序列终结者(伸展树)

Description网上有许多题,就是给定一个序列,要你支持几种操作:A、B、C、D。一看另一道题,又是一个序列 要支持几种操作:D、C、B、A。尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量……这样 我也出一道题,我出这一道的目的是为了让大家以后做这种题目有一个“库”可以依靠,没有什么其他的意思。这道题目 就叫序列终结者吧。 【问题描述】 给定一个长度为N的序列,每个序列

2017-03-28 22:11:57 242

原创 【BZOJ3714】【PA2014】Kuglarz(最小生成树)

Description魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品。花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性。 采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯子底下藏着球?Input第一行一个整数n(1<=n<=2000)。 第i+1行(1<=i<=n)有n+

2017-03-28 22:06:03 364

原创 【BZOJ2521】【SHOI2010】最小生成树(最小割)

DescriptionSecsa最近对最小生成树问题特别感兴趣。他已经知道如果要去求出一个n个点、m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法。另外,他还知道,某一个图可能有多种不同的最小生成树。例如,下面图 3中所示的都是图 2中的无向图的最小生成树:当然啦,这些都不是今天需要你解决的问题。Secsa想知道对于某一条无向图中的边AB,至少需要多少代价可以保证AB边在这个

2017-03-28 21:43:37 363

原创 【BZOJ1202】【HNOI2005】狡猾的商人(并查集)

Description刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3…n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表示这个月亏损Ai 元。所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和。 刁姹的任务是秘密进行的,为了调查商人的账本,她只好跑到商人那里打工。她

2017-03-28 21:36:13 428

原创 【BZOJ4688】One-Dimensional(矩阵快速幂)

Description考虑一个含有 N 个细胞的一维细胞自动机。细胞从 0 到 N-1 标号。每个细胞有一个被表示成一个小于 M 的非负整数的状态。细胞的状态会在每个整数时刻发生骤变。我们定义 S(i,t) 表示第 i 个细胞在时刻 t 的状态。在时刻 t+1 的状态被表示为 S(i,t+1)=(A×S(i-1,t)+B×S(i,t)+C×S(i+1,t) ) mod M ,其中 A,B,C 是

2017-03-28 21:09:47 402

原创 【POJ3368】Frequent values(RMQ)

DescriptionYou 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 qu

2017-03-27 20:11:03 291

原创 【POJ3728】The merchant(LCA+并查集)(好题)

DescriptionThere are N cities in a country, and there is one and only one simple path between each pair of cities. A merchant has chosen some paths and wants to earn as much money as possible in each p

2017-03-27 20:05:24 690

原创 【POJ3417】Network(树形dp)

DescriptionYixght is a manager of the company called SzqNetwork(SN). Now she’s very worried because she has just received a bad news which denotes that DxtNetwork(DN), the SN’s business rival, intents

2017-03-27 19:57:55 267

原创 【BZOJ4753】【JSOI2016】最佳团体(树形dp+二分)

DescriptionJSOI信息学代表队一共有N名候选人,这些候选人从1到N编号。方便起见,JYY的编号是0号。每个候选人都由一位编号比他小的候选人Ri推荐。如果Ri=0则说明这个候选人是JYY自己看上的。为了保证团队的和谐,JYY需要保证,如果招募了候选人i,那么候选人Ri”也一定需要在团队中。当然了,JYY自己总是在团队里的。每一个候选人都有一个战斗值Pi”,也有一个招募费用Si”。JYY希望

2017-03-27 19:43:05 1521

原创 【BZOJ3878】【Ahoi2014】奇怪的计算器(线段树)

Description【故事背景】JYY有个奇怪的计算器,有一天这个计算器坏了,JYY希望你能帮助他写一个程序来模拟这个计算器的运算。【问题描述】 JYY的计算器可以执行N条预设好的指令。每次JYY向计算器输入一个正整数X,计算器就会以X作为初始值,接着依次执行预设的N条指令,最后把最终得出的结果返回给JYY。 每一条指令可以是以下四种指令之一:(这里a表示一个正整数。) 1、+a:表示将当前

2017-03-27 18:16:39 496

原创 【bzoj3813】奇数国(线段树+数论)(好题)

Description在一片美丽的大陆上有100000个国家,记为1到100000。这里经济发达,有数不尽的账房,并且每个国家有一个银行。某大公司的领袖在这100000个银行开户时都存了3大洋,他惜财如命,因此会不时地派小弟GFS清点一些银行的存款或者让GFS改变某个银行的存款。该村子在财产上的求和运算等同于我们的乘法运算,也就是说领袖开户时的存款总和为3100000。这里发行的软妹面额是最小的60

2017-03-27 18:03:55 387

原创 【BZOJ1858】【SCOI2010】序列操作(线段树+合并)

Descriptionlxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有的0变成1,把所有的1变成0 3 a b 询问[a, b]区间内总共有多少个1 4 a b

2017-03-27 17:56:58 294

原创 【BZOJ1798】【Ahoi2009】维护序列seq(线段树)

Description老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个整数N和P(1≤P≤1000000000)。第二行含有N个非负整数,从左到右

2017-03-27 17:40:39 307

原创 【BZOJ1018】【SHOI2008】堵塞的交通traffic(线段树)(好题)

Description  有一天,由于某种穿越现象作用,你来到了传说中的小人国。小人国的布局非常奇特,整个国家的交通系统可 以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所以总共有2C个 城市和3C-2条道路。 小人国的交通状况非常槽糕。有的时候由于交通堵塞,两座城市之间的道路会变得不连通, 直到拥堵解决,道路才会恢复畅通。初来咋到的你决心毛遂自荐到交

2017-03-27 17:34:14 418

原创 【BZOJ3529】【SDOI2014】数表(莫比乌斯反演+树状数组)(好题)

Description有一张N×M的数表,其第i行第j列(1<=i <=N,1<=j<=M)的数值为能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。Input输入包含多组数据。 输入的第一行一个整数Q表示测试点内的数据组数,接下来Q行,每行三个整数n,m,a(|a| < =10^9)描述一组数据。Output对每组数据,输出一行一个整数,表示答案模2^31的值。Sample

2017-03-27 16:51:16 513

原创 【BZOJ3333】【排队计划】(树状数组+线段树)

DescriptionInputOutputSample Input6 2 160 163 164 161 167 160 2 3 Sample Output631HINT题解: 题目大意:给定一个序列,每次选择一个位置,把这个位置之后所有小于等于这个数的数抽出来,排序,再插回去,求每次操作后的逆序对数。 很容易看出,只有排序的这些数字的相对位置发生了变化,因此也只有这些数字之间的逆序对个数发生

2017-03-27 16:20:37 339

原创 【BZOJ3211】【花神游历各国】&【BZOJ3038】上帝造题的七分钟2(树状数组+链表)

DescriptionInputOutput每次x=1时,每行一个整数,表示这次旅行的开心度Sample Input4 1 100 5 5 5 1 1 2 2 1 2 1 1 2 2 2 3 1 1 4Sample Output101 11 11HINT对于100%的数据, n ≤ 100000,m≤200000 ,data[i]非负且小于10^9题解: 题目大意为区间的开方与求

2017-03-27 16:00:39 373

原创 【BZOJ1264】【AHOI2006】基因匹配Match (dp+树状数组)

Description卡卡昨天晚上做梦梦见他和可可来到了另外一个星球,这个星球上生物的DNA序列由无数种碱基排列而成(地球上只有4种),而更奇怪的是,组成DNA序列的每一种碱基在该序列中正好出现5次!这样如果一个DNA序列有N种不同的碱基构成,那么它的长度一定是5N。 卡卡醒来后向可可叙述了这个奇怪的梦,而可可这些日子正在研究生物信息学中的基因匹配问题,于是他决定为这个奇怪星球上的生物写一个简单的D

2017-03-27 15:44:52 355

原创 【BZOJ1012】【JSOI2008】最大数maxnumber(单调栈+二分)

Description  现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长整

2017-03-27 15:32:42 487

原创 【树状数组】树状数组の奇技淫巧专场

本篇文章将介绍一些非常规形态的树状数组的使用。一)异或版树状数组中记录的是一段值异或的结果。 例题:BZOJ2819 题目大意: 给定一棵树,每个节点是一堆石子,给定两种操作: 1.改变x号节点的石子数量 2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略 题解: 既然它只修改点的话,影响到的只是它这棵子树。那么很容易就想到了dfs序。这个子树就是连续一段。先维护每

2017-03-20 22:30:46 283

原创 【莫队】莫队算法的扩展

一)树上莫队普通的莫队非常容易掌握。那么我们可以把它扩展到树上。 简单地来说,树上莫队是利用了dfs序的莫队。为了保证复杂度的稳定性,两个块之间的元素个数差不应超出三倍。仍然分√n个块,每块√n个元素。dfs过程中记录一个栈内有多少元素,大于等于√n个时分一块。dfs完剩下的分到最后一个块,这样就能保证复杂度在O(n√n)了。例题:BZOJ1086#include<iostream>#inclu

2017-03-20 22:20:01 325

原创 【普通莫队选讲】BZOJ2038 BZOJ3289 BZOJ3781

2038 Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。 你的任务便是告诉小

2017-03-20 20:57:12 215

usaco chapter3-6

usaco 3到6章讲解

2017-02-16

usaco部分代码

usaco部分代码,仅供参考,请勿抄袭!

2017-02-16

空空如也

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

TA关注的人

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