博客专栏  >  编程语言   >  zP1nG的bzoj

zP1nG的bzoj

代码风格清新。

关注
2 已关注
93篇博文
  • 【bzoj 1070】修车(费用流)

    传送门biu~ 把每个工人拆成nn个点,源点连每个n×mn\times m的点,流量为11,费用为00。n×mn\times m的点连每辆车,流量为11,费用为timei,j×ktime_{i,j}...

    昨天 19:55
    11
  • 【bzoj 1877】晨跑(费用流)

    传送门biu~ 费用流模板题,把一个点拆成两个,用1限流。跑费用流,费用流和最大流的区别是:费用流把最大流的bfs操作改成了spfa求最短路,每次增广的时候只增广在最短路上的点,可以保证每次都是最小...

    昨天 19:22
    9
  • 【bzoj 2818】Gcd(欧拉函数)

    传送门biu~ 求欧拉函数的前缀和sumi=∑ij=1φjsum_i=\sum _{j=1}^i\varphi_j。 假设gcd(x,y)=p\gcd(x,y)=p(pp为素数),那么gcd(xp...

    昨天 16:35
    10
  • 【bzoj 2017】硬币游戏(DP)

    传送门biu~ fi,jf_{i,j}表示剩下ii枚硬币,前一个人拿了jj枚,自己最大的收益。 sumisum_i表示后缀和 转移:fi,j=max{sumi−fi−k,k}     (1≤k≤...

    昨天 14:47
    16
  • 【bzoj 1115】石子游戏Kam(阶梯Nim游戏)

    传送门biu~ 阶梯Nim游戏大意:每个阶梯上有一堆石子,两个人在阶梯上玩推石子游戏。每人可以将某堆的任意多石子向左推一阶,所有的石子都推到阶梯下了即算成功。 如果只考虑对偶数堆的操作,如果对...

    昨天 11:20
    17
  • 【bzoj 3932】任务查询系统(可持久化线段树)

    传送门biu~ 把操作(Si,Ei,Pi)(S_i,E_i,P_i)拆成在SiS_i处加PiP_i和在Ei+1E_i+1处减PiP_i。把操作按时间排序,按操作建主席树。查询XiX_i时先找时间Xi...

    昨天 21:14
    22
  • 【bzoj 1483】梦幻布丁(链表的启发式合并)

    传送门biu~ 暴力合并两个链表,最坏时间复杂度是O(n)O(n)的。那么启发式合并呢?时间复杂度是短的那个链表的长度,看起来没什么区别。但在均摊的情况下,每次的时间复杂度是O(n)O(n)的;每次...

    昨天 16:30
    24
  • 【bzoj 4059】Non-boring sequences(分治)

    传送门biu~ 我们可以把相同的数字用双向链表串起来,pre[x]为x位置之前第一个和x位置数字相同的位置,nexxnex_x为xx位置之后第一个和xx位置数字相同的位置。对于区间[l,r][l,r...

    昨天 15:05
    22
  • 【bzoj 2435】道路修建(DFS)

    传送门biu~ 第一眼看:这不是sb题么? 实际上当树的深度特别大的时候,递归的层数过深,系统栈就特别容易崩溃。之前在dfs的时候传了两个参数,一直RE。还好有Duan2baka大佬指教,改成一个...

    4天前 19:43
    57
  • 【bzoj 3343】教主的魔法(分块)

    传送门biu~ 分块。把每个块内的英雄按高度排序。增加身高的时候,对于完整的块打标记;对于不完整的块直接暴力重构。查询身高的时候,对于完整的块二分答案;对于不完整的块暴力求解。时间复杂度O(Qn√)...

    4天前 15:22
    34
  • 【bzoj 1735】Muddy Fields 泥泞的牧场(最小割/最小顶点覆盖)

    传送门biu~ 建图类似于【bzoj 1693】【bzoj 1741】Asteroids 对于每块泥地,求出能覆盖它的最长的横木板和纵木板。求最小顶点覆盖即可。 #include using...

    4天前 11:09
    28
  • 【bzoj 1135】Lyz(Hall定理+线段树)

    传送门biu~ Hall定理的内容是:二部图G中的两部分顶点组成的集合分别为X, Y;边集中有一组无公共点的边,一端恰好为组成X的所有点的充分必要条件是:X中的任意k个点至少与Y中的k个点相邻。 ...

    4天前 07:48
    62
  • 【bzoj 1257】余数之和sum(数学)

    传送门biu~ 对于原式我们可以考虑先计算n×kn\times k,再把modmod掉的部分减去。当k mod i k\ mod\ i 时,减去的部分相当于(k/i)×i(k/i)\times i。...

    4天前 08:04
    70
  • 【bzoj 1497】最大获利(最小割)

    传送门biu~ 最小割模型,每个中转站建一个点,每个用户建一个点。有关系的中转站和用户之间连INF,S连每个中转站流量为成本,用户连T流量为利润。先获得所有利润,割掉中转站成本或者用户获利,所有利润...

    5天前 18:04
    28
  • 【bzoj 1935】Tree 园丁的烦恼(树状数组)

    传送门biu~ 把x值排序,离散化y值建树状数组。把每个询问拆成四个。 #include using namespace std; int n,m; int x[500005],y[500005]...

    5天前 08:27
    33
  • 【bzoj 2724】蒲公英(分块)

    传送门biu~ 分块,预处理f(i,j)为第i块到第j块的众数。每次查询区间众数时,可能作为答案的种类只有完整的块中的众数和不完整的块中的数最多2∗n√+12*\sqrt n+1种。二分求一下区间中...

    5天前 16:13
    26
  • 【bzoj 2756】奇怪的游戏(最大流)

    传送门biu~ 对棋盘进行黑白染色。设黑格个数为num0,数值和为sum0;白格个数为num1 数值和为sum1。 最后都变为x,则num0 * x – sum0 = num1 * x – sum...

    6天前 14:33
    27
  • 【bzoj 4205】卡牌配对(最大流)

    传送门biu~ 最暴力的做法是构建二分图,也就是暴力枚举X和Y中的两张卡牌能否配对然后连边跑最大匹配。 如果想优化这个算法,可以考虑在二分图左右之间再建一排点,使得左右能匹配的两张卡牌可以连向同一...

    2018-01-09 11:06
    33
  • 【bzoj 2561】最小生成树(最小割)

    传送门biu~ 根据Kruskal算法可知,比最小生成树上的边(u,v,w)权值小的所有边无法将u和v联通。那么在图中加入权值比L小的所有边,跑最小割就是这条边出现在最小生成树上时需要删掉最少的边数...

    2018-01-08 20:55
    32
  • 【bzoj 1854】游戏(并查集)

    传送门biu~ 把每个属性当作一个点,武器是连边。当一个节点数是n的联通块是一棵树时,只有n-1个属性能被满足;当联通快不是一棵树时,所有的属性都能被满足。所以把每个联通快用并查集维护,当联通块是一...

    2018-01-08 19:52
    24
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部