A.Another Recurrence Sequence

problemId=5287">B.Gears

题目大意:有n个齿轮,一開始各自为一组。之后进行m次操作,包含下面4种类型:
1.合并两组齿轮。合并的两个应该反向旋转
2.把某个齿轮从所在组删除,自为一组。但不影响同组其他齿轮的状态与关系
3.询问两个齿轮是同向、反向或无关系(即不在同一组)
4.询问某个齿轮所在组的齿轮总数

分析:典型的并查集操作,可是注意两点:
1.因为操作3要询问两个齿轮的相对状态。因此对并查集中每一个元素应当保存它的状态信息。状态是相对的。仅仅须要保存每一个元素相对于父元素的状态。在查询所属集合时顺便更新状态信息。

如用depth[i]表示齿轮i相对于父齿轮的深度,那么两个齿轮属于同一组且深度奇偶性同样时同向旋转。更新depth数组也行简单,i对j的深度 = i对k的深度 + k对j的深度。
2.操作2涉及删除某个元素。

另外开一个数组id,用id[i]表示元素i实际所在的位置。当删除元素i时。令id[i] = new id,同一时候fa[id[i]] = id[i],即id[i]自为一组。这样一来。之后涉及到元素i的操作都用id[i]取代,而原来的i元素依旧存在,仅仅只是它仅仅起到占位的作用,以维持原集合的相对关系。相当于id[i]表示元素i的指针。

C.Consecutive Blocks

题目大意:给定一个整数序列,要求删除最多k个数后,新序列中连续相等的子序列长度最大,输出该最大长度。

分析:除了F题搞笑外这个就是最简单的题了。记录每一个数出现的位置(因为数字可能非常大。先把数字映射到1..k),然后计算以每一个位置结束时的最大长度就可以。

D.An Easy Game

题目大意:给定两个0-1序列s1, s2,操作t次,每次改变m个位置,求把s1改变为s2的方法总数。

分析:明显的DP。注意s1和s2哪些位置同样并不重要,重要的是有几个位置不同。改变的时候也一样,改变哪些位置并不重要。重要的是改变之后有几个位置不同。所以用dp[i][j]表示i次操作之后有j个位置不同的方法数,答案就是dp[t][0]。对于dp[i - 1][j],经过一次操作之后如果把k个位置从不同变为同样。剩下m - k个位置从同样变为不同。那么
dp[i][j + m - k - k] += dp[i - 1][j] * C(j, k) * C(n - j, m - k)
当中C(j, k)表示组合数,即从j个不同的位置选出k个改变。循环k就可以。



题目大意:给定一个无向图,要求删除一些边使点p和点q不连通。首先是使花费最少。若有多组解则使删除的边最少。


分析:典型的最小割。最大流就可以。仅仅须要把每边的花费c改为c = c * (|E| + 1) + 1就可以使删除的边最少。当中|E|为边数。为方便把|E|换为一个较大的数也能够。


分析:搞笑题。就不解释了。




题目大意:给定一个有向图。要求把点分为k个集合,使得每一个集合中的随意两点a, b满足a, b互相不可到达。

分析:求出强连通分量后缩点,得到有向无环图,dfs该图求出各点深度(深度加权,权值为强连通分量大小),深度最大值即答案,由于这一条路径上随意两点都可从深度小的一点到达深度大的一点,所以必然属于不同集合;又能够把其他路径(长度为len)上的各点依次归到集合1..len。


ZOJ Monthly, June 2014 解题报告的更多相关文章

  1. ZOJ Monthly, June 2014 月赛BCDEFGH题题解

    比赛链接:点击打开链接 上来先搞了f.c,,然后发现状态不正确,一下午都是脑洞大开,, 无脑wa,无脑ce...一样的错犯2次.. 硬着头皮搞了几发,最后20分钟码了一下G,不知道为什么把1直接当成不 ...

  2. 记次浙大月赛 134 - ZOJ Monthly, June 2014

    链接 虽做出的很少,也记录下来,留着以后来补..浙大题目质量还是很高的 B 并查集的一些操作,同类和不同类我是根据到根节点距离的奇偶判断的,删点是直接新加一个点,记得福大月赛也做过类似的,并差集的这类 ...

  3. 浙大月赛ZOJ Monthly, August 2014

    Abs Problem Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Alice and Bob is playing a ga ...

  4. Hackerrank 2020 February 2014 解题报告

    Hackerrank 2020 February 2014 解题报告 比赛链接 Sherlock and Watson (20分) 题意:给定一个数组,向右平移K次,然后有Q个询问,问第x位置上是几 ...

  5. 135 - ZOJ Monthly, August 2014

    135 - ZOJ Monthly, August 2014 A:构造问题,推断序列奇偶性.非常easy发现最小值不是1就是0.最大值不是n就是n - 1,注意细节去构造就可以 E:dp.dp[i][ ...

  6. ZOJ Problem Set - 1025解题报告

    ZOJ Problem Set - 1025 题目分类:基础题 原题地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=10 ...

  7. 137 - ZOJ Monthly, November 2014 - J Poker Face

    Poker Face Time Limit: 2 Seconds      Memory Limit: 65536 KB As is known to all, coders are lack of ...

  8. ZOJ Monthly, August 2014

    A Abs Problem http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5330 找规律题,构造出解.copyright@ts ...

  9. ZOJ Monthly, November 2014

    做了一次月赛,没想到这么难,加上后来补上的题目也只有3个题.第一名也只有4个题啊啊啊啊~.其中两道还是水题.留坑慢慢补上来. 3832 Tilt Cylinder 给定如图所示有盖圆柱体,R,H,水面 ...

随机推荐

  1. 程序是怎么跑起来的? —— CPU 是什么?C/C++程序的运行

    1. 概念初步 程序:计算机的程序,和做饭.运动会的程序一样,指的是"做事的先后次序": 程序的组成:程序是指令(及物动词)和数据(宾语)的组合体: C 语言 printf(&qu ...

  2. HTML基础-第二讲

    转自:https://blog.csdn.net/likaier/article/details/326657 我们在第一讲里概括了一下网页的主要框架,现在我们来详细的研究网页的内部细则: 先从它的身 ...

  3. 文件上传流式处理commons-fileupload

    1. 从请求中获取MultipartFile @RequestMapping(value="/upload", method=RequestMethod.POST) public ...

  4. JS中的闭包问题总结

    严格意义上的闭包,严格闭包通过栈内存不销毁,保护内部变量,而且下一级作用域可以访问内部变量 更严格意义上的闭包,函数可以在父函数外面调用父函数作用域的值 在函数执行的时候,函数体中有返回值,函数执行的 ...

  5. CSS笔记 - fgm练习 2-9 - 播放列表收缩展开

    练习地址: http://www.fgm.cc/learn/lesson2/09.html <style> *{ margin: 0;padding: 0;font-size: 12px; ...

  6. Python 在线笔试

    1. 循环输入输出交互 Python在线笔试琐碎 求两个整数 A+B 的和. while True: try: (n, m) = (int(x) for x in raw_input().split( ...

  7. TableView相关属性

    //是否要显示分隔线 tableView.separatorStyle = UITableViewCellSeparatorStyleNone; tableView.separatorStyle = ...

  8. GDB如何调试没有符号表(未加-g选项的编译)的程序

    /********************************************************************* * Author  : Samson * Date    ...

  9. Caffe 学习:Crop 层

    在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切.下面我们举一个例子来说明如何使用Crop 层. Caffe中的数据是以 blobs形 ...

  10. 1、第一课 register_chrdev和register_chrdev_region 创建知识

    1. register_chrdev注册字符设备后,有0-256个子设备可用,若major==0,则内核动态申请主设备号.static inline int register_chrdev(unsig ...