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. Android四大组件之contentProvider(续)

    1.content provider与网页有何相似之处? contentProvider使用authority 同网站的域名类似 contentProvider还可以提供类似于网站的索引方式      ...

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

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

  3. Race to 1 UVA - 11762 (记忆dp概率)

    #include <iostream> #include <cstdio> #include <sstream> #include <cstring> ...

  4. LCA的倍增算法

    LCA,即树上两点之间的公共祖先,求这样一个公共祖先有很多种方法: 暴力向上:O(n) 每次将深度大的点往上移动,直至二者相遇 树剖:O(logn) 在O(2n)预处理重链之后,每次就将深度大的沿重链 ...

  5. 洛谷 P2261 [CQOI2007]余数求和 解题报告

    P2261 [CQOI2007]余数求和 题意: 求\(G(n,k)=\sum_{i=1}^n k \ mod \ i\) 数据范围: \(1 \le n,k \le 10^9\) \(G(n,k)\ ...

  6. python基础----实现上下文管理协议__enter__和__exit__

    我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明_ ...

  7. Python3 字典 get() 方法

     Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  8. C++之智能指针20170920

    /*************************************************************************************************** ...

  9. 二次封装bootstrap-table及功能优化

    /** * 设置bootstrat-table * @param params */ function setBootstrapTable (target, params) { // 默认设置表格内容 ...

  10. 图像RGB格式与YUV格式互转

    // rgb2yuv.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #define Level 256 //直方图bin数 #define ...