2017 SWERC
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)\)中匹配,得到的最多价值。
- 若\(candy[i]==word[k][p]\),则搜索状态\(f[i+1][j][all][k][p+1]\)。
- 若\(word[k]\)已经匹配完,则返回。
- 设\(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的更多相关文章
- 2017-2018 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2017)
A. Cakey McCakeFace 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string.h&g ...
- CI Weekly #10 | 2017 DevOps 趋势预测
2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...
- 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...
- iOS的ATS配置 - 2017年前ATS规定的适配
苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo
目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...
- Create an offline installation of Visual Studio 2017 RC
Create an offline installation of Visual Studio 2017 RC 2016年12月7日 ...
- .NET Core 2.0版本预计于2017年春季发布
英文原文: NET Core 2.0 Planned for Spring 2017 微软项目经理 Immo Landwerth 公布了即将推出的 .NET Core 2.0 版本的细节,该版本预计于 ...
随机推荐
- Android四大组件之Service(续)
本地服务启动和通过广播的方式回调是非常简单的. 下面介绍远程服务和通过远程回调的方式通知activity的方式. 1.service定义: package com.joyfulmath.globals ...
- 转---秒杀多线程第十四篇 读者写者问题继 读写锁SRWLock
在<秒杀多线程第十一篇读者写者问题>文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法——读写锁SRWLock来解决这一 ...
- A Magic Lamp HDU - 3183(RMQ返回下标)
原文地址:https://blog.csdn.net/acdreamers/article/details/8692384 题意: 对于一个序列A[1...N],一共N个数,除去M个数使剩下的数组成的 ...
- Intel WIDI (Wireless Display) 相关技术知识分析
一. WIFI 1.如何查找WIFI设备 非p2p设备 Beacons 包(同步,SSID) 速率 1M/s 2.4G HZ 13个信道,1,6,11三个信道不重叠 2.P2P 认证 客户端在每个通道 ...
- Javascript面向对象三大特性(封装性、继承性、多态性)详解及创建对象的各种方法
Javascript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance )和多态(polymorphism ).只不过实现 ...
- Splitter Control for Dialog
原文链接地址:https://www.codeproject.com/Articles/595602/Splitter-Control-for-Dialog Introduction Yes, tha ...
- WebDriver的定位元素方法
如果把页面上的元素看作人的话,在现实世界如何找到某人呢?方法有三: 一.通过人本身的属性,例如他的姓名,手机号,身份证号,性别,这些可区别他人的属性.在web页面上的元素也有这些属性,例如,id.na ...
- sz与rz命令
一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地: 与ssh ...
- Codeforces 601D. Acyclic Organic Compounds(四个愿望一次满足)
trie合并的裸题...因为最多只有n个点,所以最多合并n次,复杂度$O(N*26)$. #include<iostream> #include<cstring> #inclu ...
- Caffe框架详细梳理
protobuf是google公司开发的,并在Google内部久经考验的一个东西,在08年google把它贡献给了开源社区,随后便有越来越多的人使用它.protobuf是一个结构化信息传递的工具,主要 ...