
BZOJ
Sdywolf
沃是一只蒟蒻
展开
-
【BZOJ】【lucas定理】4403: 序列统计
令m=R−L+1m=R−L+1m=R-L+1如果长度确定为nnn,相当于求∑mi=1xi=n∑i=1mxi=n\sum_{i=1}^{m}x_i=n,用插板法得答案为(n+m−1m−1)(n+m−1m−1)n+m-1\choose m-1,然后就是一波骚操作:由(xy)=(x−1y)+(x−1y−1)(xy)=(x−1y)+(x−1y−1){x\choose y}={x-1\choose y}...原创 2018-08-29 20:05:31 · 394 阅读 · 0 评论 -
BZOJ 1202: [HNOI2005]狡猾的商人【并查集】【路径迭代】
Description刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3…n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表示这个月亏损Ai 元。所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和。 刁姹的任务是秘密进行的,为了调查商人的账本,她只好跑到商人那里打工。她原创 2017-11-10 19:32:25 · 365 阅读 · 0 评论 -
BZOJ 4808: 马【二分图】【最大独立集】
Description众所周知,马后炮是中国象棋中很厉害的一招必杀技。”马走日字”。本来,如果在要去的方向有别的棋子挡住(俗称”蹩马腿”),则不允许走过去。为了简化问题,我们不考虑这一点。马跟马显然不能在一起打起来,于是rly在一天再次借来了许多许多的马在棋盘上摆了起来……但这次,他实在没兴趣算方案数了,所以他只想知道在N×M的矩形方格中摆马使其互不吃到的情况下的最多个数。但是,有一个很不幸的消息,原创 2017-11-10 16:02:44 · 417 阅读 · 0 评论 -
BZOJ 1475 方格取数【最小割】
Description在一个n*n的方格里,每个格子里都有一个正整数。从中取出若干数,使得任意两个取出的数所在格子没有公共边,且取出的数的总和尽量大。题解建图比较巧妙。将方格看成01奇偶矩阵,黑白染色。将S与所有黑点连边,权为黑点的权值,将所有白点与T连边,权为白点的权值,相邻格子之间从黑点到白点连边,权为INF。答案就是总数减去最小割。代码#include<cstdio>#include<cst原创 2017-10-31 19:14:26 · 355 阅读 · 0 评论 -
BZOJ 1787: [Ahoi2008]Meet 紧急集合【LCA】
Description题解集结地点肯定在三个点中某两点的LCA上,可以刷最小值。当然,通过观察,可以发现如果其中两个LCA相同,那么答案一定在另外一个。代码#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define maxn 500006using namespace std;inline char原创 2017-11-08 18:57:44 · 301 阅读 · 0 评论 -
BZOJ 1999: [Noip2007]Core树网的核【最长链】
Description设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网(treenetwork),其中V, E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点。 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a,b)表示以a,b为端点的路径的长度,它是该路径上各边长度之和。我们称d(a,b)为a,b两结点间的距离。原创 2017-10-21 10:26:58 · 340 阅读 · 0 评论 -
BZOJ 4458: GTY的OJ【贪心】【倍增】【超级钢琴】
Description身为IOI金牌的gtyzs有自己的一个OJ,名曰GOJ。GOJ上的题目可谓是高质量而又经典,他在他的OJ里面定义了一个树形的分类目录,且两个相同级别的目录是不会重叠的。比如图论的大目录下可能分为最短路,最小生成树,网络流等低一级的分类目录,这些目录下可能还有更低一级的目录,以此类推。现在gtyzs接到了一个任务,要他为SDTSC出题。他准备在自己的OJ题库中找出M道题作为SDT原创 2017-10-06 16:38:07 · 539 阅读 · 0 评论 -
BZOJ 2527: [Poi2011]Meteors【整体二分】
DescriptionByteotian Interstellar Union (BIU) has recently discovered a new planet in a nearby galaxy. The planet is unsuitable for colonisation due to strange meteor showers, which on the other hand m原创 2017-10-06 10:34:55 · 369 阅读 · 0 评论 -
BZOJ 1150: [CTSC2007]数据备份Backup【贪心】
Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份。然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣。已知办公楼都位于同一条街上。你决定给这些办公楼配对(两个一组)。每一对办公楼可以通过在这两个建筑物之间铺设网络电缆使得它们可以互相备份。然而,网络电缆的费用很高。当地电信公司仅能原创 2017-10-04 15:30:31 · 452 阅读 · 0 评论 -
BZOJ 2006: [NOI2010]超级钢琴【贪心】
Description小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。 一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R。我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和。两个超级和弦被认为是相同的,当且仅当这两个原创 2017-10-03 09:57:35 · 385 阅读 · 0 评论 -
BZOJ 4326: NOIP2015 运输计划【LCA】【二分】【差分】
Description公元 2044 年,人类进入了宇宙纪元。L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球。小 P 掌管一家物流公司, 该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道是需要时间的,对于航道 j,任意飞船驶过它所花费的时间原创 2017-10-18 21:33:18 · 437 阅读 · 0 评论 -
BZOJ 1854: [Scoi2010]游戏 【二分图】【并查集】
Descriptionlxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害。也就是说一开始的时候原创 2017-10-16 19:55:35 · 322 阅读 · 0 评论 -
BZOJ 1562: [NOI2009]变换序列 【二分图匹配】【匈牙利】
Description题解显然,这就是二分图匹配字典序最小的解。代码#include<cstdio>#include<cstring>#include<algorithm>#define maxn 20006using namespace std;inline char nc(){ static char buf[100000],*i=buf,*j=buf; return原创 2017-10-16 21:11:39 · 301 阅读 · 0 评论 -
【BZOJ】【中国剩余定理】1951: [Sdoi2010]古代猪文
题意求 G∑i|n(ni)(mod999911659)G∑i|n(ni)(mod999911659)G^{\sum_{i|n}{n\choose i}}\pmod{999911659}题解由费马小定理 ap−1≡1(modp)ap−1≡1(modp)a^{p-1}\equiv 1\pmod p 得 G∑i|n(ni)(modtt)=G∑i|n(ni)(modtt−1...原创 2018-08-27 20:25:15 · 377 阅读 · 0 评论 -
【康复训练】【cdq分治】【BZOJ】3295: [Cqoi2011]动态逆序对
Description对于序列A,它的逆序对数定义为满足i题解cdq分治. 将删除操作倒序看就是加入操作,然后就是一个经典的三位偏序问题了。代码#include<cstdio>#include<cstring>#include<algorithm>#define maxn 100006#define maxm 50006#...原创 2018-05-30 17:12:27 · 245 阅读 · 0 评论 -
【康复训练】【主席树】【BZOJ】1112: [POI2008]砖块Klo
DescriptionN柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务.题解主席树。只要求出中位数、比中位数小的数的总和和个数、比中位数大的数的总和和个数。代码#include<cstdio>#include<c...原创 2018-05-27 16:34:28 · 451 阅读 · 0 评论 -
【康复训练】【DP】【BZOJ】2298: [HAOI2011]problem a
Description一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数) 题解简单DP。每个人有一个名词区间,区间权值为相同区间的个数,题目等价于选出一些不相交的线段,使权值最大。代码#include<cstdio>#include<cstring>#include&...原创 2018-05-20 21:17:11 · 205 阅读 · 0 评论 -
【康复训练】【BZOJ】5168: [HAOI2014]贴海报
DescriptionBytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论。为了统一管理,城市委 员 会为选民准备了一个张贴海报的electoral墙。张贴规则如下: 1.electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子; 2.所有张贴的海报的高度必须与electoral墙的高度一致的; 3.每张海报以“A B”表示,即从第A个格...原创 2018-05-20 18:00:11 · 319 阅读 · 0 评论 -
【康复训练】【BZOJ】3192: [JLOI2013]删除物品
Description箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆。 (2)所有物品都是一样的,但是它们有不同的优先级。 (3)你只能够移动某堆中位于顶端的物品。 (4)你可以把任意一堆中位于顶端的物品移动到其它某堆的顶端。若此物品是当前所有物品中优先级最高的,可以直接将之删除而不用移动。(5)求出将所有物品删除所需的最小步数。删除操作不计入步数之中。 ...原创 2018-05-19 22:30:43 · 254 阅读 · 0 评论 -
【康复训练】【点分治】【BZOJ】2152: 聪聪可可
Description聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画n个“点”,并用n-1条“边”把这n个“点”恰好连通(其实这就是一棵树)。并且每条“边...原创 2018-05-19 15:22:25 · 198 阅读 · 0 评论 -
BZOJ 1042: [HAOI2008]硬币购物【容斥】【01背包】
Description 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法。题解如果没有个数限制,那么这题就是裸的01背包。可以考虑先求出没有限制的方案,这个可以直接01背包,现在我们知道的是没有限制的方案数,要求的是满足所有限制的方案数,考虑容斥,只要能够求出满足特定的条件的方案,就可以利用容原创 2017-11-06 16:17:14 · 320 阅读 · 0 评论 -
BZOJ 1576: [Usaco2009 Jan]安全路经Travel【最短路树】【树链剖分】
Description题解复习一下树链剖分。最短路树,非树边与树边形成的环上,除了LCA,其他的点都可以经过非树边,从所有答案中刷最小值,用树链剖分维护。代码#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#define maxn 100006#define maxe 200006using names原创 2017-11-02 22:41:44 · 372 阅读 · 0 评论 -
BZOJ 3631: [JLOI2014]松鼠的新家【差分】【LCA】
Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可是松鼠告诉他,每走到原创 2017-10-25 20:55:05 · 400 阅读 · 0 评论 -
BZOJ 4034: [HAOI2015]树上操作【树链剖分】【DFS序】
Description有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。题解显然,树链剖分的序也是DFS序,直接维护就可以了。代码#include<cstdio>#include<原创 2017-10-18 19:32:50 · 373 阅读 · 0 评论 -
BZOJ 3629-聪明的燕姿 【数学杂题】
Description阴天傍晚车窗外未来有一个人在等待向左向右向前看爱要拐几个弯才来我遇见谁会有怎样的对白我等的人他在多远的未来我听见风来自地铁和人海我排着队拿着爱的号码牌城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁。可是燕姿不一样,燕姿知道自己等的人是谁,因为燕姿数学学得好!燕姿发现了一个神奇的算法:假设自己的号码牌上写着数字S,那么自己等的人手上的号码牌数字的所原创 2017-09-18 20:34:47 · 646 阅读 · 0 评论 -
BZOJ1588[HNOI2002]营业额统计
这题就是Treap的模板题,每次先求前驱再求后继然后两个数与输入的数之差最小的就是需要累计的答案。 代码:#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<cmath>#define maxn 60006using namespace std;struct node{ n原创 2017-03-13 20:53:05 · 317 阅读 · 0 评论 -
BZOJ1085 骑士精神【IDA*算法】
Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成任务。 Input 第一行有一个正整数T(T<=10)原创 2017-06-30 13:15:15 · 372 阅读 · 0 评论 -
BZOJ 1053 反素数【DFS剪枝】
Description 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0<i<xg(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求出不超过N的最大的反质数么?题解由于范围很大,所以不能暴力枚举,我们要思考如何剪枝。 考虑n=p1k1∗p2k2∗p3k3∗p4k4∗..原创 2017-06-29 14:20:13 · 459 阅读 · 0 评论 -
BZOJ2813--奇妙的斐波那契【线性筛】【斐波那契数列】
DescriptionFibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和是多少。题解由斐波那契的性质得: 当i,j>2,f[i]|f[原创 2017-06-29 10:52:42 · 585 阅读 · 0 评论 -
NOIP2016 day1T2--BZOJ4719 天天爱跑步--LCA+差分
Description小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。?天天爱跑步?是一个养成类游戏,需要 玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 N个结点和N-1 条边的树, 每条边连接两 个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从1到N的连续正整数。现在有个玩家,第个玩家的 起点为Si ,终点为Ti 。每天打卡任务开始时,所原创 2017-05-22 08:49:18 · 633 阅读 · 0 评论 -
BZOJ--1087[轮廓线DP 状压][SCOI2005]
Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上 左下右上右下八个方向上附近的各一个格子,共8个格子。什么是轮廓线DP?轮廓线DP就是对于每一个状态,需要记录它的轮廓线上的信息才能完成状态的转移,那么记录它轮廓线上的信息有什么好处呢?有时,用轮廓线来定义状态,特别是对于要比用整行或是整列来定义状态要好得多,本题就是这样一道原创 2017-05-14 20:08:39 · 348 阅读 · 0 评论 -
BZOJ1012
Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长整原创 2017-05-04 20:57:54 · 436 阅读 · 0 评论 -
BZOJ4300--DP
Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。水题一道,只要两个数有某一位上都为11,那么这两个数就能相邻,所以,我们只需要知道以某一位上为11的数结尾的序列的最长长度就可以。 代码如下:#include<cstdio>#include<cstring>#include<algorithm>#define原创 2017-05-04 20:10:32 · 425 阅读 · 0 评论 -
BZOJ1058-SplayTree
Description 小Q的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小Q希望可以帮妈妈分担一些工 作,作为她的生日礼物之一。经过仔细观察,小Q发现统计一张报表实际上是维护一个可能为负数的整数数列,并 且进行一些查询操作。在最开始的时候,有一个长度为N的整数序列,并且有以下三种操作: INSERT i k 在原数 列的第i个元素后面添加一个新元素k; 如果原数列的第i原创 2017-04-14 15:50:45 · 470 阅读 · 0 评论 -
树链剖分
我们先来看这样一个问题: 给出一棵树,每个节点有一个权值,每次操作可以修改某一节点的权值,或是询问任意两点间路径上的最大值或是权值和,要求复杂度为O(nlogn)n为点数。 由于有修改操作,使得不能使用预处理(倍增数组)来实现快速查询,树链剖分就可以通过把树剖分成一些链,对于链上的节点,可以用原创 2017-04-17 09:24:33 · 300 阅读 · 0 评论 -
BZOJ 4237稻草人【分治】
DescriptionJOI村有一片荒地,上面竖着N个稻草人,村民们每年多次在稻草人们的周围举行祭典。有一次,JOI村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地。和启示中的一样,田地需要满足以下条件:田地的形状是边平行于坐标轴的长方形;左下角和右上角各有一个稻草人;田地的内部(不包括边界)没有稻草人。给出每个稻草人的坐标,请你求出有多少遵从启示的田地的个数题解分治。由于是两维的,可以使其中原创 2017-09-14 19:17:39 · 476 阅读 · 0 评论 -
BZOJ 1597: [Usaco2008 Mar]土地购买【斜率优化】
Description农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地的价格是它的面积,但FJ可以同时购买多快土地. 这些土地的价格是它们最大的长乘以它们最大的宽, 但是土地的长宽不能交换. 如果FJ买一块3x5的地和一块5x3的地,则原创 2017-08-06 19:43:45 · 483 阅读 · 0 评论 -
BZOJ 1010: [HNOI2008]玩具装箱toy【斜率优化】
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过 压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容 器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形原创 2017-08-06 19:30:12 · 351 阅读 · 0 评论 -
BZOJ1257: [CQOI2007]余数之和sum【分块】
∑i=1mnmodi=n∗m−∑i=1mn/i∗i\sum_{i=1}^{m}n\mod i=n*m-\sum_{i=1}^{m}n/i*i,由于n/in/i的值相同的是连续出现的,并且可以证明相同的值最多有n√\sqrt n个,所以可以直接分块搞。代码#include<cstdio>#include<cstring>#include<algorithm>#define LL long lon原创 2017-08-20 17:00:10 · 350 阅读 · 0 评论 -
BZOJ 1009--[HNOI2008]GT考试【KMP算法】【矩阵优化线性递推】
Description 阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为0。N<=10^9,M<=20,K<=1000题解初看题目,感觉是组合数学的题目,但是并不可以。那就换一条思路。注意到M很小,想原创 2017-07-08 13:52:49 · 392 阅读 · 0 评论