题解
文章平均质量分 92
aziint
cdqz口胡型OI选手
展开
-
校内训练题 20170916
t1 gcd 求[1, n]内满足gcd(i, j) == (i xor j)的无序对的对数推得j−i=gcd(i,j)=ixorj,枚举gcd即可(代码太傻逼,不贴了t2 path 求最小路径长∈[S, E]树分治,不会,水50分(@OwenOwl撒点撒了80分,看来我还是要学习t3 raid 求有多少个区间[l, r]满足mx - mn == r - l原创 2017-09-17 23:03:34 · 278 阅读 · 1 评论 -
bzoj3624 [Apio2008]免费道路
DescriptionInputOutPutSample Input5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1Sample Output3 2 0 4 3 0 5 3 1 1 2 1Solution失踪人口回归。 题目大意:求图一棵生成树,使得这棵树里恰好有 kk 条特殊边。 两遍 kruskalkruskal ,第一遍优先原创 2017-11-18 16:43:59 · 323 阅读 · 0 评论 -
bzoj2599 [IOI2011]Race
Description给一棵树,每条边有权.求一条简单路径,权值和等于 KK ,且边的数量最小. N≤200000,K≤1000000N \leq 200000, K \leq 1000000Input第一行 两个整数 n,kn, k 第二.. nn 行 每行三个整数 表示一条无向边的两端和权值 (注意点的编号从 00 开始)Output一个整数 表示最小边数量 如果不存在这样的路径 输出 −1-原创 2017-12-01 20:31:25 · 268 阅读 · 0 评论 -
bzoj2938 [Poi2000]病毒
Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。 示例: 例如如果{011011, 1111, 0000000000}为病毒代码段,那么一个可能的无限长安全代码就是010101010101…。如原创 2017-11-21 16:05:37 · 223 阅读 · 0 评论 -
11-24 & 11-25 省选集训总结/题解
//题目来源:ICPCcamp2017及其它HDRFDescription给出一棵 nn 个节点的有根树,节点 11 是根。每个节点有一个权值。进行如下操作:从根节点出发朝着当前节点子树中(不包括当前节点)最小权值点走一步若当前节点是叶子,将这个节点删除,回到根节点求删除的节点序列 n≤105n \leq 10^5Solution发现走到一个最小节点 uu 时,在不删除完 uu 的所有子树原创 2017-11-26 23:27:41 · 237 阅读 · 0 评论 -
poj1741 Tree
DescriptionGive a tree with n vertices,each edge has a length(positive integer less than 10011001 ). Define dist(u,v)=dist(u,v)=The min distance between node uu and vv. Give an integer kk,for every原创 2017-12-01 13:01:56 · 215 阅读 · 0 评论 -
bzoj1010 [HNOI2008]玩具装箱toy
DescriptionPP 教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。 PP 教授有编号为 1...N1...N 的 NN 件玩具,第 ii 件玩具经过压缩后变成一维长度为 CiC_i .为了方便整理, PP 教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么原创 2017-12-10 23:38:32 · 171 阅读 · 0 评论 -
bzoj1758 [Wc2010]重建计划
Description题面写的晦涩难懂,简单说一下题意,给出一棵树,有边权,找出其中一条包含了不少于 LL ,不多于 RR 条边的路径,使得 Average(v(e))Average(v(e)) 最大,上式表示所有选择的边的平均权值。Input第一行包含一个正整数 NN, 表示 XX 国的城市个数. 第二行包含两个正整数 LL 和 UU ,表示政策要求的第一期重建方案中修建道路数的原创 2017-12-19 21:56:41 · 272 阅读 · 0 评论 -
bzoj2152 聪聪可可
Description聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画 nn 个“点”,并用 n−1n-1 条“边”把这 nn 个“点”恰好连通(其实这就是一棵树原创 2017-12-03 16:18:20 · 321 阅读 · 0 评论 -
2017-10-23校内训练题题解
T1鹰蛋·改#include<map>#include<cmath>#include<queue>#include<vector>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define N 2001#define rep(i, K, way)原创 2017-10-23 16:25:34 · 270 阅读 · 0 评论 -
2017-10-20校内训练题题解
//今天浮落鸡连续爆炸,导致我无法把代码搞下来。T1注意到在模 kk 环境下,如果两个前缀和相等,那么这一段区间的和就是 kk 的倍数。注意负数情况。T2容易证明对于一个叶子结点,如果它尚未被覆盖,那么放到它的第 kk 个父亲一点最优。注意要更新这第 kk 个父亲所能覆盖的点。所以自底向上贪心。T3思维和代码上都是好题。因为要区间修改,所以考虑差分(广义的,异或形式)。设 b[i]=a[i]b[i]原创 2017-10-20 19:21:13 · 274 阅读 · 0 评论 -
bzoj1093 最大半连通子图
(哎呀aziint的博客怎么尽是水题题解啊(主要是这个星期偶然发现有一道没过的题,便把它写了题意(bzoj的题意出锅了//题意显然强连通分量内的点满足条件,且两个点之间只有一条边的情况也能满足条件所以tarjan缩点以后dp最长链即可(怎么证明啊,我不会#include#include#include#includeusing namespace std;inl原创 2017-09-17 22:45:31 · 274 阅读 · 0 评论 -
hdu4786简要题解
简要题意:给出一个边权为1或0的无向图,求一颗生成树,使得边权和为斐波那契数。这里有一个重要的结论:一张边权为1或0的无向图,如果权值p在最大生成树权值与最小生成树权值之间,那么一定可以构造出一棵权值为p的生成树。这样就好办了。先求出最大生成树与最小生成树的权值,然后判断这两者之间是否有一个斐波那契数就可以了。详见代码。#include#include原创 2017-06-23 19:03:06 · 330 阅读 · 0 评论 -
bzoj1071 [SCOI2007]组队
DescriptionNBA每年都有球员选秀环节。通常用速度和身高两项数据来衡量一个篮球运动员的基本素质。假如一支球队里速度最慢的球员速度为minVminV,身高最矮的球员高度为minHminH,那么这支球队的所有队员都应该满足: A⋅(height–minH)+B⋅(speed–minV)⩽CA \cdot ( height – minH ) + B \cdot ( speed – minV )原创 2017-10-18 23:24:10 · 258 阅读 · 0 评论 -
bzoj1057 [ZJOI2007]棋盘制作
Description国际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个 8∗88*8 大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳。而我们的主人公小Q,正是国际象棋的狂热爱好者。作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则。小Q找到了一张由 N∗MN*M 个正方形原创 2017-10-19 11:16:32 · 312 阅读 · 0 评论 -
bzoj1191 [HNOI2006]超级英雄Hero
Description现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个“锦囊妙计”,比如求助现场观众,或者去掉若干个错误答案(选择题)等等。 这里,我们把规则稍微改变一下。假原创 2017-10-19 21:32:32 · 587 阅读 · 0 评论 -
bzoj1433 [ZJOI2009]假期的宿舍
Description & InputOutputSample Input1 3 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0Sample Outputˆ_ˆSolution匈牙利裸题,用来练手。人和床之间连边。注意连边条件,见代码。#include<vector>#include<cstdio>#include<cstring>#include<iostream>原创 2017-10-19 22:55:11 · 177 阅读 · 0 评论 -
2017-10-19校内训练题题解
T1找规律发现点 aa 的父亲是 a−最后一个比a小的fiba - 最后一个比a小的fib。(伪)lca。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define N 101#define rep(i, a, b) for (int i = a; i <原创 2017-10-19 20:36:51 · 296 阅读 · 0 评论 -
bzoj3675 [Apio2014]序列分割
Description小 HH 最近迷上了一个分隔序列的游戏。在这个游戏里,小 HH 需要将一个长度为 nn 的非负整数序列分割成 k+1k+1 个非空的子序列。为了得到 k+1k+1 个子序列,小 HH 需要重复 kk 次以下的步骤:小 HH 首先选择一个长度超过 11 的序列(一开始小 HH 只有一个长度为 nn 的序列——也就是一开始得到的整个序列);选择一个位置,并通过这个位置将这个序列原创 2017-12-11 23:31:22 · 198 阅读 · 0 评论 -
bzoj3697 采药人的路径
Description采药人的药田是一个树状结构,每条路径上都种植着同种药材。 采药人以自己对药材独到的见解,对每种药材进行了分类。大致分为两类,一种是阴性的,一种是阳性的。 采药人每天都要进行采药活动。他选择的路径是很有讲究的,他认为阴阳平衡是很重要的,所以他走的一定是两种药材数目相等的路径。采药工作是很辛苦的,所以他希望他选出的路径中有一个可以作为休息站的节点(不包括起点和终点),满足起点到原创 2017-12-03 20:56:02 · 281 阅读 · 0 评论 -
bzoj3376 [Usaco2004 Open]Cube Stacking 方块游戏
Description约翰和贝茜在玩一个方块游戏.编号为 11 到 nn 的 n(1≤n≤30000)n(1\leq n\leq 30000)个方块正放在地上.每个构成一个立方柱. 游戏开始后,约翰会给贝茜发出P(1≤P≤100000)P(1\leq P\leq 100000)个指令.指令有两种:移动(M)(M): 将包含 XX 的立方柱移动到包含 YY 的立方柱上.统计(C)(C): 统计名原创 2017-11-24 11:59:02 · 384 阅读 · 0 评论 -
黑发黑眼 & hdu2147
DescriptionSolution考试的时候是打表找规律做的,考完了尝试证明了一下我们画一下 PNPN 图可以发现,nn 和 mm 只要有一个为偶数, HJAHJA 就获胜。#include<cstring>#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#include<cmath>using原创 2017-12-30 12:28:57 · 297 阅读 · 0 评论 -
的 & UVALive5903
DescriptionSolution这题可真是神,最开始以为和机工社的《组合数学》第一章有什么关系,最后发现是个图论问题。要形成一个WBW的直角,每个B块就要和它上下相邻W块中的的一个匹配,又要和它左右相邻W块中的一个匹配。 于是我们想到,把每个B块拆成两个点,一个与上下相邻的W块连边,另一个与左右相邻的W块连边,跑一个匈牙利就好了。注意这道题不同的建图方式(我是说实现上)好像实际运行速度差异很原创 2017-12-30 13:17:20 · 229 阅读 · 0 评论 -
bzoj1499 [NOI2005]瑰丽华尔兹
Description你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐。但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的名字叫丹尼•布德曼•T.D.•柠檬•1900,朋友们都叫他1900。 1900在20世纪的第一年出生在往返于欧美的邮轮弗吉尼亚号上,很不幸他刚出生就被抛弃了,成了孤儿。1900孤独的成长原创 2018-01-06 10:27:33 · 254 阅读 · 0 评论 -
迷宫花坛
Description圣玛格丽特学园的一角有一个巨大、如迷宫般的花坛。大约有一个人这么高的大型花坛,做成迷宫的形状,深受中世纪贵族的喜爱。维多利加的小屋就坐落在这迷宫花坛的深处。某一天早晨,久城同学要穿过这巨大的迷宫花坛,去探望感冒的维多利加。 整个迷宫可以用 NN 个路口与 MM 条连接两个不同路口的无向通道来描述。路口被标号为 11 到 NN ,每条通道有各自的长度。整个迷宫一定是连通的原创 2018-01-06 11:39:08 · 537 阅读 · 0 评论 -
codevs4438 YJQ Runs Upstairs
Description学校科技楼一共有 NN 层,而神犇YJQ每天都在科技楼 NN 楼的机房写代码。这天,他准备从科技楼 11 楼爬到 NN 楼。有个 MM 连接不同楼层的楼梯,爬每个楼梯需要一定的体力值。楼梯一定是从低处通往高处的。(但是由于楼房的设计比较奇怪,第 ii 楼并不一定在第 i−1i−1 楼上面,也就是说给出的边不保证 xyx ,但保证图为DAG,请自行处理楼层之间的高度关系)。原创 2018-01-06 11:52:44 · 1312 阅读 · 0 评论 -
格子手绢
Description久城送给维多利加一块苏格兰格子手绢,可是手绢不小心被咖啡弄脏了,久城不得不负起清洗的责任。 手绢的格子可以用二维坐标系来描述,手绢左下角坐标为 (0,0)(0,0) ,右上角坐标为 (N,M)(N,M) ,也就是说,手绢上一共有 N×MN\times M 个格子。咖啡在手绢上形成了一个圆形的污点,圆心位于整点 (X,Y)(X,Y) 处,半径为 RR。久城想知道,有多少个原创 2018-01-06 12:02:10 · 288 阅读 · 0 评论 -
bzoj1458 士兵占领
Description有一个 M×N" role="presentation" style="position: relative;">M×NM×NM \times N 的棋盘,有的格子是障碍。现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵。我们称这些士兵占领了整个棋盘当满足第 i" role="presentation" style="原创 2018-01-28 13:05:52 · 232 阅读 · 0 评论 -
bzoj2662 [BeiJing wc2012]冻结
Description“我要成为膜法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关膜法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着膜法卡片(SpellCard,又名符卡)带来的便捷。 现在,不需要续上1s也可以使用膜法了!你还不来试一试? 比如,我们在膜法百科全书(Encyclopedia of Jiang)里用“ exci原创 2017-12-29 17:02:01 · 378 阅读 · 0 评论 -
bzoj2763 [JLOI2011]飞行路线
DescriptionAliceAlice 和 BobBob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在 nn 个城市设有业务,设这些城市分别标记为 00 到 n−1n-1,一共有 mm 种航线,每种航线连接两个城市,并且航线有一定的价格。 AliceAlice 和 BobBob 现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他原创 2017-12-29 16:43:08 · 234 阅读 · 0 评论 -
bzoj1116 [POI2008]CLO
DescriptionByteotiaByteotia 城市有 nn 个 townstowns,mm条双向 roadsroads. 每条 roadroad 连接两个不同的 townstowns ,没有重复的 roadroad . 你要把其中一些roadroad 变成单向边使得:每个 towntown 都有且只有一个入度Input第一行输入nn mm .1≤n≤1000001\leq n\leq 10原创 2017-11-24 13:45:00 · 251 阅读 · 0 评论 -
bzoj1863 [Zjoi2006]trouble 皇帝的烦恼
Description经过多年的杀戮,秦皇终于统一了中国。为了抵御外来的侵略,他准备在国土边境安置 nn 名将军。不幸的是这 nn 名将军羽翼渐丰,开始展露他们的狼子野心了。他们拒绝述职、拒绝接受皇帝的圣旨。秦皇已经准备好了秘密处决这些无礼的边防大将。不过为防兵变,他决定先授予这些将军一些勋章,为自己赢得战略时间。将军们听说他们即将被授予勋章都很开心,他们纷纷上书表示感谢。第 ii 个将军要求得到原创 2017-11-24 18:54:51 · 282 阅读 · 0 评论 -
bzoj1104 [POI2007]洪水pow
DescriptionAKDAKD 市处在一个四面环山的谷地里。最近一场大暴雨引发了洪水,AKDAKD 市全被水淹没了。BlueBlue MaryMary,AKDAKD 市的市长,召集了他的所有顾问(包括你)参加一个紧急会议。经过细致的商议之后,会议决定,调集若干巨型抽水机,将它们放在某些被水淹的区域,而后抽干洪水。你手头有一张 AKDAKD 市的地图。这张地图是边长为 m∗nm*n 的矩形,被划分原创 2017-11-24 22:39:40 · 263 阅读 · 0 评论 -
强迫症
DescriptionSolution整数的话都会吧,分数手算也会吧。 那合起来就好了。注意用long long#include<bits/stdc++.h>using namespace std;#define ll long longinline int read() { int x = 0, flag = 1; char ch = getchar(); while (!isdigi原创 2017-12-23 16:04:13 · 279 阅读 · 0 评论 -
整理手套
DescriptionSolution可见手套的编号对于解决问题是没有关系的,于是我们对手套重新按出现时间编号。可见答案就是新序列的逆序对数量。 因为存在重复元素,所以采用归并排序来求逆序对。#include<bits/stdc++.h>using namespace std;#define N 400001#define rep(i, a, b) for (int i = a; i <= b原创 2017-12-23 16:08:59 · 390 阅读 · 0 评论 -
十字星座
DescriptionSolution很好的水题。 显然对于公共点 uu 来说,只有下面两种可能的路径方案:uu 与往下的路径最长的四个儿子组成一对路径。 uu 与往下的路径最长的三个儿子、以及 uu 的父亲组成一对路径。 于是第一遍 dfsdfs ,处理出 uu 往下的最长的四个路径,f[u][0],f[u][1],f[u][2],f[u][3]f[u][0],f[u][1],f[u][2]原创 2017-12-23 16:29:01 · 428 阅读 · 0 评论 -
bzoj1070 [SCOI2007]修车
Description同一时刻有 NN 位车主带着他们的爱车来到了汽车维修中心。维修中心共有 MM 位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这 MM 位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。Input第一行有两个 m,nm,n ,表示技术人员数与顾客数。 接下来 nn 行,每行 m原创 2017-12-16 18:41:36 · 173 阅读 · 0 评论 -
bzoj3875 [Ahoi2014&Jsoi2014]骑士游戏
Description长期的宅男生活中, JYYJYY 又挖掘出了一款 RPGRPG 游戏。在这个游戏中 JYYJYY 会扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽。 在这个游戏中, JYYJYY 一共有两种攻击方式,一种是普通攻击,一种是fa术攻击。两种攻击方式都会消耗 JYYJYY 一些体力。采用普通攻击进攻怪兽并不能把怪兽彻底杀死,怪兽的尸体可以变出其他一些新的怪兽,注意一个怪兽原创 2017-12-26 16:39:04 · 339 阅读 · 0 评论 -
bzoj2668 [cqoi2012]交换棋子
Description有一个 nn 行 mm 列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态。要求第 ii 行第 jj 列的格子只能参与 mi,jm_{i,j}次交换。Input第一行包含两个整数 n,m(1≤n,m≤20)n,m(1\le n, m\le 20) 。以下 nn 行为初始状态,每行为一个包含 mm 个字符的 0101 串,其中 00原创 2018-02-04 23:16:28 · 267 阅读 · 0 评论 -
树链剖分初讲 && [bzoj1036][ZJOI2008]树的统计Count
我居然来写模板题的题解了...不管怎么说,这个星期复习了树链剖分,还是来写一写模板吧(菜简单的说,我们知道dfs序是用来做子树操作的,我们要是需要进行链操作,就得用有特定顺序的dfs序来高效处理链操作。重链剖分:为保证一条链被分成最多O(logn)个区间,需要进行重链剖分证明:若一条链没有与父亲连接,那么说明这条链顶属于轻儿子。走到根最多只会走log(n)个轻儿子长链剖原创 2017-09-17 22:00:53 · 265 阅读 · 0 评论