ZOJ
文章平均质量分 79
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
ZOJ 2112 动态区间第K大(二分答案+线段树套Treap)
人生第一道树套树? 之所以打问号,是因为其实之前写二维线段树的时候,那个也可以相当于是线段树套线段树,所以严格意义来说这个不是第一个道题…… 普通的区间第k大很简单,各种数据结构乱搞就行了,但是如果要支持修改的话就一定要树套树。之所以用了Treap,就是想多熟悉一下,毕竟之前平衡树用的太少了。然后具体思路也是很简单,外面虚建一棵线段树,作用就是把区间分段,分段的同时对于每一个区间都建立一棵Treap,用来维护子区间的大小关系。由于Treap支持删除和插入操作,所以相当于可以进原创 2017-08-25 16:17:14 · 468 阅读 · 0 评论 -
ZOJ 3981 Balloon Robot CCPC2017 Qinhuangdao(推公式+离线处理)
现在回想起来,真的不应该去用C++强撸那道应该用Java做的大整数的题目了…… 大致题意就是,有一个发气球的机器,然后有n个人,m个座位排成了一个圆圈,总共AC了p道题目,然后机器人每次从某一个位置开始移动,每次花1个时间单位移动一格。每次机器人走到一个人旁边,它就会把这个人已经A的所有题目对应的气球发给他。对于每一道题目,产生的不高兴值是发气球的时间,减去对应A题的时间。然后问,如何选取这个出发点使得总的不高兴值最大。 首先,我们考虑如果发气球机器的起始位置是x,那么对于一原创 2017-10-31 20:56:55 · 597 阅读 · 0 评论 -
ZOJ 3987 Numbers CCPC2017 Qinhuangdao(贪心+Java大整数)
CCPC秦皇岛的G题,当时几乎想出来怎么做了,但是需要用到一个大整数模板,要支持除法……然后暴力敲了几百行的c++程序,最后GG…… 在这之后才知道,又一次的吃了Java的大亏,如果此题能够在1个小时内用Java大整数求出,那么后面的A题也能有更多的时间思考,做出了也没什么问题,然后就可能金牌了…… 还是不说了,过了一个星期之后,在经历完青岛极其恶心的题目之后,有了三个星期的休息时间,于是不打算再次吃Java的亏,于是就简单的学了一下Java的基本操作和大整数类的东西。其实呢原创 2017-11-08 23:06:52 · 457 阅读 · 0 评论 -
ZOJ 2676 Network Wars(分数规划+最小割)
大致题意:给你一个网络,让你求一个最小割[S,T],使得这个割中Σcapi/|[S,T]|最小。 论文原题。比较经典的一个分数规划问题。分数规划那些具体的证明什么的今天就不在这里讲了,之后会有总结~ 然后本题还是按照套路。令ans=Σcapi/|[S,T]|,那么可以有0=Σcapi-ans*|[S,T]|,二分这样的一个ans,使得f(x)=min(Σcapi-ans*|[S,T]|)为0即可。问题的关键在于怎么求这个f(x)。 我们不妨把cap 看作一个向量,表示从1 到原创 2018-05-10 16:03:09 · 335 阅读 · 0 评论 -
ZOJ 4029 Now Loading!!!(前缀和+二分优化)
大致题意:给你 an和pn,然后让你求(∑i=1mi⋅∑j=1n⌊aj⌈logpaj⌉⌋)mod109.显然,直接计算的复杂度是O(nm)的,对于1≤n,m≤5×105的数据来说显然是会TLE的。但是我们考虑到分母logpaj的取值很少,只能是[2,30],所以可以考虑根据把分母相同的一起计算。首先,我们对an进行排序,然后对于每一个给定的pi,根据pi的不同次方来统计。例如当考虑pji时,我们要统计∑pk−1i<ak≤pkin⌊akk⌋。由于an已经排好序,所以我们可以用二分的方法确定满足原创 2018-05-04 10:31:14 · 411 阅读 · 0 评论 -
ZOJ 4027 Sequence Swapping(DP+思维)
大致题意:给你一些括号,有左括号有右括号,每一个括号对应一个数值vi。当左右括号i、j相邻并且左括号在左、右括号在右,你可以选择交换这两个括号的位置,并且产生一个vi*vj的权值。交换次数不限,现在问你能够产生的最大权值和是多少。 首先,对于左括号来说,如果往右移了一位,即与某一个右括号交换了,那么就一定不会交换回来。这是一个很明显的无后效性,因此考虑...原创 2018-05-04 13:51:52 · 498 阅读 · 0 评论 -
ZOJ 4053 ICPC2018青岛网络赛 Couleur(可持久化线段树 + 复杂度分析)
大致题意:给你一个序列,每次删掉序列中的一个数字,使得原本的一段变成两段。每次在删除之前,输出所有段中,逆序对数量最多的逆序对,强制在线。对于这道题,你需要有一定的胆量。对于逆序对,如果暴力求的话,其复杂度是O(NlogN)的,这个用很多中方式都可以求出来。现在考虑按顺序删掉数字,每次删掉数字之后,拆成两个新的区间,这样在所有区间中,逆序对最多是多少。考虑,删除之后,...原创 2018-09-18 21:06:47 · 420 阅读 · 0 评论 -
ZOJ 4097 Rescue the Princess(边双连通分量缩点 + LCA)
大致题意:给你一个可以有重边和自环的n个点m条边的无向图,给你q个询问。每个询问告诉你公主的位置和两个骑士的位置。现在骑士要去救公主,问是否存在从两个骑士出发点到公主的边不相交路径。我已经标出来了,是边不相交,而不是点不相交。然后这是一个无向图,所以我们容易想到的第一件事情就是要进行缩点。关于缩点,这里用到的是边双连通分量的定义,至于点双连通分量、边双连通分量和连通分量的区...原创 2019-04-18 00:07:01 · 349 阅读 · 0 评论