自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小蒟蒻yyb的博客

我真的很水,我只是小蒟蒻。。。

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

原创 【BZOJ4540】【HNOI2016】序列(莫队)

题面BZOJ 洛谷Description  给定长度为n的序列:a1,a2,…,an,记为a[1:n]。类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar- 1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。现在有q个询问,每个询问给定两个数l和r,1≤l≤r ≤n,求a[l:r]的不同子序列的最小值之和。例如,给定序列5,2,4,1,3,询问给

2018-03-31 22:03:44 319

原创 【NOIP2017】列队(Splay)

题面洛谷题解其实好简单啊。。。 对于每一行维护一棵SplaySplay 对于最后一列维护一棵SplaySplay SplaySplay上一个节点表示一段区间 每次出去一个人就是把当前的SplaySplay的一个节点拆分成33个然后就很简单了。。 细节比较多。。#include<iostream>#include<cstdio>#include<cstdlib>#include<cst

2018-03-31 20:48:15 406

原创 ZJOI2018酱油记

前言作为高一蒟蒻选手 ZJOIZJOI是我打酱油的地方 显然我也是这么做的 但是毕竟也有3,4天的时间,所以还是记录一下最近的行踪吧Day02018.3.18 Sun2018.3.18\ Sun因为19号就开始讲课,所以我们18号就动身前往浙江 从南门口坐地铁一路到南站 走进高铁站,忽然发现了点有趣的问题 “我上次离开长沙是什么时候了?” “初一暑假,3年前了”

2018-03-31 20:44:55 384

原创 【BZOJ4828】【HNOI2017】大佬(动态规划)

题面BZOJ 洛谷 LOJ 人们总是难免会碰到大佬。他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场 就能让周围的人吓得瑟瑟发抖,不敢言语。你作为一个OIER,面对这样的事情非常不开心,于是发表了对大佬不敬 的言论。大佬便对你开始了报复,你也不示弱,扬言要打倒大佬。现在给你讲解一下什么是大佬,大佬除了是神犇 以外,还有着强大的自信心,自信程度可以被量化为...

2018-03-30 21:49:17 337

原创 【NOIP2017】宝藏(状态压缩,动态规划)

题面洛谷 题目描述参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋, 也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度。小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远, 也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路 则相对容易很多。小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助他打通一条从地面到

2018-03-29 20:05:52 724

原创 【HDU4336】Card Collector (动态规划,数学期望)

题面Vjudge题解设f[i]f[i]表示状态ii到达目标状态的期望 f[i]=(∑f[j]∗p[j]+1)/(∑p[j])f[i]=(\sum f[j]*p[j]+1)/(\sum p[j]) 直接枚举一下即可#include<cstdio>int n;float f[1<<20],p[20];int main(){ while(scanf("%d",&n)!=EOF)

2018-03-29 19:58:43 314

原创 【HDU4652】Dice(数学期望,动态规划)

题面Vjudge 有一个mm面骰子 询问,连续出现nn个相同的时候停止的期望 连续出现nn个不同的时候停止的期望题解考虑两种分开询问来算。第一种: 设f[i]f[i]表示已经有连续的ii个相同时,到达目标状态的期望。 f[i]=1mf[i+1]+m−1mf[1]+1f[i]=\frac{1}{m}f[i+1]+\frac{m-1}{m}f[1]+1 相邻两项作差,得到 m(f[i+1]

2018-03-29 11:55:57 944

原创 【NOI2017】游戏(搜索,2-sat)

题面BZOJ的SPJ是假的 兹磁洛谷题解如果没有xx地图的影响 这就是一个裸的2−sat2-sat问题但是现在有不超过88个xx地图的影响 我们不难想到枚举xx地图的状态再来2−sat2-sat判断剩余是否可行。 这样的复杂度是O(3dn)O(3^dn),稍微算一下发现这个复杂度有点假考虑如何优化,我们枚举xx地图不连什么 表面上看起来还是O(3dn)O(3^dn) 但是,当他等价于a,

2018-03-28 16:16:09 240

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

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

2018-03-28 14:47:46 176

原创 【BZOJ4152】The Captain(最短路)

题面BZOJDescription给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。Input第一行包含一个正整数n(2<=n<=200000),表示点数。 接下来n行,每行包含两个整数x[i],yi,依次表示每个点的坐标。Output一个整数,即最小费用。Sample Input52 21 14 57 16 7

2018-03-28 10:02:51 211

原创 【BZOJ2763】飞行路线(最短路)

题面BZOJDescriptionAlice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机。那么Alice和Bob这

2018-03-28 09:23:58 632

原创 【BZOJ3566】概率充电器(动态规划)

题面BZOJDescription著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器: “采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看吧! ” SHOI 概率充电器由 n-1 条导线连通了 n 个充电元件。进行充电时,每条导线是否可以导电以概率决定,每一个充电元件自身是否

2018-03-27 15:23:29 140

原创 【BZOJ1042】硬币购物(动态规划,容斥原理)

题面BZOJDescription  硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买s i的价值的东西。请问每次有多少种付款方法。Input  第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s,其中di,s<=100000,tot<=1000Output  每次的方法数Sample Input1 2

2018-03-27 11:53:04 624

原创 【BZOJ3105】新Nim游戏(线性基)

题面BZOJDescription传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。 本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也

2018-03-27 10:20:37 155

原创 【BZOJ4443】小凸玩矩阵(二分答案,二分图匹配)

题面BZOJDescription小凸和小方是好朋友,小方给小凸一个N*M(N<=M)的矩阵A,要求小秃从其中选出N个数,其中任意两个数字不能在同一行或同一列,现小凸想知道选出来的N个数中第K大的数字的最小值是多少。Input第一行给出三个整数N,M,K 接下来N行,每行M个数字,用来描述这个矩阵Output如题 Sample Input3 4 21 5 6 6 8 3 4 36 8 6 3Sam

2018-03-27 10:07:46 273

原创 【BZOJ3625/CF438E】小朋友和二叉树(多项式求逆,多项式开方)

题面BZOJ CodeForces 大致题意: 对于每个数出现的次数对应的多项式A(x)A(x) 求f(x)=2−4A(x)+1‾‾‾‾‾‾‾‾‾‾‾√+1f(x)=\frac{2}{\sqrt{-4A(x)+1}+1}题解多项式开方+多项式求逆模板题 我之前写的多项式求逆很丑,常数大的惊人 成功拿到洛谷模板题倒数第一的速度于是,我学习了一波Gay神的写法 写了一下这道题目具体的细节暂

2018-03-25 20:28:13 346

原创 【BZOJ4817】树点涂色(LCT,线段树,树链剖分)

题面BZOJDescriptionBob有一棵n个点的有根树,其中1号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种操作: 1 x: 把点x到根节点的路径上所有的点染上一种没有用过的新颜色。 2 x y: 求x到y的路径的权值。 3 x y: 在以x为根的子树中选择一个点

2018-03-24 17:20:48 199

原创 【BZOJ4456】旅行者(最短路,分治)

题面BZOJDescription小Y来到了一个新的城市旅行。她发现了这个城市的布局是网格状的,也就是有n条从东到西的道路和m条从南到北 的道路,这些道路两两相交形成n×m个路口 (i,j)(1≤i≤n,1≤j≤m)。她发现不同的道路路况不同,所以通过不 同的路口需要不同的时间。通过调查发现,从路口(i,j)到路口(i,j+1)需要时间 r(i,j),从路口(i,j)到路口(i+1 ,j)需要

2018-03-24 14:00:26 283

原创 CF954F Runner's Problem(动态规划,矩阵快速幂)

题面CodeForces 翻译: 有一个3×M3\times M的田野 一开始你在(1,2)(1,2)位置 如果你在(i,j)(i,j)位置 在不出界的前提下,可以走到(i+1,j),(i+1,j±1)(i+1,j),(i+1,j±1) 有nn段障碍,障碍不能走 询问从(1,2)(1,2)到达(M,2)(M,2)的方案数 n<=104,M<=1018n<=10^4,M<=10^{18

2018-03-22 21:01:01 238

原创 【BZOJ4300】绝世好题(动态规划)

题面BZOJDescription给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2Input输入文件共2行。 第一行包括一个整数n。 第二行包括n个整数,第i个整数表示ai。Output输出文件共一行。 包括一个整数,表示子序列bi的最长长度。Sample Input31 2 3Sample O

2018-03-16 21:34:22 327

原创 【NOI2006】聪明的导游

题面洛谷题目描述小佳最近迷上了导游这个工作,一天到晚想着带游客参观各处的景点。正好 M 市在举行 NOI,来参观的人特别的多。不少朋友给小佳介绍了需要导游的人。M 市有nnn 个著名的景点,小佳将这些景点从111 至nnn 编号。有一些景点之间存在双向的路。小佳可以让游客们在任何一个景点集合,然后带着他们参观,最后也可以在任何一个景点结束参观。不过,来参观的游客们都不愿去已经参观过的地方。所以,小佳

2018-03-16 20:52:00 384

原创 【BZOJ4568】幸运数字(线性基,树链剖分,ST表)

题面BZOJDescriptionA 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个 幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 国。旅行者计划 乘飞机降落在 x 号城市,沿着 x 号城市到 y 号城市之间那条唯一的路径游览,最终从 y 城市起飞离开 A 国。 在经过每一座城市时,游览者就会

2018-03-16 18:03:29 227

原创 【BZOJ2115】Xor(线性基)

题面BZOJDescriptionInput第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。Output仅包含一个整数,表示最大的XOR和(十进制结果),注意输出后加换行回车。Sample Input5 7 1 2 2 1 3 2

2018-03-16 17:17:16 224

原创 线性基(【洛谷3812】)

题面题目描述给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。输入输出格式输入格式:第一行一个数n,表示元素个数接下来一行n个数输出格式:仅一行,表示答案。输入输出样例输入样例#1: 2 1 1输出样例#1: 1题解线性基模板题以下是线性基的有关内容1.构建对于当前要加入线性基的数xxx ...

2018-03-16 16:47:41 226

原创 【BZOJ2460】元素(贪心,线性基)

题面BZOJDescription相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而 使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制 出法杖,这个现象被称为“魔法抵消” 。特别地,如...

2018-03-16 16:38:04 192

原创 【BZOJ4516】生成魔咒(后缀自动机)

题面BZOJDescription魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 1、2 拼凑起来形成一个魔咒串 [1,2]。 一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒。 例如 S=[1,2,1] 时,它的生成魔咒有 [1]、[2]、[1,2]、[2,1]、[1,2,1] 五种。S=[1,1,1] 时,它的生成魔咒有 [1]、 [1,1]、[1,1,1] 三

2018-03-14 22:12:18 205

原创 【BZOJ1497】【NOI2006】最大获利(网络流)

题面BZOJDescription新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。在前期市场调查和站址勘测之后,公司得到了一共N个可以作为通讯信号中转站的地址,而由于这些地址的地理位置差异,在不同的地方建造通讯中转站需要投入的成本

2018-03-14 16:36:27 147

原创 【SYZOJ279】滑稽♂树(树套树)

题面SYZOJ CJOJ题目描述zzsyz实验楼里面种了一棵滑稽树,只有滑稽之力达到大乘期的oier才能看到。虽然我们看不到,但是还是知道一些信息:这真的是一棵树,由n个节点,n-1条边联通。一号滑稽果同时也是整棵滑稽树的树根。滑稽树上每个节点有一个滑稽果,每个滑稽果有它的重量。雪甜甜公主是神犇当然看得到那棵滑稽树啦,现在她感兴趣的是这样三件事1:滑稽树太大啦,雪甜甜公主有的时候只想知道,在以某一

2018-03-14 15:18:23 315

原创 【BZOJ2806】Cheat(后缀自动机,二分答案,动态规划,单调队列)

题面BZOJ 洛谷题解很有趣的一道题啊对于在所有的串上面进行匹配? 很明显的后缀自动机 所以先构建出广义后缀自动机然后这个拆分很像一个dpdp 同时,要求的东西很像一个可以二分的样子所以二分一个答案,考虑如何dpdp 设f[i]f[i]表示处理完前ii个字符,能够匹配上的最多的字符个数 转移是f[i]=max(f[j]+i−j)f[i]=max(f[j]+i-j),满足i−j>midi-

2018-03-13 20:22:57 274

原创 【BZOJ2733】永无乡(线段树,并查集)

题面BZOJ题解线段树合并线段树合并是一个很有趣的姿势前置技能:动态开点线段树具体实现:每次合并两棵线段树的时候,假设叫做t1,t2t1,t2,其中要把t2t2合并进t1t1中假设当前位置t1t1没有节点,则直接把t2t2的这个位置给t1t1(直接接上去就好啦)如果t2t2这个位置没有节点,那么直接returnreturn否则,两个位置都有节点,把两个节点的信息合并,然后递归合并左右子树简单的代码如

2018-03-13 17:08:59 199

原创 【BZOJ4991】我也不知道题目名字是什么(线段树)

题面BZOJ题解对于线段树维护的区间维护以下东西:区间左(右)端开始(结束)的最长(短)子串的长度左端右端的值,以及当前区间内的答案每次向上合并只需要分类讨论即可#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#include<set

2018-03-13 15:34:07 270

原创 【BZOJ4999】This Problem Is Too Simple!(线段树)

题面BZOJ题解对于每个值,维护一棵线段树就好啦动态开点,否则空间开不下剩下的就是很简单的问题啦当然了,对于数值要离散化没必要离线吧,在线用mapmap维护就行了#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#include<set

2018-03-13 15:31:24 195

原创 【BZOJ1858】序列操作(线段树)

题面BZOJ题解这题思路很简单,细节很烦,很码维护区间翻转和区间赋值标记当打到区间赋值标记时直接覆盖掉翻转标记下放标记的时候先放赋值标记再放翻转标记这样可以维护前4个操作对于第5个操作维护区间从左/右端点开始的最大连续0/10/1的个数以及区间内的最大连续0/10/1的个数做区间翻转的时候所有的关于0/10/1连续个数的计数全部要交换过来其他的细节自己注意一下#include<iostream>#

2018-03-13 15:29:03 279

原创 【BZOJ1835】基站选址(线段树)

题面BZOJ题解考虑一个比较暴力的dpdp设f[i][j]f[i][j]表示建了ii个基站,最后一个的位置是jj的最小代价考虑如何转移f[i][j]=min(f[i−1][p]+Cost(p+1,j)+C[j])f[i][j]=min(f[i-1][p]+Cost(p+1,j)+C[j])其中CostCost表示代价,也就是区间内所有没有被覆盖的村庄的WW的和如果直接暴力dpdp,复杂度O(n2k)

2018-03-13 15:26:12 437

原创 【BZOJ2962】序列操作(线段树)

题面BZOJ题解设s[i]s[i]表示区间内选择ii个数的乘积的和考虑如何向上合并?s[k]=∑ki=0lson.s[i]∗rson.s[k−i]s[k]=\sum_{i=0}^klson.s[i]*rson.s[k-i]相当于是一个卷积形式区间取相反数是一个很好处理的操作把所有的s[k],k&1=1s[k],k\&1=1取相反数就好了区间加法?假设我们已经知道了原来的所有的答案现在的数从原来的a[

2018-03-13 15:24:16 252

原创 【BZOJ1558】等差数列(线段树)

题面BZOJ题解可以说这道题已经非常毒瘤了怎么考虑询问操作?如果直接将一段数分解为等差数列?太麻烦了。。。。考虑相邻的数做差,这样等差数列变为了一段连续的相等区间考虑怎么维护分解一段区间为最少数量的等差数列事实上,等差数列的第一项不一定要和后面的相等,所以合并的时候要额外考虑所以,设s[0/1/2/3]s[0/1/2/3]分别表示左右端点是否计算入内同时维护最左端和最右端的值l,rl,r如果没有计算

2018-03-13 15:18:44 751

原创 【UOJ228】基础数据结构练习题(线段树)

题面UOJ题解我们来看看怎么开根?如果区间所有值都相等怎么办?显然可以直接开根如果max−sqrt(max)=min−sqrt(min)max-sqrt(max)=min-sqrt(min)怎么办?此时意味着虽然开根出来的值不同,但是减去的值相同举个例子,比如8,98,9开根后是2,32,3虽然值不同,但是差相同所以,我们把开根换成区间减法当出现上述两种情况时下放减法标记即可#include<ios

2018-03-13 15:16:21 662

原创 【BZOJ2957】楼房重建(线段树)

题面BZOJ题解对于整个区间维护最大斜率以及只考虑这个区间的答案考虑如何向上合并。首先左半段的答案是一定存在的所以,现在的问题就是右半段能够贡献的答案如果右半段的最大斜率小于左半段的最大斜率,则不存在贡献否则,如果右半段分为右左和右右两段如果右左的最大值大于了左半段的斜率,直接加上右右段的贡献然后递归除了右左段否则,直接递归处理右右段直接说有点说...

2018-03-13 15:13:15 156

空空如也

空空如也

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

TA关注的人

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