Petrozavodsk Winter Training Camp 2018

Problem A. Mines

题目描述:有\(n\)个炸弹放在\(x\)轴上,第\(i\)个位置为\(p_i\),爆炸半径为\(r_i\),引爆第\(i\)个炸弹的花费为\(c_i\)。但一个炸弹\(i\)爆炸时,在爆炸半径内的其它炸弹都会爆炸,而且不用花费。有\(Q\)个操作,每次改变一个炸弹的花费,然后输出引爆所有炸弹的最小费用。

solution
不会。

Problem B. Balls

题目描述:有\(n\)个直径为\(1\)的球在\(x\)轴上,编号从\(1\)到\(n\),第\(i\)个球的最左边的位置为\(p_i\)。在\(x=P\)处有一堵墙。有\(Q\)个操作,有两类操作:1、放一个球,最左边的位置为\(x\),如果已经有球,则不放。 2、滚动最左边的球,当一个球碰到另一个球时,那个球立刻停止,另一个球开始向右滚,直到碰到墙停下。输出最后每个球的位置。

solution
用一个\(set\)记住每个球的位置,当有滚动操作时,相当于将最左边的球拿出来,然后将其它球的位置减一,最后在墙的左边放一个球,用一个变量\(delta\)记住\(set\)的位置减了多少次\(1\)即可。

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

Problem C. Flip a Coin

题目描述:有两个人在玩抛硬币游戏,每个人先选择一个只有'H', 'T'的字符串,然后不断地抛硬币,正面为'H', 反面为'T', 当硬币序列出现这两个人选择的序列时结束,谁的序列出现谁就赢。若同时出现,则平手。问每个人赢的概率以及平手的概率。

solution
考虑第一个人赢的概率。
将两个序列的前缀看成一个个点,设空串为一个点,每个点其实就代表着一种匹配的情况,每个点都会连出两条边,表示从这个点分别有\(\frac{1}{2}\)的概率经过某条边到达下一个匹配情况,然后可以列出若干条概率方程,每个未知量表示到达这个状态后能赢的概率,显然第一个序列的概率为\(1\),第二个序列的概率为\(0\),注意现考虑第二个序列,因为同时出现是算平手的。然后解方程解出答案。
第二个人赢的概率也是类似的解法。
平手的答案为\(1\)减上面两个答案的和。

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

Problem D. Octagons

题目描述:如下图给边编号,给出一个字符串,问起点和终点是否重合。

solution
以'a', 'b'的环为例,若序列中存在'ababa',则相当于'aba',即在一个环内到同一个点的两种走法,后者构成的序列较短。当序列中存在相邻两个相同的字符,则这两个字符可以消掉,因为相当于走了相同的边(回头路)。按这两个规则消除字符,最后剩下空串的说明起点与终点重合,否则不是。

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

Problem E. Tree Paths

Problem F. Very New York

题目描述:在二维平面上有\(n\)个点,现在有\(Q\)个询问,每次询问给出一个点\(P\)以及一个距离\(d\),问与点\(P\)的哈密顿距离不超过\(d\)的有多少个点。

solution
转变坐标系,BITvector

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

Problem G. Sheep

Problem H. Bin Packing

题目描述:有\(n\)个物品,每个物品的重量为\(w_i\),将这个物品分成若干份,使得每一份的总重量不超过\(S\),问最少分成多少份。

solution
状态压缩。记\(f[sett]\)表示已分配的为\(sett\),分成的最少份数,\(g[sett]\)表示最后一份的重量。然后枚举下一个要分配的物品为\(i\),能分到最后一份的塞到最后一份去,否则新开一份。

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

Problem I. Statistics

Problem J. Zigzag

题目描述:给出两个序列\(a, b\),求出这两个序列的最长公共震荡序列(\(a_{i+1}>a_i and a_{i+1}>a_{i+2} or a_{i+1}<a_i and a_{i+1}>a_{i+2})\)。

solution
设\(f[i][j]\)表示\(a_i==b_j\)且最后是向下走的最大值,\(g[i][j]\)为\(a_i==b_j\)且最后是向上走的最大值。用两个二维BIT维护最后一个数为\(x\),对应\(b\)序列的第\(y\)位的\(f, g\)最大值。然后\(i\)从小到大枚举,\(j\)从大到小枚举,不断更新,维护。

时间复杂度:\(O(nmlog(n)log(m))\)

Problem K. Knapsack

Petrozavodsk Winter Training Camp 2018的更多相关文章

  1. 【推导】【数学期望】【冒泡排序】Petrozavodsk Winter Training Camp 2018 Day 5: Grand Prix of Korea, Sunday, February 4, 2018 Problem C. Earthquake

    题意:两地之间有n条不相交路径,第i条路径由a[i]座桥组成,每座桥有一个损坏概率,让你确定一个对所有桥的检测顺序,使得检测所需的总期望次数最小. 首先,显然检测的时候,是一条路径一条路径地检测,跳跃 ...

  2. 【线段树】【扫描线】Petrozavodsk Winter Training Camp 2018 Day 5: Grand Prix of Korea, Sunday, February 4, 2018 Problem A. Donut

    题意:平面上n个点,每个点带有一个或正或负的权值,让你在平面上放一个内边长为2l,外边长为2r的正方形框,问你最大能圈出来的权值和是多少? 容易推出,能框到每个点的 框中心 的范围也是一个以该点为中心 ...

  3. 【取对数】【哈希】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem J. Bobby Tables

    题意:给你一个大整数X的素因子分解形式,每个因子不超过m.问你能否找到两个数n,k,k<=n<=m,使得C(n,k)=X. 不妨取对数,把乘法转换成加法.枚举n,然后去找最大的k(< ...

  4. 【BFS】【最小生成树】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem G. We Need More Managers!

    题意:给你n个点,点带权,任意两点之间的边权是它们的点权的异或值中“1”的个数,问你该图的最小生成树. 看似是个完全图,实际上有很多边是废的.类似……卡诺图的思想?从读入的点出发BFS,每次只到改变它 ...

  5. 【状压dp】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem E. Guessing Game

    题意:给你n个两两不同的零一串,Alice在其中选定一个,Bob去猜,每次询问某一位是0 or 1.问你最坏情况下最少要猜几次. f(22...2)表示当前状态的最小步数,2表示这位没确定,1表示确定 ...

  6. 【推导】【单调性】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem B. Tribute

    题意:有n个数,除了空集外,它们会形成2^n-1个子集,给你这些子集的和的结果,让你还原原来的n个数. 假设原数是3 5 16, 那么它们形成3 5 8 16 19 21 24, 那么第一轮取出开头的 ...

  7. 【线性基】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem A. XOR

    题意:给你一些数,问你是否能够将它们划分成两个集合,使得这两个集合的异或和之差的绝对值最小. 设所有数的异或和为S,集合A的异或和为A. 首先,S的0的位对答案不造成影响. S的最高位1,所对应的A的 ...

  8. Petrozavodsk Winter Training Camp 2018 Jagiellonian U Contest Problem A. XOR

    先把所有的数异或起来 得到sum 然后sum有一些位是1一些位是0 是0的位表示所有数里面有这位的数是偶数个 则无论怎么划分数 这一位对最终的答案都是不会有贡献的  因为偶数=偶数+偶数/奇数+奇数 ...

  9. 2015 UESTC Winter Training #7【2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest】

    2015 UESTC Winter Training #7 2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest 据 ...

随机推荐

  1. 简单配置AAA认证与telnet图解

    不罗嗦,直接上图

  2. [您有新的未分配科技点]博弈论入门:被博弈论支配的恐惧(Nim游戏,SG函数)

    今天初步学习了一下博弈论……感觉真的是好精妙啊……希望这篇博客可以帮助到和我一样刚学习博弈论的同学们. 博弈论,又被称为对策论,被用于考虑游戏中个体的预测行为和实际行为,并研究他们的应用策略.(其实这 ...

  3. 洛谷 P2604 [ZJOI2010]网络扩容 解题报告

    P2604 [ZJOI2010]网络扩容 题目描述 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. ...

  4. [知识点]C++中STL容器之set

    零.STL目录 1.容器之map 2.容器之vector 3.容器之set 一.前言 继上期的vector之后,我们又迎来了另一个类数组的STL容器——set. 二.用途与特性 set,顾名思义,集合 ...

  5. Codeforces 97.B Superset

    A set of points on a plane is called good, if for any two points at least one of the three condition ...

  6. windows 安装 apache 服务以及添加 php 解析

    apache 官方并没有提供 windows 的安装包,但是它们官网给出了第三方的链接,我们可以在那些第三方网站上找到适用于 windows 的二进制包. 我们点进去下载一个 64 位的, 下载完之后 ...

  7. bzoj 2530 [Poi2011]Party 构造

    2530: [Poi2011]Party Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 364  Solved:  ...

  8. javaFX8主要特性

    javaFX8主要特性 JavaAPIs:javaFX是用Java代码写的库,包含一系列的类和接口.这个APIs可以友好的替换java虚拟机语言,比如:JRuby和Scala. FXML and 场景 ...

  9. OpenCV---图像加载与保存

    一:获取图像的信息 什么是图像: 结构化存储的数据信息 图像属性: -通道数目 -高与宽 -像素数据 -位图深度 import cv2 as cv def get_image_info(image): ...

  10. javascript 实现 A-star 寻路算法

    在游戏开发中,又一个很常见的需求,就是让一角色从A点走到B点,而我们期望所走的路是最短的,最容易想到的就是两点之间直线最短,我们可以通过勾股定理来求出两点之间的距离,但这个情况只能用于两点之间没有障碍 ...