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. 秒杀多线程第七篇 经典线程同步 互斥量Mutex(续)

    java使用Synchronized关键字实现互斥,而同时有Lock支持. 这两个的效果是等同的,Synchronized性能的起伏较大,而lock比较收敛. 为了代码的可读性,Synchronize ...

  2. click()、bind()、live()和delegate()方法

    我之前使用click()比较多,又来因为网页内容需要前端生成用了live().有的时候使用click()和bind()分不清楚该怎么试用.查了很多资料.测试了很多次,自己明白了. 总结如下:代码注释很 ...

  3. MySQL事务提交过程

    一.MySQL事务提交过程(一) MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中.今天我们来讨论下事务的提交过程. 由于mysql插件式存储架构,导致开启binlog后,事务提交实 ...

  4. 【Socket】从零打造基于Socket在线升级模块

    一.前言       前段时间一直在折腾基于Socket的产品在线升级模块.之前我曾写过基于.Net Remoting的.基于WCF的在线升级功能,由于并发量较小及当时代码经验的不足一直没有实际应用. ...

  5. 【Visual Installer】如何读取与写入注册表信息

    引入:using Microsoft.Win32; (1)读取注册表信息 代码: RegistryKey rsg = null; rsg = Registry.LocalMachine.OpenSub ...

  6. 【LOJ6436】【PKUSC2018】神仙的游戏(NTT)

    [LOJ6436][PKUSC2018]神仙的游戏(NTT) 题面 LOJ 题解 看到\(zsy\)从\(PKUSC\)回来就秒掉了这种神仙题 吓得我也赶快看了看\(PKUSC\)都有些什么神仙题 然 ...

  7. Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片,  得以”恢复”当时拍照的场景全貌,  这个创意的确比单纯的2d图片更有震撼力一些,故本文 ...

  8. 第一个python教程(1)

    使用文本编辑器 在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍. 所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为 ...

  9. 【Python3的命名空间与作用域,闭包函数,装饰器】

    一.命名空间与作用域 命名空间是名字和对象的映射,就像是字典,key是变量名,value是变量的值 1.命名空间的定义 name='egon' #定义变量 def func(): #定义函数 pass ...

  10. 9.Android UiAutomator正则表达式的使用

    一.正则表达式元字符: 1.一些常用元字符: 元字符 描述 . 表示任意一个字符 \s 空格字符(空格键.tab.换行.换页.回车) \S 非空字符串([^\s]) \d 一个数字(相当于[0-9]中 ...