2017 SWERC

A:Cakey McCakeFace

题目描述:有一个炉每次只能放一个蛋糕,炉的进口和出口各放了一个探测器,当放蛋糕进去时,进口的探测器会记录时刻,当蛋糕做好后,蛋糕从出口出来,出口探测器会记录时间,每个蛋糕做好的时间是一样的。现在探测器坏了,即没有探测到蛋糕也可能会记录时间,探测到蛋糕也可能不记录时间。现在给出进口探测器记录的时刻,以及出口探测器记录的时刻。问蛋糕做好的时间最有可能是多少,即使其满足的记录最多。

solution
将出口时刻与进口时刻两两相减,看哪个时间最多即可。

时间复杂度:\(O(n^2)\)

B:Table

题目描述:给出一个\(R \times C\)的网格图,其中有些格子被涂成黑色,现在有一些询问\(x, y\),问网格图中有多少个\(x \times y\)的长方形,满足长方形内没有黑色的格子,且长方形的边与网格线重合。

solution
待解决。

C:Macarons

题目描述:有一个\(n \times m\)的网格,有\(1 \times 1, 1 \times 2, 2 \times 1\)三种规格的砖块,问有多少种方案填满这个网格。

solution
状压\(dp\)+矩阵乘法。

时间复杂度:\(O((2^n)^3logm)\)

D:Candy Chain

题目描述:有一个字符串\(candy\),以及\(n\)个单词\(word[i]\),每个单词都有一个对应的价值。现在字符串中删掉一些单词,删掉后就能得到相应的价值。字符串删掉一个单词后,字符串会连起来构成一个新的字符串。删单词时,不仅可以删掉原单词,还可以删掉原单词翻转形成的单词。问最多能得到多少价值。

solution
\(dp\)。单词翻转的问题相当于添加\(n\)个翻转后的单词。\(f[i][j][all][k][p]\)表示处理字符串中\([i, j)\)这段区间,是否需要全部消掉(\(all\)是\(true\)时为需要全部删掉,反之不需要),单词\(k\)的区间\([0, p)\)已经在字符串的\([0, i)\)中匹配,得到的最多价值。

  1. 若\(candy[i]==word[k][p]\),则搜索状态\(f[i+1][j][all][k][p+1]\)。
  2. 若\(word[k]\)已经匹配完,则返回。
  3. 设\(q \in [i+1, j]\), 表示\([i, m)\)全部删去,则搜索\(f[i][m][true][0][0]\)以及\(f[m][j][all][k][p]\)。

时间复杂度:\(O(len^3n)\)

E:Ingredients

题目描述:给出一个菜谱路线(有向无环图),每种菜的花费以及价值为这种菜所依赖的菜的花费和以及价值和。最终的菜单中每种菜只能出现一次,问在总花费不超过\(B\)的前提下,价值和最大是多少。

solution
跑一遍\(DAG\),求出每种菜最终需要的费用以及价值。然后做背包。

时间复杂度:\(O(nB)\),\(n\)为实际有多少种菜。

F:Shattered Cake

题目描述:有一个长方形,被切成很多个长方形,给出小长方形的长和宽,以及原来长方形的长,求原来长方形的宽。

solution
模拟。

时间复杂度:\(O(n)\)

G:Cordon Bleu

题目描述:有\(m\)个骑手,\(n\)支酒,饭店安排一些骑手去拿酒然后会饭店,若骑手拿酒的数目多于\(1\),则除了第一支酒外,其它酒拿酒时由饭店出发。拿酒的总费用等于骑手走过的距离,而骑手两点之间走哈密顿距离。给出每个骑手的初始坐标以及酒的坐标和饭店坐标,求最少费用。

solution
二分图最大权匹配。二分图右边为酒,左边为骑手和\(n-1\)个饭店,这样就能保证一定有一个骑手从初始点出发,若匹配到饭店,则是从饭店出发,而从饭店出发的不用管是哪一个骑手。

时间复杂度:无法估计。

H:Kabobs

题目描述:有一个字符集以及\(n\)个规则。现在要构造一个长度为\(m\)的字符串,字符串只能由给定的字符集构成,并且要满足那\(n\)个规则。每个规则是这样的:有两个字符串\(A, B\)。若构成的字符串存在子串\(A\),则\(A\)的后面(不一定要紧接着)一定要有\(B\)。求能构造多少个字符串。

solution
按照规则构造自动机,按照题解的说法,状态数不会超过\(3 \times 10^6\)。

时间复杂度:\(O(3 \times 10^6)\)

I:Burglary

题目描述:有\(n\)层书架,每个书架有\(m\)格,书架上有些格子有钱,相邻两层之间有一些梯子相邻。现在有一个小偷从第一层书架出发偷钱,每个放钱的位置小偷至多会经过一次,最后小偷会回到第一层,而且小偷只能先一直向下走,然后一直向上走。问小偷最多能偷多少钱。

solution
设\(f[i]\)表示小偷下到第\(i\)层然后向上走。\(g[i][x][y]\)表示在\(x\)下楼梯到第\(i\)层,在\(y\)上楼梯回去的最大值。预处理\(grab[i][x][y]\)表示在\(x\)下到第\(i\)层后走一遍第\(i\)层,在\(y\)回去的最大值。则\(f[i]=max(g[i][x][y]+grab[i][x][y])\),答案为\(max(f[i])\)
\(g[i][x][y]\)可以由\(g[i-1][x'][y'], grab[i-1][x][x'], grab[i-1][y'][y]\)算出,但中间会有很多细节,还没码,不太清楚。。。

时间复杂度:\(O(nL^4)\), \(L\)为每层楼梯数。

J:Frosting on the Cake

题目描述:有一个不均等的网格图,然后从左到右从上到下依次交替涂上白、黄、红色。问最终每种颜色的总面积。

solution
模拟。

时间复杂度:\(O(n)\)

K:Blowing Candles

题目描述:给出二维平面上的\(n\)个点,求宽度为\(w\)的平行线,使得所有点在平行线内,求出最小的\(w\)。

solution
求凸包,旋转卡壳求\(w\)。

时间复杂度:\(O(n)\)

2017 SWERC的更多相关文章

  1. 2017-2018 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2017)

    A. Cakey McCakeFace 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string.h&g ...

  2. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  3. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  4. iOS的ATS配置 - 2017年前ATS规定的适配

    苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...

  5. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  6. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验

    Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...

  7. Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo

    目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...

  8. Create an offline installation of Visual Studio 2017 RC

    Create an offline installation of Visual Studio 2017 RC ‎2016‎年‎12‎月‎7‎日                             ...

  9. .NET Core 2.0版本预计于2017年春季发布

    英文原文: NET Core 2.0 Planned for Spring 2017 微软项目经理 Immo Landwerth 公布了即将推出的 .NET Core 2.0 版本的细节,该版本预计于 ...

随机推荐

  1. hadoop跑第一个实例过程

    第一次跑hadoop实例,中间经过了不少弯路,特此记录下来: 第一步:建立一个maven过程,pom.xml文件:(打包为jar包) <dependency> <groupId> ...

  2. 【Mybatis】<foreach>标签在mybatis中的使用

    mapper.xml如下: <select id="selectCkspcb" parameterType="java.util.Map" resultT ...

  3. 求n!中因子k的个数

    思路: 求n的阶乘某个因子k的个数,如果n比较小,可以直接算出来,但是如果n很大,此时n!超出了数据的表示范围,这种直接求的方法肯定行不通.其实n!可以表示成统一的方式. n!=(km)*(m!)*a ...

  4. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  5. 【BZOJ1497】【NOI2006】最大获利(网络流)

    [BZOJ1497][NOI2006]最大获利(网络流) 题面 BZOJ Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS& ...

  6. 解决win7 64位操作系统下安装PL/SQL后连接报错问题: make sure you have the 32 bits oracle client installed

    1. 在Oracle官网(http://www.oracle.com/technetwork/topics/winsoft-085727.html)下载文件: instantclient-basic- ...

  7. opencv透视变换GetPerspectiveTransform的总结

    对于透视变换,必须为map_matrix分配一个3x3数组,除了3x3矩阵和三个控点变为四个控点外,透视变化在其他方面与仿射变换完全类似.具体可以参考:点击打开链接 主要用到两个函数WarpPersp ...

  8. PID控制算法的C语言实现十 专家PID与模糊PID的C语言实现

    本节是PID控制算法的C语言实现系列的最后一节,前面8节中,已经分别从PID的实现到深入的过程进行了一个简要的讲解,从前面的讲解中不难看出,PID的控制思想非常简单,其主要问题点和难点在于比例.积分. ...

  9. vs2003一查找就卡死了

    Visual Studio 2003一查找就卡死了.解决办法如下: win7 32位下 解决方法:找到VS2003的安装目录,修改"...\Microsoft Visual Studio . ...

  10. 使用Masonry在UIScrollView内布局

    理论分析 首先,我们知道Autolayout改变了传统的以frame为主的布局思想.它其实是一种相对布局,核心思想是视图与视图之间的位置关系.比如,我们可以根据矩形的起始横坐标.纵坐标.长和宽这四个变 ...