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. 25.Spring @Transactional工作原理

    转自:http://www.importnew.com/12300.html 本文将深入研究Spring的事务管理.主要介绍@Transactional在底层是如何工作的.之后的文章将介绍: prop ...

  2. Win7下IE11点击无反应的解决方法

    平台:win7 sp1 32bit 问题:点击Internet Explorer在开始菜单.快捷栏的图标和安装目录下的程序均没有反应,鼠标在变成漏斗后恢复原状再无反应.但搜狗浏览器和360浏览器下使用 ...

  3. kindle paperwhite 简单笔记按名称分类

    已更新python,见新博客  http://www.hrwhisper.me/archives/708 写作背景: 南京决赛比赛完那天晚上写的. 使用方法: 将My Clippings.txt 放在 ...

  4. 解决Win8/8.1无法正确识别USB3.0的问题

    找一个USB3.0的移动硬盘到了手里竟然变成2.0的了!二了! 不能忍啊. 听说是快速启动的问题,但是开机速度快很诱人. 百度了其他解决方法,终于解决了. 下面摘录自: http://blog.csd ...

  5. SQL server 错误代码对比表

    0  操作成功完毕.    1  功能错误.    2  系统找不到指定的文件.    3  系统找不到指定的路径.    4  系统无法打开文件.    5  拒绝訪问.    6  句柄无效.   ...

  6. 编程——C语言的问题,比特率

    1;; bps是bits per second的缩写,是指传输速度,音乐采样速度等,表示为: 比特/秒.

  7. cmake的使用笔记

    一. cmake使用网上还蛮多的.可是当你自己去用的时候,才觉得,都不是你想要的. 自己做个记录,用法全是基本用法. 二. 我在里面直接写注释说明了,直接贴了. 1. #cmake #1. # cma ...

  8. numpy 细节问题

    1. np.expand_dims >> X = np.random.randint(0, 9, (2, 3)) >> mean_X = np.mean(X, axis=0) ...

  9. iOS开发UI篇--一个侧滑菜单SlidingMenu

    一.简介 侧滑菜单已经成为app一个极常用的设计,不管是事务类,效率类还是生活类app.侧滑菜单因Path 2.0和Facebook为开发者熟知,国内目前也有很多流行app用到了侧滑菜单,比如QQ.网 ...

  10. 【习题 3-2 UVA - 1586】Molar mass

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟. 主要是找那个数字. [代码] #include <bits/stdc++.h> using namespace ...