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

zP1nG的bzoj

代码风格清新。

关注
2 已关注
177篇博文
  • 【bzoj 2820】YY的GCD(莫比乌斯反演)

    传送门biu~ 参考博客:莫比乌斯反演 #include<bits/stdc++.h> #define N 10000000 using namespace std...

    2018-05-30 14:46
    20
  • 【bzoj 3744】Gty的妹子序列(分块+树状数组)

    传送门biu~ 默认按size=n−−√size=nsize=\sqrt{n}分块(求导个屁)。对于每个询问,有三个部分: ①对于大块之间形成的逆序对, 因为求长度为n的序列的逆序对数可以用...

    2018-05-30 20:25
    17
  • 【bzoj 3339】Rmq Problem & 【bzoj 3585】mex(可持久化线段树)

    传送门biu~biu~ 两道题区别只在于ai的范围,显然>=n的那些ai都是没有意义的,因此两题相同。 权值线段树上的i点记录数字i的最右出现位置,查询区间[l,r]即为查询第r棵线...

    2018-06-08 16:11
    17
  • 【bzoj 5329】战略游戏(圆方树+虚树)

    传送门biu~ 对于原图建圆方树,每次询问在圆方树上建虚树,树上的每一个圆点都符合条件,统计圆点个数即可。 #include<bits/stdc++.h&am...

    2018-05-23 07:51
    54
  • 【bzoj 3277】串 & 【bzoj 3473】字符串(后缀自动机)

    传送门biu~biu~ 对于所有串建广义后缀自动机,沿着父亲指针不断向root走,把路径上的节点计数+1。为了避免出现重复,记录每个节点最后一次被哪个串访问,串在走的时候如果遇到了这个串已经访问过的...

    2018-05-23 13:41
    25
  • 【bzoj 3555】企鹅QQ(字符串哈希)

    传送门biu~ 枚举不看字符串的每一位,用字符串哈希匹配。但是单模会WA,改成双模才能过。 #include<bits/stdc++.h> #define N 30...

    2018-05-16 20:29
    20
  • 【bzoj 2795】A Horrible Poem(字符串哈希)

    传送门biu~ 如果一个长度为l的串s的循环节为n,那么需要满足n是l的约数且s[1,l-n]=s[1+n,l]。 所以对于每一个询问,枚举每个质因子,用哈希判断字符是否相等。 #include...

    2018-05-18 14:48
    17
  • 【bzoj 2260】商店购物 & 【bzoj 4349】最小树形图 (朱刘算法)

    传送门biu~biu~ 只需要考虑第一次购买的顺序,然后剩下需要买的都按最小价格买。设一个虚拟节点0,原价购买i物品就从0向i连边,u对v有优惠关系就从u向v连边。跑朱刘算法即可。...

    2018-05-18 15:06
    30
  • 【bzoj 2653】middle(二分+可持久化线段树)

    传送门biu~ 先二分答案,对于二分出的答案x,在序列中把大于等于x的值改为1,小于x的值改为-1,那么求区间[a,d]包含[b,c]的最大连续子段和,如果大于等于0说明答案大于等于x,如果小于0说...

    2018-05-14 11:35
    26
  • 【bzoj 3245】最快路线(最短路)

    传送门biu~ dis[i][j]代表到第i个点速度为j时需要的最少时间,spfa转移即可。 #include<bits/stdc++.h&amp...

    2018-05-14 11:40
    36
  • 【bzoj 1922】大陆争霸(Dijkstra堆优化)

    传送门biu~ 对于每个节点,dis1表示走到这个点的最早时间,dis2代表解除了有关这个点的所有限制的最早时间,所以每个点最早到达时间为max(dis1,dis2)。在Dijkstra时,每到一个...

    2018-04-23 22:47
    24
  • 【bzoj 4631】踩气球(链表+线段树合并)

    传送门biu~ 先用链表将原序列链在一起,每次一个点的值被减至0时将这个点从链表中删除。即用链表维护每一个点左右第一个值不为0的点。 对于序列上的每一个点开一个值域为[1,n]的权值线段树。对于每...

    2018-04-25 15:26
    27
  • 【bzoj 3990】排序(DFS)

    传送门biu~ 显然一个操作序列是否合法与操作序列的顺序是无关的,所以我们只需要知道某种操作选不选即可。可以从小操作向大操作枚举,这样一个合法的操作序列对答案的贡献为选择的操作数的阶乘。 对于第i...

    2018-05-02 18:24
    38
  • 【bzoj 4919】大根堆(set启发式合并)

    传送门biu~ 假设是在序列上,就变成了nlogn的dp求最长上升子序列问题;假设是在树上,我们只需要在每个节点存下dp数组,然后用set的启发式合并将dp数组合并就可以了(代替Splay)。 ...

    2018-04-13 16:22
    26
  • 【bzoj 2073】PRZ(状压DP)

    传送门biu~ 把当前过去了哪些人进行状态压缩,枚举当前状态走的最后一批人来转移。 #include<bits/stdc++.h> #define inf 0x3f3f...

    2018-04-18 23:28
    26
  • 【bzoj 2563】阿狸和桃子的游戏(贪心乱搞)

    传送门biu~ 把每条边的边权平分给它连的两个点。因为最终求的是比分的差值,所以如果两个点被同一个人选取,那么这个人就会得到这条边的边权;如果被两个人选取,两个人的分值作差时会把边权这部分抵消掉。按...

    2018-04-20 07:53
    31
  • 【bzoj 5201】Connections(强连通分量)

    传送门biu~ 只要跑一边Tarjan,记录选择了哪些树边和返祖边就好了。因为对于每个点,所选的与这个点相连的边的数量不会超过2,所以最终选择的边数一定少于2n。最后随便加边使边数到达2n即可。 ...

    2018-04-12 10:54
    27
  • 【bzoj 5216】公路建设(线段树+Kruskal)

    传送门biu~ 用线段树维护使用编号在[l,r]内的道路最终会选择哪些道路。即线段树每个节点记录一个边的集合,集合大小显然不超过n。 在合并两个区间的时候采用Kruskal用归并的方式合并(暴力)...

    2018-04-12 11:04
    33
  • 【bzoj 4423】Bytehattan(平面图转对偶图+并查集)

    传送门biu~ 把网格图转成对偶图,网格图删边相当于在其对偶图上连边,如果对偶图上要连边的两个点曾经连过边,就说明原图删边删出了个环,即原图不连通。用并查集维护联通性。 #include&...

    2018-03-26 20:25
    16
  • 【bzoj 5200】Factor-Free Tree(分治+启发式分裂)

    传送门biu~ 预处理每个点能作为树根的区间,即预处理出每一个数左边和右边第一个与它不互质的数的位置。可以发现对于一棵子树,以任一合法的点作为根都是一定成立的。用【bzoj 4059】Non-bor...

    2018-03-27 18:34
    103
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部