Petrozavodsk Winter Training Camp 2018
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
转变坐标系,BIT套vector。
时间复杂度:\(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的更多相关文章
- 【推导】【数学期望】【冒泡排序】Petrozavodsk Winter Training Camp 2018 Day 5: Grand Prix of Korea, Sunday, February 4, 2018 Problem C. Earthquake
题意:两地之间有n条不相交路径,第i条路径由a[i]座桥组成,每座桥有一个损坏概率,让你确定一个对所有桥的检测顺序,使得检测所需的总期望次数最小. 首先,显然检测的时候,是一条路径一条路径地检测,跳跃 ...
- 【线段树】【扫描线】Petrozavodsk Winter Training Camp 2018 Day 5: Grand Prix of Korea, Sunday, February 4, 2018 Problem A. Donut
题意:平面上n个点,每个点带有一个或正或负的权值,让你在平面上放一个内边长为2l,外边长为2r的正方形框,问你最大能圈出来的权值和是多少? 容易推出,能框到每个点的 框中心 的范围也是一个以该点为中心 ...
- 【取对数】【哈希】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(< ...
- 【BFS】【最小生成树】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem G. We Need More Managers!
题意:给你n个点,点带权,任意两点之间的边权是它们的点权的异或值中“1”的个数,问你该图的最小生成树. 看似是个完全图,实际上有很多边是废的.类似……卡诺图的思想?从读入的点出发BFS,每次只到改变它 ...
- 【状压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表示确定 ...
- 【推导】【单调性】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, 那么第一轮取出开头的 ...
- 【线性基】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的 ...
- Petrozavodsk Winter Training Camp 2018 Jagiellonian U Contest Problem A. XOR
先把所有的数异或起来 得到sum 然后sum有一些位是1一些位是0 是0的位表示所有数里面有这位的数是偶数个 则无论怎么划分数 这一位对最终的答案都是不会有贡献的 因为偶数=偶数+偶数/奇数+奇数 ...
- 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 据 ...
随机推荐
- window与linux查看端口被占用
本文摘写自: 百度经验 https://www.cnblogs.com/ieayoio/p/5757198.html 一.windows:开始---->运行---->cmd,或者是wind ...
- 【纪念】NOIP2018后记——也许是一个新的起点
如果你为了失去太阳而哭泣,那么你也将失去星星和月亮. —— 泰戈尔<飞鸟集> NOIP结束了,我挂了一道题……曾经在心中觉得怎么都不会考到的分数,就这么冷冷的出现在了我的成绩单上.的确是比 ...
- [NOI2011]兔兔与蛋蛋游戏 二分图博弈
题面 题面 题解 通过观察,我们可以发现如下性质: 可以看做是2个人在不断移动空格,只是2个人能移动的边不同 一个位置不会被重复经过 : 根据题目要求,因为是按黑白轮流走,所以不可能重复经过一个点,不 ...
- innodb--表空间
MySQL把数据库中表结构的定义信息保存到数据库目录的.frm文件中. 在InnoDB中数据库中存储的数据及索引实际是存放在表空间里的(tablespace). 可以将每个基于InnoDB存储引擎的表 ...
- ros error : c++: error: $(catkin_LIBRARIES): 没有那个文件或目录
卧槽,真是........................瞎眼了. 一个半小时才找出错误来..... c++: error: $(catkin_LIBRARIES): 没有那个文件或目录 Oh my ...
- STL源码分析归档
1) algorithm 2) traits 3) iterator 4) list 5) function 6) rbtree 7) bitset 8) priority_queue 9) hash ...
- jni里找不到刚添加的C++函数
使用NDK开发,用到了JNI来连接C++和JAVA. 当C++方增加了一个新函数,jni访问此函数,eclipse会提示找不到改函数,然后前面打个红叉叉表示语法错误,从而阻碍了编译和运行. 当我选择清 ...
- MySQL免安装版配置部署
MySQL下载地址:http://dev.mysql.com/downloads/mysql/ 1.Windows下安装MySQL 我下的是最新版的MySQL,解压后,目录如下: 将解压目录下默认文件 ...
- 应用maven自动部署的脚本
@(编程) 最近写了一个自动部署的脚本,可以一键部署到测试服务器或者生产服务器上,包括一个函数脚本和一个调用脚本,比较简单,记录如下. 特点如下: 部署前自动备份 可以部署tomcat项目和java项 ...
- poi对excel的操作(二)
二.进阶的对象 1.CellType 枚举类 单元格类型 CellType.STRING---文本型 等 如何是指单元格类型:cell.setCellType(CellType.STRING) 2.C ...