自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

既然弱小,就只顾变强就是了

不想Wrong,就不要给Wrong找到理由;不后悔尝试,但愿每个尝试的结果都能Accept。

  • 博客(41)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 树链剖分学习日记

树链剖分【11月27日星期二晴】先【下认识树链剖分的概念】从大佬处摘录而来,先认识下概念。树链剖分就是对一棵树分成几条链,把树形变为线性,减少处理难度需要处理的问题:将树从X到ý结点最短路径上所有节点的值都加上ž 求树从X到ý结点最短路径上所有节点的值之和 将以X为根节点的子树内所有节点值都加上ž 求以X为根节点的子树内所有节点值之和概念重儿子:对于每一个非...

2018-11-27 09:42:54 459 2

原创 Rikka with Phi 【HDU - 5634】【线段树+欧拉函数】

题目链接  很好的一道题,也算是开阔了我的思维,一开始,我的想法是既然是区间求欧拉,那么到一定地步的时候,数的欧拉值就会降到1,那我们维护区间值等于区间长度不就是可以了吗?然后T了。  然后我再想,是不是哪里可以优化?毕竟还有另外一个条件没用优化(区间赋予相同值),那我们需要怎么做?区间值为“1”就是意味着区间上每个值都相等,那么我们让区间上如果每个值都相等,那么直接赋予其等价欧拉,然后利...

2018-11-30 09:00:08 264

原创 Jiu Yuan Wants to Eat【2018焦作网络赛】【树链剖分】

题目链接树链剖分学习笔记,可以看这里  这道题还真挺好的,以前不会做,现在想了发现,学过树链剖分之后,剩下的部分就是处理去反那块比较的不容易些了,但是想了一下午,现在还是给我敲出来了,我们主要难处理的就是关于求反,那么怎么处理求反?  一开始读题的时候,我还在想,是不是求反是与此数的最大2次幂系数开始,后来推了测试样例,发现,是直接对64为比特位都求反,那么我们似乎可以推一个公式了,因...

2018-11-28 20:36:05 219

原创 Aragorn's Story 【HDU - 3966】【树链剖分】

题目链接树链剖分的学习笔记(更新中)  这道题所给的Hint好有迷惑性,它跟我们说注意士兵的数量可能为负数,我的第一反应是,士兵的数量是不是不能为负数,那么我们是不是要做出些什么调整,然而,语文不好的我看了Discuss才知道说的是:士兵的数量可以为负数。这样也好,题目就变成了一道简单的树链剖分问题了,我们只需要记录每个节点的深度,以及它的最顶节点,然后边更新就是了。#include...

2018-11-28 16:21:08 195

原创 树上求和【牛客小白月赛9-D】【树链剖分】

题目链接还不懂树链剖分的小伙伴可以看这里,以及我的学习笔记都在里面  一道很基本的树链剖分,但是要推一个关于处理平方和的公式:X1^2+X2^2+......+Xn^2;有(x+y)^2=X^2+Y^2+2xy,那么多几个x、y也是成立的:(X1+X2+X3+......+Xn+Y)=X1^2+X2^2+......+Xn^2+2*(X1+X2+X3+......+Xn)*Y+Y^2。...

2018-11-28 12:36:20 242

原创 树链剖分题集【已经建立好,点开即可】

题目链接 密码:MyAcmLife

2018-11-27 16:04:54 219 2

原创 白井黑子【Wannafly挑战赛29-B】

题目链接  蛮好的一道题,补题的时候用了O(N) 的算法给过了,还有一种O(N^2)的算法应该是指的是树状数组,一会我去尝试下,这道题,在比赛的时候,我想到的就是上次做过的DNA那道题类似,开一个多维树状数组,然后去查对应的补集,然后可惜的是当时硬是没想出来BUG在哪,因为题目有些坑点:K==0时候,我们取余就会取不到,所以要特殊的分出来算; 还有一件事,当你K==0时候知道分开来算,也...

2018-11-26 20:27:16 239 3

原创 The Unique MST 【POJ - 1679】【最小生成树】

题目链接  看到这道题的时候我心里一惊,求不同的最小生成树!我的天呐,然后又看到这么多人过了,一想,一定是简单的题,然后就用Kruskal做了个不同边的等价值降序/升序链接边的端点的序号快排处理,然后加上个两次Kruskal果然是这样!就这样过了。#include <iostream>#include <cstdio>#include <cmath&gt...

2018-11-25 10:13:57 195

原创 Building Roads 【POJ - 3625】【Prime最小生成树】

题目链接  一道简单的MST(最小生成树),但是一开始可能不在状态,敲了个Kruskal,然后疯狂RE,后来再想想,为什么不把已经相连好的节点处理成点间距为0不就好了嘛。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <...

2018-11-24 22:20:53 121 1

原创 Counting Black 【POJ - 1656】【二维线段树+内存优化】

题目链接  这道题卡了内存,但是处理这个内存的方式却也简单,可以直接用short int来减少内存的使用,于是就可以用四叉树——二维线段树过了。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#...

2018-11-22 18:45:29 188

原创 Mosaic 【HDU - 4819】【二维线段树】

题目链接  这道题难就只是难在题目难读,题意读懂后就是一道普通的二维线段树更新查找问题。  题意:给你一个N*N的矩阵,并且已经建立了初始值,然后给你个点以及L,很多人不解其义,其实就是给你个点,然后查的是以(x, y)为基础的点,在以左上角(x-L/2, y-L/2)为其中一个端点,另一个端点右下角(x+L/2, y+L/2)的所覆盖区间内的最大值与最小值的平均值赋给(x, y)这个点,...

2018-11-22 14:53:29 190

原创 Matrix Searching 【ZOJ - 2859】【二维线段树】

题目链接  简单的二维线段树求区间最小值问题,还不用修改操作。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>#include <li...

2018-11-22 13:09:35 190

原创 Census 【UVA - 11297】【二维线段树】

题面This year, there have been many problems with population calculations, since in some cities, there are many emigrants, or the population growth is very high. Every year the ACM (for Association fo...

2018-11-21 22:03:37 218

原创 Matrix 【POJ - 2155】【二维线段树+永久化标记】

题目链接  挺好的一道题,一开始用lazy标记往下推,总是推不出样例的正解,然后就去看了相关博客,发现却确实如此,在这里是无法用lazy标记来层层推的,并且还会出现超内存的情况,所以,便改用了永久化标记来解这道题。  还有一件是,关于discuss里的讨论区有一块这样的讨论:12 10C 2 1 2 2Q 2 3C 2 1 2 1Q 1 1C 1 1 2 1C 1 2 1...

2018-11-21 20:43:49 278

原创 Get Many Persimmon Trees 【POJ - 2029】【二维线段树】

题目链接【简单题】  一道简单的二维线段树,查询的是一个规定长宽的长方形内的最多点数,因为W、H都比较的小,所以不妨可以直接上暴力二维线段树查找即可。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring&gt...

2018-11-21 16:03:20 136

原创 Luck and Love 【HDU - 1823】【二维线段树】

题目链接  最近敲了些二维线段树,这也是我题单里的一道题,无非多出来的操作就是对区间端点的处理问题,给出的是浮点数,不如就把他向取整咯,一开始取整的时候总是会遇到些问题就是总是取不到恰好,会少位,怎么办呢?于是我这里学到了个骚操作:(int)(x*10. + efs);其中,efs指的是1e-6。  这道题还有另外的坑点,就是对与区间,并没有告诉你是左上角与右下角的关系,你得自己进行处理。...

2018-11-21 11:18:03 197

原创 Mobile phones 【POJ - 1195】【二维线段树】

题目链接  关于这道题,我用了二维线段树来做的,但是,我这里又一个疑问,就是我用了个四叉树的线段树的代码却是始终过不了一直在WA,若恰好有大佬经过,能帮小生看一下我不成器的代码吗?  先放上讨论哪里错的代码供大家讨论,帮我修改,谢谢!#include <iostream>#include <cstdio>#include <cmath>#in...

2018-11-20 21:22:21 220 2

原创 How far away ? 【HDU - 2586】【在线LCA算法讲解】

题目链接  做些LCA的算法,还是很提高代码能力的,这道题就是典型的LCA模板,所以用它来练一下我的LCA算法还是很好的。  我们要求的是在一棵树上的任意两点的相互距离,既然在一棵树上,就可以直接调用LCA来解了。  我们先任取一根节点,我取的是1,我们从1开始,以1为总的根来预处理这棵树,先对其进行遍历整棵树,建立相互间的关系,并且向下更新的时候不忘整理出dis[](到根1的距离)。...

2018-11-20 09:29:47 440

原创 A Magic Lamp 【HDU - 3183】【线段树区间最小值】

题目链接  简单而言,这道题就是RMQ问题,但是我个人更喜欢用线段树来写区间最大值,因为这样子会好更新些(奈何这道题不需要更新)。  我们要从长度为N的字符串中删除M个元素,那么岂不是只剩下(N-M)个字符串的长度,所以,我们不妨来找(N-M)的长度来的会更加简单一些,查找从(1~1+M)开始,然后找到最先出现的最小值(如果有相等结果取先出现的),然后再从这一位之后开始找到~(2+M),就...

2018-11-20 08:37:38 221

原创 Check Corners 【HDU - 2888】【二维线段树】

题目链接  很多人写这道题都用的是二维RMQ,但是,我觉得这道题可以锻炼一下我二维线段树的思维,但是,无独有偶,这道题会卡一些二维线段树的模板,一开始我想也没想,直接敲了刚学的线段树,然后不停的RE,后来改了下,换成单点更新与区间更新二维线段树,还是不行TLE了,于是,就开始想,我们该如何把二维线段树双重区间写出来,然后,研究了下他的向下更新操作,我们不妨可以结合一下单点更新作出改进,譬如看向...

2018-11-19 19:02:27 203

原创 红球进黑洞【线段树区间更新+二进制异或处理】【牛客小白月赛9-C】

题目链接  给你N个点,M次查询,问的是(一)、区间【l, r】的数的总和;(二)、把区间【l, r】上的所有点去异或(xor)一个数X。  一开始用了点更新,然后T了,想了一会,最后在比赛结束前终于美滋滋的完成了AC,庆幸,我的想法是这样的,将每个点的值用一个另开的[22]位二进制来存。放心,22位是绝对够的,然后向上更新的是每一位的个数和。这样,就能保证线段树区间更新的速率了。具体...

2018-11-18 16:22:40 279

原创 二维线段树【模板——给出对应注释】

闲话少说,直接看注释反而会更容易读懂这段二维线段树的模板:#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<map>#include<cmath>#define max(x,y) ((x)>(y)...

2018-11-18 16:13:37 442

原创 Nightmare 【HDU - 1072】【完整注释+对于BFS初学者是绝对适用的】

题目链接  给个学弟看代码,看了半天,给他打了注释,然后再将一些细节上改了下,还是挺累的,看代码吧,讲解和注释都附在上面了。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include &l...

2018-11-16 16:48:36 251

原创 Mayor's posters 【POJ - 2528】【线段树:讲解离散化后TLE的原因】

题目链接  题目是一道很好的题,他用很神奇的数据告诉了我们——少用map,会TLE的。。。所以,这道题怎样避免N*log(N)的map??我们可以换成lower_bound()来进行优化,但是在此之前可以用unique()进行去重操作(自己懒,所以用已有的STL文件)。  顺便说一句,这有一组数据(这组数据在常理上应该是正解,但是好像在本题中视作假的。。。)131 101 ...

2018-11-15 20:33:50 197

转载 二维线段树的讲解【建立在线段树上的提升】

二维线段树      二维线段树最主要用于平面统计问题。类似一维线段树,最经典的就是求区间最值(或区间和),推广到二维,求得就是矩形区域最值(或矩形区域和),对于矩形区域和,二维树状数组更加高效,而矩形区域最值,更加高效的方法是二维RMQ,但是二维RMQ不支持动态更新,所以二维线段树还是有用武之地的。      如果对一维线段树已经驾轻就熟,那么直接来看下面两段对比,就可以轻松理解二维线段...

2018-11-15 16:37:24 606

原创 Interviewe HDU - 3486【线段树+二分搜索】

题目连接  题意是这样说的,有N个人去面试,他们有各自的价值,然后大BOSS又比较的忙,所以想要派出M个小老板去审核这几个面试的小老弟,但是每个小老板只能够选出一个人来,就问要达到价值K,需要几个小老板选出的最出色的小老弟。  看到这道题之后,我就想,我们可以用线段树来找区间最大值,然后二分搜索去逼近最真实的答案,然后去敲了,就这样过了,不过好像有点卡的成分在里面,不知道其他人是用什么方法...

2018-11-15 13:45:46 246

原创 Karen and Coffee 【CodeForces - 816B】【前缀和思想】

题目链接  很好的一道题,刚看到这道题的时候,我们看法各不一,敲了线段树、还有敲了个状压DP的,但是最后T在第9发,然后想到了其他的做法,真的很有意思的前缀思想。  看看代码吧,会很惊喜的:#include <iostream>#include <cstdio>#include <cmath>#include <string>#...

2018-11-14 21:33:32 201

原创 DNA Evolution 【CodeForces - 828E(827C)】【树状数组】

题目链接  很难的一道题吧,算是挺难了,就是想到挺复杂,作为我这么个Ju蒻来说。  题目给你一串字符串,是初始的字符串,然后告诉你一系列操作,问你:(一)、改变点Xi上的字符;(二)、查询【l,r】区间上的对应与新给的字符串匹配的个数是几个?例如“ACGTCGA”我们待查的是这个完整区间上的“AG”,那么“AG”会变成“AGAGAGA”与上述对应的点的个数就是3,第一位与最后两位。...

2018-11-14 17:35:42 307

原创 Unidirectional TSP 【HDU - 1619】【DFS+记忆化搜索】

题目链接  就是告诉你有三种走法,斜向上、向前、斜向下,问你从最左边的任一点出发抵达最右边,问所需要的最少权值是多少。  我身边的人都告诉我说用DP来写,但是我一眼就觉得它是道DFS+记忆化搜索的题(不记忆化肯定会T,亲自实验过),然后我就直接敲了DFS,就过了,看代码吧,DFS可以说的不多。#include <iostream>#include <cstdio&...

2018-11-12 19:50:57 198

原创 Connections between cities 【HDU - 2874】【在线LCA算法】

题目链接  昨天刚学了在线LCA,今天就来硬刚这道题还是花了一整天的时间,不过对于LCA却有了更多的理解,这道题在讲述不同根的做法上尤其是很好的。  题目告诉我们有N个节点和M条边,以及C次询问,每次查询的是【L、R】这两个节点间的距离,还是算得上简单明了的告诉了我们得去用最近公共祖先来做的。  对于LCA,毕竟是初学,还是有些地方容易写出BUG,譬如说这道题,我一开始想把节点放进df...

2018-11-11 20:24:28 187

原创 How far away ? 【HDU - 2586】【DFS+链式前向星优化】

题目链接  其实这道题可以不用链式前向星优化换做vector<>也是可以跑的,只是会许会慢些而已。来换个中文题意好读些:勇气小镇是一个有着n个房屋的小镇,为什么把它叫做勇气小镇呢,这个故事就要从勇气小镇成立的那天说起了,修建小镇的时候,为了让小镇有特色,镇长特地只修了n-1条路,并且规定说,所有在勇气小镇的村民,每一次出门必须规划好路线, 路线必须满足在到达终点之前绝对...

2018-11-10 19:18:09 229

原创 Virtual Friends 【HDU - 3172】【带权并查集】【题目不难、但有坑点】

题目链接  为什么能这么埋坑???我还以为我错了,结果找不到BUG,后来一看Discuss,发现竟是这种问题。。。  一般情况,我们都是while(T--)就行,但这道题可真就不一样了,它还需要while(scanf("%d", &T)!=EOF)!!!  其余的,就是简单的带权并查集了。#include <iostream>#include <c...

2018-11-07 19:29:44 188

原创 Pseudoforest 【HDU - 3367】【最大生成树】【Kruskal】

题目链接  题意:好坑的题啊,我一开始看了测试样例以为是放进一棵树中问最大的边,每棵树上最多成一个环,没想可以放进多棵树中,但是要求的是最大的边权总和就行,那么就是Kruskal的思想了,以降序排序,然后逐步存入边,遇到已经成环的就放弃掉这条边,因为它一定不是最优解。#include <iostream>#include <cstdio>#include &l...

2018-11-07 19:02:08 166

原创 Pseudoforest 【HDU - 3367】【并查集+(可以忽略的离散化)】

题目链接  翻译的有点不准确,还是靠自我的理解吧,呐,具体是这样的:第一行 N, M,  接下来有M行,N代表有几个字母组成, M代表有多少个可操作区间。  然后讲一下几个测试样例:样例一:表示只有一个字母,这个字母可以是a.....z, 1代表下面只有一个操作区间,就是1 1, 当这个字母是a时, 它经过1 1这个操作区间进行有限次的“增加”后,可以变成b,c,d....z,那...

2018-11-06 20:10:41 177

原创 Genghis Khan the Conqueror 【HDU - 4126】【最优比例生成树】

题目链接  看到这道题的时候,我第一反应就是次优比例生成树的变形,但是,思路是这样的没错,却又少许不同的地方,我们来讲一下这里的不同点,依旧是要用到pre[]前缀来记录每个节点的前缀,然后判断的是每个边:若删除这条边,用其他边进行补,会需要多少的最小花费边。  于是问题化简为:我们将[L, R]这条边的价值变为x,需要判断的是:(一)若是这条边是最优比例生成树上的边,那么除去这条边之后的连...

2018-11-06 13:33:17 260

原创 Qin Shi Huang's National Road System 【HDU - 4081】【次优比例生成树(最优比例生成树变形)】

题目链接  题目问的是有N个点集,问你建立N-1条边的情况下,使得路径最短的方案数,但是呢,题目中又给出徐福会魔法可以把一条路径变成免费道路,但是有个限制就是希望这条路上两个城市的人口数比上除去该路径以外整棵树的权值能最大。  一开始就想到的是最优比例生成树,但是却有很多地方不大对,没法往下推下去,强行过了样例交了两发最后草草WA了,后来画了张图去推了下,发现了件事,我们看到样例一所给出的...

2018-11-04 11:53:19 200

原创 Minimal Ratio Tree 【HDU - 2489】【最优比例生成树+搜索】

题目链接  刚看到这道题的时候,我相信很多读者会把它与二分答案的最优比例生成树联系在一起,当然,我也是这么想的,然而,后来怎么推也都没法合理的将它的优先队列的方程推导出来,所以想必是错了的。  这道题还的确是用最优比例生成树,因为它的N、M偏小,最多也就是15,那么搜索就可行了,我们可以用dfs()去搜,每次将搜索的节点放进一个预存的数组中,然后当恰好搜到M个节点的时候,我们就对这M个节点...

2018-11-03 16:56:17 244

原创 Portal 【HDU - 3938】【带权并查集+预处理】

题目链接  题意:先建立M条边,然后查询在L能量下能走多少条边的走法,然后看到查询的个数与查询的权值,我们可以通过按权值升序来做一个优化。  思路:我们要想知道所有符合条件的走法,可以先研究一下题目中给的样例中L==5时候的可能,会有这样的走法:{1->2}、{2->7}、{1->7}、{6->8}、{5->8}、{8->10}、{4->6...

2018-11-03 12:21:30 186

原创 Hand in Hand 【HDU - 3926】【带权并查集】

题目链接  很好的一道题,关于同构图,一开始没理解,而且他给的数据也很坑,我开始以为完全一样的图就是同构图,但是,很显然WA告诉我,你这么想是错的,于是我就去百度了下什么是同构图,原来结构相似的就是同构图,就是一个五角星和一个五边形可以看作是一对同构图。  然后,我们讲讲解题思路:我们看到这道题,他说的是每个点最多可以连出两条边,那么,最后所得到的图不是链就是环,所以我们对所有的链上的节点...

2018-11-02 20:57:32 266

原创 Rank of Tetris 【HDU - 1811】【并查集+拓扑排序】

题目链接  思维的确是有点巧妙了,我们需要用到并查集和拓扑排序,一开始的时候,我看到这类题,会不自觉地和种类并查集联系起来,但是这道题又有不同的地方,它的种类个数不固定,所以说我们没法用种类并查集来思考,于是就想到建一个有向图,我们把相等的先处理掉,反正相等的不会影响到我们最后的排序,所以,相等的就直接用并查集连立放到同一棵并查集的树上去,然后我们对所有树的根进行大小的排列处理建立有向图,会发...

2018-11-02 13:40:06 161

74LS90的功能表.doc

74LS90的简介。功能以及其引脚的作用。包括其作用,对应的功能表,74LS90为中规模TTL集成计数器,可实现二分频、五分频和十分频等功能,它由一个二进制计数器和一个五进制计数器构成。

2019-05-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除