![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bzoj题解
文章平均质量分 60
mlzmlz95
这个作者很懒,什么都没留下…
展开
-
bzoj 1036 树链剖分
最近有点小颓废,每天休息也不是很好,实在没状态CF,好久没写题解了,写个水题来除除草每天被寝室大神各种高端数据结构吓傻不已,前段时间学了下树链剖分,感觉还算比较好写。size[u]表示以u为根的节点个数,dep[u]表示u的深度,pre[u]表示u的父节点,top[u]表示u所在重链的顶端节点,son[u]表示与在同一重链上的u的儿子节点,id[u]表示u在线段树中的位置,w[id[u]]原创 2013-05-30 12:29:54 · 1339 阅读 · 0 评论 -
bzoj 3926 [Zjoi2015]诸神眷顾的幻想乡
资瓷点此阅读QvQDescripiton给定一棵树,每个节点有一个字符,求从一个节点出发沿最短路径走到另一个节点所构成的字符串一共有多少种 注意:叶子数≤\le20Solution这个题,发现叶子数很少就很好做了,以每个叶子为根节点建立SAM即可,这样原树上所有路径都在SAM出现过,统计即可。Code#include <bits/stdc++.h>using namespace std;con原创 2015-11-23 16:08:37 · 516 阅读 · 0 评论 -
bzoj 3998 [TJOI2015]弦论
资瓷点此阅读QvQ先扯几句昨天tc怎么都上不去,突然想再补补姿势,然后发现SAM这个东西理解的很不到位,花了一晚上重新理解了一下,做了下题来回顾下>_<_Description对于一个给定长度为NN的字符串,求它的第KK小子串是什么 第二行为两个整数TT和KK,TT为00则表示不同位置的相同子串算作一个 T=1T=1则表示不同位置的相同子串算作多个,KK的意义如题所述。 k≤5∗105,N≤1原创 2015-11-23 16:07:23 · 724 阅读 · 0 评论 -
bzoj 2428 [HAOI2006]均分数据
Description 已知N个正整数:A1、A2、……、An 。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小Solution 这题一眼看不会做啊,这题肯定是乱搞题啊。。。一看这n≤20n\leq20,想搜来着,然后感觉不太对。看了一眼别人的题解恍然大悟,模拟退火!真是长姿势了,以前总是拘泥于用退火做计算几何,没有深入理解退火的实质。真是too young。 先随机分组,原创 2015-04-02 14:47:26 · 951 阅读 · 0 评论 -
bzoj 2318 spoj 4060(KPGAME)
Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。Solution 设f[i]原创 2015-03-31 15:27:02 · 770 阅读 · 0 评论 -
bzoj 1065(NOI 2008 奥运物流)
Description自己看吧= =Solution这个题感觉很蛋疼啊= =因为它不仅仅是一棵树,在1节点处还有一个环。我们考虑一个环上距离节点1距离为dep对答案所做的贡献假设环的长度为l,则贡献为c1∗kdep∗(1+kl+k2l+....)c_1*k^{dep}*(1+k^l + k^{2l}+....),然后我们惊讶的发现这原来是个等比数列求和啊。。。于是对答案的贡献是c1∗kdep1−kl原创 2015-03-26 20:47:54 · 1190 阅读 · 0 评论 -
bzoj 1023 仙人掌图
Description求一个仙人掌图的直径Solution仙人掌图有个性质,一条边要么是割边要么就是在环内,那么我们可以对它进行Dp辣!令f[u]表示以u为根的子树最长链长度f[u]表示以u为根的子树最长链长度如果u−vu-v是桥的话转移就是ans=max(ans,f[u]+f[v]+1),f[u]=max(f[u],f[v]+1)ans=max(ans,f[u]+f[v]+1),f[u] = ma原创 2015-03-04 21:38:22 · 896 阅读 · 0 评论 -
bzoj 1095 捉迷藏(线段树)
题外话最近课程不是很紧,准备按AC率版切bz,争取一天一道题以上。然后我喜闻乐见的发现之前剩下的题基本都是数据结构>_<。蛋疼啊。。。Description给定一棵树,每个节点要么是黑色,要么是白色,能执行两个操作:把某一个点取反色,返回距离最远的黑色点对。Solution这题看起来链分治,边分治都可做,然后搜到了小岛的题解。发现了逼格更高的做法,看了曹钦翔的《数据结构的提炼与压缩》,跪烂了。。。原创 2015-03-03 18:28:19 · 866 阅读 · 0 评论 -
bzoj 1018 堵塞的交通traffic
题外话做了这个线段树的题我整个人都不好了,头一次做这种用线段树维护连通性的题,简直烦的要死= =Description给你一个2*n的格子,开始全不联通,相邻两点可以连边,有3种操作1:将(x1,y1),(x2,y2)变为连通1:将(x1,y1),(x2,y2)变为连通2:将(x1,y1),(x2,y2)变为不连通2:将(x1,y1),(x2,y2)变为不连通3:询问(x1,y1),(x2,y2)是原创 2015-03-02 22:05:40 · 736 阅读 · 0 评论 -
bzoj 2957 楼房重建
Description给定n座楼,初始高度为0,每次可以改变某栋楼的高度,求每次改变高度之后从原点可以看到几栋楼Solution 1一个比较显然的做法是分块,假设块大小是S,分为L块,维护每块中斜率单调上升的序列每次暴力修改复杂度为O(S)O(S)每次询问时对每块序列中二分第一个大于之前斜率的位置即可,复杂度O(L∗logN)O(L*logN)显然S=N/S∗logN即S=NlogN−−−−−−√S原创 2015-02-26 16:43:16 · 1066 阅读 · 0 评论 -
bzoj 2962 序列操作(线段树)
题外话做这道题我整个人都非常的绝望,推了一会发现是线段树裸题,然后调了N久一直是WA情况是这样的开始WA的几百毫秒的都是由于我比较SB造成的,可是跑了10几秒的程序我查了N久也查不出错最后灵机一动把50000改成60000就过了,也不知道为啥最后灵机一动把50000改成60000就过了,也不知道为啥T_TDescription一个长度为n的序列,有3种操作一个长度为n的序列,有3种操作1:区间加c1原创 2015-02-20 21:01:55 · 1914 阅读 · 1 评论 -
bzoj 1835 基站选址(线段树优化Dp)
Description 题意:有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di题意:有N个村庄坐落在一条直线上,第 i(i>1)个村庄距离第1个村庄的距离为D_i 需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为C_i 如果在距离第i个村庄不超过Si的范围内建立了一个通讯基站,原创 2015-02-20 20:42:17 · 2512 阅读 · 0 评论 -
bzoj 2243 染色(树链剖分)
题外话首先这是个挺裸的题,由于太久没写剖分导致调了好久,前天调了一下午,一直查不到错昨晚在看春晚的时候突然灵机一动,发现合并的时候出了问题,开电脑把它A掉了= =感觉自己也蛮拼的Description给定一棵有n个节点的无根树和m个操作,操作有2类:给定一棵有n个节点的无根树和m个操作,操作有2类:1:将节点a到节点b路径上所有点都染成颜色c1:将节点a到节点b路径上所有点都染成颜色c2:询问节点a原创 2015-02-19 15:07:39 · 787 阅读 · 0 评论 -
bzoj 2333 棘手的操作(线段树)
题外话昨天粗去浪了一天,打麻将输了一下午真是拙计啊这个题号2333真是2333,有爱无比晚上回家把这题写了,1A,还算不错Description有N个节点,标号从1到N,这N个节点一开始相互不连通。第i个节点的初始权值为a[i],接下来有如下一些操作:U x y:加一条边,连接第x个节点和第y个节点: 加一条边,连接第x个节点和第y个节点A1 x v:将第x个节点的权值增加v: 将第x个节点的权值增原创 2015-02-23 09:47:00 · 1064 阅读 · 0 评论 -
bzoj 1858 序列操作(线段树)
题外话本来想练练线段树的,然后发现这题及其蛋疼,要打一坨标记,这是我写过的最长的线段树了= = 然后我很SB的把R打成了r调了一个下午真是蛋疼QvQDescription:给定一个0/1序列,有如下5个操作:给定一个0/1序列,有如下5个操作: 0:区间赋值为00:区间赋值为0 1:区间赋值为11:区间赋值为1 2:区间取反2:区间取反 3:询问区间内1的个数3:询问区间内1的个数 4:原创 2015-02-16 21:47:33 · 804 阅读 · 0 评论 -
bzoj 3572[HNOI2014]世界树
欢迎点此阅读QvQDescripiton给定一棵树,有若干个询问,每次给定mm个点,每个点都被这mm个点中最近(距离相同,编号小的近)的点管辖。问mm个点分别管几个点 ∑m≤300000\sum m\le 300000Solution一个很经典的题,通过这题学到了一个叫虚树的东西,修为得到的精进 虚树就是包含了给定点,并收缩了不分叉边的连通子图 然后我们讨论下虚树的构建 先给代码 tt表示原创 2015-11-25 16:45:45 · 667 阅读 · 0 评论