
bzoj
blue_tree2333
我就一菜鸡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[bzoj-1293][SCOI2009]生日礼物 题解
题目传送门 (这又是一位dalao告诉我的水题) 这题明显是一道线扫题,只要排序一下,在全部存在的情况下找出最小的答案就行了。 直接上代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#include<map>#define rep(i,a,n) for (原创 2017-09-03 20:30:06 · 279 阅读 · 0 评论 -
[bzoj-4808]马 题解
题目传送门 题意解析:题目给了一张图,上面有的地方不能放马(中国象棋里的),问最多能放几只马。……..跟bzoj3175几乎一模一样,包括数据范围,所以详情请见bzoj3175 代码,好像也一样:#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define rep原创 2017-10-07 07:43:25 · 817 阅读 · 0 评论 -
[luogu-3379]【模板】最近公共祖先(LCA) 题解
题目传送门 模板题,没什么好说的。#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define rep(i,a,n) for (int i=a;i<=n;i++)#define per(i,a,n) for (int i=a;i>=n;i--)#define C原创 2017-09-25 16:53:04 · 248 阅读 · 0 评论 -
[bzoj-3714][PA2014]Kuglarz 题解
题目传送门 题意解析:题目告诉了你有n个杯子,有个杯子下面有球,查看一段杯子下面球个数的奇偶性需要的花费,最后问你一定能确定球的位置的最小花费。My opinion:一开始看着题目的时候,草率的没有看完整个题目,只看到了一段数的奇偶性,然后我就以为是一道高斯消元,然后就被吓个半死,有种放弃的欲望。然后仔细一看,喵的,求最小花费????那TM的跟高斯消元有半毛钱关系(好吧,是我太愚昧了)。我们可以发原创 2017-09-29 11:20:44 · 334 阅读 · 0 评论 -
[bzoj-1607][Usaco2008 Dec]Patting Heads 轻拍牛头 题解
题目传送门 题意解析:题目很明显,给你每一只cow的编号ai,然后问你每只奶牛是它的约数是有几只(不包括自己)。My opinion:我还是小看了数据,一开始以为用O(n√n)可以卡过,没想到bzoj上的总时间只能有3秒,那么只能用O(nlgn)的算法了,那么很明显,对于每个a[i],它对答案的贡献是1,即对每个ans[j] (j%a[i]==0)答案加一,然后我们用类似筛法的写法就可以做到了。原创 2017-09-29 17:04:45 · 310 阅读 · 0 评论 -
[bzoj-1853][Scoi2010]幸运数字 题解
题目传送门题意解析:题目就是给了你一段闭区间[a,b],然后规定数字中只包含6和8的是幸运数字,列如:6,8,66,88,68,66668……问你在这段区间内是这些幸运数字中任意一个的倍数的有几个,当然,如果同时是多个的倍数也算。My opinion:一开始看到数据范围是1到1e10(一百亿),就知道不可能是暴力,明显爆炸,所以一看就要去计算一段区间内的x(x是任意数)的倍数的个数,式子很好推,显然原创 2017-10-08 08:02:22 · 473 阅读 · 0 评论 -
[bzoj-4557][JLoi2016]侦察守卫 题解
题目传送门 题意解析:题目就是告诉了你一棵树,再告诉你在一个点放置一个覆盖点的代价,然后每在一个点放置覆盖点,离它距离小于等于d的都会被覆盖,问覆盖要求点的最小代价。My opinion:我这题曾经听dalao讲过,然而后来我做的时候还是不会,只是知道这题目是树形dp,所以当场做的时候就翻车了。而且这题是求要求的覆盖点的,而我会的只是覆盖全部的点,后来回去仔细想,才发现覆盖要求点和全部点的区别就是原创 2017-10-07 20:19:48 · 351 阅读 · 0 评论 -
[bzoj-1047][HAOI2007]理想的正方形 题解
题目传送门 题意解析: 题目就是给了你一个n*m的矩形,然后让你找一个正方形,要求这个正方形中的最大值减去最小值的差值最大My opinion:看到这题,也许一开始只会n^4的写法,然后稍作优化也许可以变成n^3logn,然后就一脸不会了,但是其实只要仔细想一想,就会发现原来可以用单调队列做,所以我们可以先预处理出每一排的最大值和最小值,之后我们可以通过每一排的单调队列然后直接计算出答案。 总原创 2017-10-09 19:33:53 · 303 阅读 · 0 评论 -
[bzoj-3155]Preprefix sum 题解
题目传送门 题意解析:题目给了一个a序列,并且定义s为a序列的前缀和,ss为s序列的前缀和,然后有两种操作,一种是查询ss[i]的值,还有一种是修改a[i]。My opinion:明显的数据结构题,但是怎么维护是一个问题,我们列出a,s,ss就会发现一些现象。 a a1 a2 a3 a4 a5 a6 …… an s a1 a1+a2 a1+a2+a3 …… a1+a2+原创 2017-10-29 15:17:55 · 334 阅读 · 0 评论 -
[bzoj-2140]稳定婚姻 题解
题目传送门 题意解析:题目告诉了我们n对夫妻,和m对情人(???题目就是污),然后假设第i对夫妻有矛盾,那么他们就会离婚去找情人(???),所以最后就可能产生两种情况,一种是,最后一一重新配对,反之有剩余,问对于每对夫妻闹矛盾后的情况是哪一种。My opinion:看到这题目的大小,n<=4000。有深意,而且对于一一对应的匹配,很容易就想到了二分图匹配,但是事实上,点有2n个,所以这样二分图匹配原创 2017-10-29 14:06:51 · 412 阅读 · 0 评论 -
[bzoj-2049][Sdoi2008]Cave 洞穴勘测 题解
题目传送门 这题就是一个dalao告诉我的lct裸题,用来练习模板,然而一次都没写过的我果断去看了hzw学长的代码,以此为模板练练手(然而还是不是很会写) 代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#define rep(原创 2017-09-10 19:09:34 · 228 阅读 · 0 评论 -
[bzoj-3211]花神游历各国 题解
题目传送门 题意解析:题目就是告诉你n个数,然后有m个询问,每次询问有两个操作,一个是把一段区间内的和输出,一个是把一段区间中的每个数取根号。My opinion:看到这题就应该知道应该用数据结构维护,不过这个根号该怎么办呢?我们都知道,根号让一个数降下来只需要几次就好了,而根号1或者0都不会变的,我算了一下让10^9变成1或0只需要根号5次就好了,所以,我们可以每次暴力根号,如果一段区间已经全部原创 2017-09-27 12:53:04 · 431 阅读 · 0 评论 -
[bzoj-2761][JLOI2011]不重复数字 题解
题目传送门 这题就是去重,因为数字太大不能使用基数排序。 所以,我们可以使用快排,在排序的同时记录开始读入的时候的序号,最后去完重复之后用这个序号还原原来的序列。 (又是dalao提供的水题) 代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#includ原创 2017-09-03 19:29:54 · 331 阅读 · 0 评论 -
[bzoj-3175][Tjoi2013]攻击装置 题解
题目传送门 题意解析:题目就是给了你一张n*n的图,在图上有的点可以放棋子,有的不可以,这里的棋子跟马一样走“日”,然后问你最多能放几个互不攻击的马。My opinion:看到这种不能互相攻击的题,暴力点可以用dfs,但是这里n<=200,所以当然是用dfs二分图匹配了,建图十分明显,只要按与一个点能攻击到的所有点连一条边,然后跑二分图匹配就行了。最后的匹配数就是不可以放棋子的点数。但是这里有一个原创 2017-09-04 19:26:36 · 308 阅读 · 0 评论 -
[bzoj-1051] [HAOI2006]受欢迎的牛
题目传送门 题意解析:其实就是题目意思,找出一个被所有奶牛认为是最受欢迎的奶牛,并且这种认为是具有传递性的,最后找出有多少只最受欢迎的奶牛。My opinion:看到题目的时候感觉跟并查集很像,但是一想,一只奶牛可以不止认为另一只奶牛是受欢迎的,所以并查集直接被排除了。然后就马上想到了图论,可以在每一个关系中建立一条由奶牛指向被认为是受欢迎的奶牛。那么可能会存在环,环中的每一只奶牛都认为对方是受欢原创 2017-08-28 21:15:06 · 398 阅读 · 0 评论 -
[bzoj-2730][HNOI2012]矿场搭建 题解
题目传送门 题意解析:题目就是给了你一张无向图,让你设置任意的点为出口,然后去除任意一个点,其他点都能有一条路径到你设置的那些出口,求最少设置的出口数量。My opinion:一开始看到这题,先随便画了几张图,然后发现了几个问题,这题可能产生环,我们都知道环上的两点之间都有两条及以上的简单路径,所以环上只需要放两个出口就好了(因为一个点没了,另一个点还在,如果只有一个出口的话,被去掉了就没了),不原创 2017-08-30 19:17:10 · 348 阅读 · 0 评论 -
[bzoj-2463][中山市选2009]谁能赢呢? 题解
题目传送门 一位dalao告诉我的bzoj水题。 ……….. 已经不想写常规的题解了。 题目太明显了,既然两个人都是最优的策略,那么每个格子一定被跑过一遍,所以如果是二的倍数就是Alice赢,反之Bob赢。 直接上代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorit原创 2017-09-03 18:55:34 · 193 阅读 · 0 评论 -
[bzoj-3713][PA2014]Iloczyn 题解
题目传送门 dalao又跟我说了一题水题。 看完题,都知道斐波那契几项后就特别大,所以只需要预处理出前面几项就好了。 (大约是45项左右,因为40项的时候就已经大于1个亿了)#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#defi原创 2017-09-17 13:51:06 · 262 阅读 · 0 评论 -
[bzoj-3709][PA2014]Bohater 题解
题目传送门 题意解析:题目意思是告诉你有n只怪兽和你一开始的血条(这里我用HP表示,相信都懂的),每只怪兽会打掉你的血量,然后在你打死它之后会掉落血瓶让你回血。所以怪兽是先打掉你的血再给你回血(都懂都懂),所以回血和扣血是不同步的。最后问你可不可以打完n只怪兽以及最后的方案数。My opinion:这题目一开始的方法很明显,每个人当然会去选择先打回血比扣血多的,这样才能达到血量最大值去打另外的怪兽原创 2017-09-26 17:32:29 · 302 阅读 · 0 评论 -
[bzoj-1064] [Noi2008]假面舞会 题解
题目传送门 题意解析:题目给了你一个有限图,让你给这张图一次染色,每种色彩有种编号,每个点指向的点的颜色编号(设这个点的编号为i)应该是i+1(当色彩有m种,当前i=m时,指向的点的色彩编号应该为1)。最后问色彩的种类最多和最少是多少(最后的色彩数应该>=3)。My opinion:开始只会强行暴力染色,然后想了想可不可以二分色彩数,然后判读,却发现如果x可以,但是x+1不一定可以(手动绝望)。然原创 2017-09-10 16:00:03 · 436 阅读 · 0 评论 -
[bzoj-5018][Snoi2017]英雄联盟 题解
题目传送门 题意解析:题目有点像背包,就是给了你n个物品,每个物品有个价格和数量,然后问你在方案数>=m的情况下的最小花费。(方案数是显而易见的每种物品选取的数量之积)My opinion:题目很明显是一题类似背包的问题,所以当然是 dfs dp了。一开始想到的状态就是f[i][j]表示前i个物品,方案数是j的最小花费,可是这样的话,因为方案数太大,有10^17,先不说MLE,还有TLE。所以我们原创 2017-09-10 17:18:08 · 572 阅读 · 0 评论 -
[bzoj-4832][Lydsy2017年4月月赛]抵制克苏恩 题解
题目传送门 题意解析:题目告诉了我们攻击次数k,和a,b,c三种状态的奴隶主分别的个数,c可以变成b,b可以变成a,a可以直接消失,然后每次当c变成b或b变成a的时候,只要三种总数不到7,那么c的个数就会多出一。当然攻击可以打在人物角色本身。My opinion:这题暴力贼好写,dfs(k,a,b,c,p,s)表示还剩k次攻击,三种状态的人还分别剩下a,b,c个,概率为p,人物被攻击了s次。转移的原创 2017-10-25 18:11:34 · 374 阅读 · 0 评论