
各省省选
文章平均质量分 56
Zhayan9QvQ
嘿嘿嘿
展开
-
【Bzoj1083】繁忙的都市
惊现SCOI签到题?直接把最小生成树的ans+=改为ans=就行?代码中一些没用的部分就不要嘲讽了= = 拿的刚学最小生成树时的模板。#include#includeusing namespace std;const int maxn = 5000 + 10 ;const int maxm = 200000 + 10;int father[maxn];struc原创 2017-02-07 17:27:09 · 399 阅读 · 0 评论 -
【Bzoj3626】LCA
题意给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求sigma_{l<=i<=r}dep[LCA(i,z)]。 (即,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和)解析 首先发现一个性质,加上depth[LCA(原创 2017-03-24 20:53:42 · 512 阅读 · 0 评论 -
【Bzoj2242】计算器
2242: [SDOI2011]计算器Time Limit: 10 Sec Memory Limit: 512 MB Submit: 3419 Solved: 1341 [Submit][Status][Discuss] Description你被要求设计一个计算器完成以下三项任务: 1、给定y,z,p,计算Y^Z Mod P 的值; 2、给定y,z,p,计算满足xy≡ Z ( mod原创 2017-02-19 21:43:19 · 572 阅读 · 2 评论 -
【Bzoj4034】树上操作
题意有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。-----------------------------------------------------原创 2017-03-16 14:24:28 · 639 阅读 · 0 评论 -
【Bzoj1036】树的统计
题意一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对棵树完成一些操作:1.把结点u的权值改为t2.询问从点u到点v的路径上的节点的最大权值3.询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对棵树完成 一些操作: 1.把结点u的权值原创 2017-03-12 15:57:14 · 308 阅读 · 0 评论 -
【Bzoj2243】染色
题意给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。应该是我太水了来着…?打了一小时调了一天,主要就是注意合并时判断中间部分的端点颜色,如果一样的话统计时就要减1。然后在get函数中也一样原创 2017-03-16 21:41:08 · 399 阅读 · 0 评论 -
区间
题意现给定n个闭区间[ai, bi],1请写一个程序:读入这些区间;计算满足给定条件的不相交闭区间;把这些区间按照升序输出。不知道为啥会刷这个,大概是改题。#include #include #define Rep( i , _begin , _end ) for(int i=(_begin);i<=(_end);i++)原创 2017-04-03 21:38:43 · 678 阅读 · 0 评论 -
【Bzoj1218】激光炸弹
题意给你n个点的坐标xi,yi。求一个边长为k的正方形能覆盖多少点。解析可以枚举。但是要加一个二维前缀和。统计的时候可以画一个图。首先a[i][j]是一个大矩形。之后在旁边切掉两个小矩形,但多切掉了一个重复部分,要把它加上。#include <cstdio>#include <algorithm>#define Rep( i , _begin , _end ) for(int i=(_begin)原创 2017-04-03 22:16:34 · 536 阅读 · 0 评论 -
【Bzoj1293】生日礼物
题意:小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个,分为K种。简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。 小布生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助小西计算这个最短的长度么?原创 2017-04-21 18:55:36 · 546 阅读 · 0 评论 -
【Bzoj1060】时态同步
题意给你一个n个结点的树。每条边上有一个权值,你可以给边加上权值,求最少要加上多少权值才能使根结点到每个叶子结点的权值相同。解析Dfs即可,每个结点的子结点都要加上其与最大子结点的差值。#include <cstdio>#include <cstring>#include <algorithm>#define Rep( i , _begin , _end ) for(int i=(_begin)原创 2017-05-23 21:45:50 · 423 阅读 · 0 评论 -
【Bzoj4448】情报传递
题意给一棵树和m个操作(持续m秒),操作如下 1.给一个点打上标记,被标记的点每秒加1危险度,(被标记时仍为0,后一秒为1)。 2.查询x,y的路径上有多少危险度大于k的点。解析这种每秒增加的标记显然是不好维护的。 考虑转化。 设某点在t时刻被标记,i时刻提出询问,那么此时它的危险度为i-t。 则有i-t>k,t#include <cstdio>#include <algorithm>#原创 2017-06-20 20:40:08 · 731 阅读 · 0 评论 -
【Bzoj1798】维护序列seq
题意线段树维护三个操作:区间加法,区间乘法,区间查询。分析需要打两个tag,注意先下放乘法之后再下放加法。#include #include using namespace std;typedef long long LL;const int maxx = 100000 + 50;LL T[maxx<<2],Add[maxx<<2],mul[maxx原创 2017-03-10 22:27:43 · 395 阅读 · 0 评论 -
【Bzoj3531】旅行
题意:有n个城市,每个城市有权值和颜色,支持的操作有单点修改权值,单点修改颜色,查询区间同颜色之和,查询区间同颜色最大值。思路:对于每种颜色,放入不同的线段树,但其实整个加起来还是还是n个结点,值得注意的是,这里要使用动态开点,要一步步记录左右儿子的编号,而不能使用2i,2i+1直接去找,而这样建树的话,就可以很方便的查询同颜色的结点了,修改操作啥的把原颜色中的结点改为0,再在现在的颜原创 2017-03-19 15:43:18 · 437 阅读 · 0 评论 -
【Bzoj2748】音量调节
2748: [HAOI2012]音量调节Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1732 Solved: 1088[Submit][Status][Discuss]Description一个吉他手准备参加一场演出。他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量。在演出开始之前,他已经做好了原创 2017-02-07 19:08:51 · 453 阅读 · 0 评论 -
【Bzoj1192】鬼谷子的钱袋
1192: [HNOI2006]鬼谷子的钱袋Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3312 Solved: 2412[Submit][Status][Discuss]Description鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政。有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大原创 2017-02-07 19:55:17 · 341 阅读 · 0 评论 -
【Bzoj3631】松鼠的新家
3631: [JLOI2014]松鼠的新家Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1780 Solved: 865[Submit][Status][Discuss]Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都原创 2017-02-11 13:58:35 · 448 阅读 · 0 评论 -
【Bzoj1875】HH去散步
题目描述HH有个一成不变的习惯,喜欢饭后百步走。所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离。 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为HH是个喜欢变化的人,所以他每天走过的路径都不完全一样,他想知道他究竟有多 少种散步的方法。 现在给你学校的地图(假设每条路的长度都是一样的都是1),问长度为t,从给定地 点A走到给定地点B共有多少条符合条件的路径输原创 2017-03-02 21:24:32 · 615 阅读 · 1 评论 -
【Bzoj1012】最大数
动态开点的线段树。#include #include using namespace std;const int maxx = 200000 + 50;const int Inf = (unsigned)(-1)>>1;int n=200000,m,x,y,flag,mod,pos,t;int T[maxx<<2];char s[2];void Build(in原创 2017-03-17 20:44:36 · 412 阅读 · 0 评论 -
【Bzoj1053】反素数ant
定理:一个数约数个数=所有素因子的次数+1的乘积然后得一个2000000000以内的数字不会有超过12个素因子在一个因子数为n的集合中,这个集合中最小的数就是一个反质数。所以我们只要找出小于n的数中因数个数最多的最小数。#include #include using namespace std;typedef long long LL;const LL原创 2017-03-17 20:49:07 · 395 阅读 · 0 评论 -
【Bzoj1876】SuperGCD
pythona = (int)(input())b = (int)(input())while b!=0: t = b b = a%b a = tprint(a)原创 2017-03-17 20:52:55 · 676 阅读 · 0 评论 -
【Bzoj2186】沙拉公主的困惑
ああ、純手書きのね…原创 2017-02-26 15:37:37 · 494 阅读 · 1 评论 -
【Bzoj1050】旅行comf
题意:给你一个无向图,N(N算法:最小生成树加枚举,每次连通时更新一次答案,话说codevs的第一道题应该都做过...?代码不贴了,很久之前打的没法看。原创 2017-03-18 22:16:01 · 594 阅读 · 0 评论 -
【Bzoj1034】泡泡堂BNB
类似于田忌赛马的策略,最小的能赢就赢,最大的也是能赢就赢,如果都不满足就用最小的去换对方最大的,然后注意判等于。#include #include #define Rep(i,s,t) for(int i=s;i<=t;i++)using namespace std;const int maxx = 100000 + 25;int a[maxx],b[maxx];i原创 2017-03-19 11:33:34 · 492 阅读 · 0 评论 -
【Bzoj4336】骑士的旅行
题意给一棵树,每个结点上可能有多个权值,可以每次改变某权值的值或者位置,多次询问一条路径上的前k大值。解析对于每个结点维护一个multiset,因为k很小,所以每次可以把两结点暴力合并,这样就只要把两个队列合并就可以了。#include <set>#include <cstdio>#include <algorithm>#define Rep( i , _begin , _end ) for(i原创 2017-06-24 22:40:19 · 867 阅读 · 0 评论