随笔分类 -  bzoj

上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要:"传送门" 这个题是我晚自习的时候看到的,那个时候觉得这个题好简单啊,一上手才发现这个题好难写啊,调了好久都没调对 算法是分块!! 很显然众数不能直接合并,那么我们可以考虑每个块上记录这个块的众数。 对于每个询问,它可能包含多个块,由于众数不好合并,所以我们需要记录任意两个块之间的众数,这个直接循环 阅读全文
posted @ 2019-01-21 21:51 蒟蒻--lichenxi 阅读(250) 评论(0) 推荐(0) 编辑
摘要:"传送门" sb题啦,暴力重建树就好了,学习黄学长的每加一定次数的点就重建一次树,这样就可以过了 代码: 阅读全文
posted @ 2019-01-17 21:46 蒟蒻--lichenxi 阅读(186) 评论(0) 推荐(0) 编辑
摘要:"传送门" 仙人掌最短路,圆方树! 先dfs找环,顺带求出环的长度len,记录每个点到环内深度最小的点的最短路径有没有经过返祖边 对于每个环建一个方点,都是圆方树的基本操作啦! 求答案时对于$dist(x,y)$,先求出$z=lca(x,y)$,然后判断$z$是否是方点 1、z是方点,那么x和y的最 阅读全文
posted @ 2019-01-17 17:54 蒟蒻--lichenxi 阅读(177) 评论(0) 推荐(0) 编辑
摘要:"传送门" 这个题有多种解法,如虚树,分治,线段树合并,平衡树启发式合并,dsu on tree 我采用了dsu on tree和线段树合并来解决这个题目 很显然能看出这个题和维护子树信息有关 dsu on tree相信大家都知道是一种处理子树信息的优秀算法,利用轻重链剖分的优秀性质, 我们可以爆搜 阅读全文
posted @ 2019-01-17 08:37 蒟蒻--lichenxi 阅读(213) 评论(1) 推荐(0) 编辑
摘要:"传送门" 这个题我实在不知道怎么办了,到现在依然没能在bzojAC,本机测试速度还可以,复杂度似乎也没问题,希望有大佬能指出一下错误! 问题已解决,加个剪枝就好了(果然kd tree还是离不开剪枝啊)! 我的思路大概是对于每个数记录它的上一次出现的位置$pre_i$,当前位置$i$,下次出现位置$ 阅读全文
posted @ 2019-01-16 19:54 蒟蒻--lichenxi 阅读(138) 评论(1) 推荐(0) 编辑
摘要:"传送门" 这个题首先可以考虑一个点也算作一个联通块 去掉所有的边那么答案即为$2^m n$ 然后发现每加上一条边就会使联通块的数量减1,这部分是$ 2^{m 1} m$ 但是这是一个仙人掌图,在环上这样做是错的 简单分析可以发现环上这样做会导致多减,加回来就可以了,这部分是$2^{m len}$( 阅读全文
posted @ 2019-01-16 12:44 蒟蒻--lichenxi 阅读(312) 评论(2) 推荐(0) 编辑
摘要:"传送门" 上面是题目意思哦! (友情提供一组样例) sample input 7 17 21 24 36 14 19 27 20 21 50 18 5 33 7 4 20 3 50 2 99 5 10 2 output 45 71 95 0 这个题首先将水平排序,然后按照水平建线段树。(只是建颗线 阅读全文
posted @ 2019-01-14 19:35 蒟蒻--lichenxi 阅读(257) 评论(1) 推荐(0) 编辑
摘要:"传送门" 这个题有点意思啊,我可能kd tree的板子写的有点问题,查询的时候就是要暴力查左右儿子,记录的最大最小值毫无作用,不清楚为什么。 这个题也算是比较简单的啦,由于是子树操作,只要想到按dfs序建树就没有什么问题了 其他的也就是一个区间覆盖,没有什么难度 代码: c++ include i 阅读全文
posted @ 2019-01-13 20:14 蒟蒻--lichenxi 阅读(229) 评论(0) 推荐(0) 编辑
摘要:"传送门" 这个出题人啊,真是想问候他全家! 不得了啊,模数是合数,诶,挺正常的! 没错挺正常的! 这个题算是思路比较简单的kd tree了,打标记也和线段树差不多。 设$a_i$是标号为$i$的权值,$p_i$为标号为$i$的标识符 然后转化为二维平面上的点$(i,p_i)$,然后上kd tree 阅读全文
posted @ 2019-01-13 14:08 蒟蒻--lichenxi 阅读(157) 评论(0) 推荐(0) 编辑
摘要:"传送门" 虽然是远古时期的ctsc,但是果然还是ctsc啊 前置芝士:树状数组 这个题最开始的思路很好想,由于之前写过一个类似处理的题,所以这个题我一开始就想到了思路。 首先,我们可以尝试讲图腾表示为xxxx的形式 那么闪电就是:1324;高山是:1243和1432 ans=1324 1243 1 阅读全文
posted @ 2019-01-12 15:20 蒟蒻--lichenxi 阅读(225) 评论(0) 推荐(0) 编辑
摘要:"传送门" 乍看像是树剖,但是树剖的话就不能用权值线段树,不能权值线段树求区间第k小就只能树套树,诶静态的当然主席树啦!! 树剖也不需要了诶,好像只需要dfs建主席树就好了,这样建出来的主席树$rt[i]$,所包含的就是根到$i$节点路径上的点,对于查询$(x,y)$就可以差分解决了; 也就是查询$ 阅读全文
posted @ 2019-01-11 16:33 蒟蒻--lichenxi 阅读(128) 评论(0) 推荐(0) 编辑
摘要:"传送门" 好像还是挺简单的啊,主席树套一套就好了。 本来算错时间复杂度了,以为过不了,去翻题解,发现讲的都是玄学东西,后面终于发现了自己的想法没什么问题,但是还是写不出。 写完后因为5个字节的事情,debug了2小时,真是服了,晚饭也没吃! 时间倒是好解决,差分一下直接查询前缀和就完了,所以首先考 阅读全文
posted @ 2019-01-09 22:00 蒟蒻--lichenxi 阅读(129) 评论(0) 推荐(0) 编辑
摘要:"传送门" 这个题比起 "[POI2007]ZAP Queries " 固定了左端点,我们可以把它画成一个二维的平面 那么$$ans=solve((1,b),(1,d)) solve((1,b),(1,c 1)) solve((1,a 1),(1,d))+solve((1,a 1),(1,c 1)) 阅读全文
posted @ 2019-01-09 10:35 蒟蒻--lichenxi 阅读(95) 评论(0) 推荐(0) 编辑
摘要:"传送门" 好题啊,由于每个点既可以进,也可以出,就可以新建一个源点和汇点,对于每个点都连边,然后就是最小流板子了。 代码: c++ include include include include using namespace std; void read(int &x) { char ch; b 阅读全文
posted @ 2019-01-06 16:00 蒟蒻--lichenxi 阅读(118) 评论(0) 推荐(0) 编辑
摘要:"传送门" 思维题吧,神奇的模型转化,除了模型转化别的都是板子 最最最暴力的想法当然是一个一个去求lca啊,然后恭喜你获得了0分的好成绩 其实可以考虑另一种暴力,dep(lca(i,z))也可以看做是i点和z点到根节点路径上公共的路径的长度,那么我们就可以得到一个做法,将z到根的路径上每个节点都加上 阅读全文
posted @ 2019-01-05 16:56 蒟蒻--lichenxi 阅读(213) 评论(0) 推荐(0) 编辑
摘要:"传送门" 有源汇上下界最大流,建模很经典,将每行和每列看做一个点,然后去按照有源汇上下界建图就行了,因为这个题,我又发现了自己网络流板子里的一个错误写法,bfs的时候得增广完再退出,改了我半个小时。。。 c++ include include include include include usi 阅读全文
posted @ 2019-01-05 14:07 蒟蒻--lichenxi 阅读(448) 评论(0) 推荐(0) 编辑
摘要:"传送门" 和上一题差不多,每行和每列分别看做一个点,障碍点坐标的行和列就不建边,再按照有源汇上下界建图就好了,唯一的区别就是这个题求的是最小流 这个题的数据好水呢,建错图也能A呢 c++ include include include include using namespace std; de 阅读全文
posted @ 2019-01-05 14:04 蒟蒻--lichenxi 阅读(97) 评论(0) 推荐(0) 编辑
摘要:"传送门" 最小费用最大流,又是一道思维题,我又没想出建图,问题想对了,就是不会解决,建图大概就是对于每个工人每个时间段建个点,只要想到将$n$个工人分成$(n m)$个点,剩下的就简单了,zkw费用流在这题表现不佳 c++ include include include using namespa 阅读全文
posted @ 2019-01-05 10:02 蒟蒻--lichenxi 阅读(118) 评论(0) 推荐(0) 编辑
摘要:"传送门" 最小费用最大流,被我秒了的水题,由于每个点也只能经过一次,所以拆点处理就好了,zkw费用流又被EK踩了。。。 c++ include include include using namespace std; inline void read(int &x) { char ch; bool 阅读全文
posted @ 2019-01-05 10:00 蒟蒻--lichenxi 阅读(121) 评论(0) 推荐(0) 编辑
摘要:"传送门" 最小费用最大流,这个题是修车的加强版,暴力建图是60分,所以这个题需要动态加边,动态加边的思路很显然,最先只把厨师做第一道菜加边,之后每做完一道菜再加$n$条边就好啦,此题有及其恶(稀)心(疏)的图,zkw费用流会被卡成80分,所以只能写EK c++ include include in 阅读全文
posted @ 2019-01-05 09:57 蒟蒻--lichenxi 阅读(135) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 下一页