2016BUAA校赛决赛

A、 题意:有n个点,n-1条边,1-2-3-4-5-...-n,每条边都有权值,代表走这条边的时间,时刻0一个人在点1,问从时刻1~m,有哪些时刻这个人可能走到n点

  分析:将每条边当作物品,可以选1 3 5 7...次,完全背包,f[i][j]表示前i条边,时刻j能否到,注意如果f[i][j]为1的时候,那么break循环节省时间不需再枚举后面的k

C、 题意:圆柱体侧面展开,问两个点的最短距离

  分析:勾股定理算一算,注意pi=acos(-1.0)

I、  题意:无穷大的平面上,有间距为X的水平直线族,间距为y的水平直线族,放一个半径为R的圆放进去,问交点个数的数学期望

  分析:最关键的一点是若圆刚好过水平竖直直线的交点,这种概率实非常小的,所以概率为0,不予考虑

     那么接下来水平和竖直就可以分开求,最后加起来即可

     考虑间距为D的直线族,将半径为R的圆放进去

     考虑圆的最左端在两条直线中运动,易得交点个数为num或者num+2(num=2*[2R/D]

     设交点个数为num的概率为P,易得P=(([2R/D]+1)*D-2R)/D

     E=num*p+(num+2)*(1-p)=4R/D

J、  题意:n*m的格子每个格子都有自己的颜色0-9,有q个询问,对于每个询问(x,y),可以将该位置的颜色任意变化(保持自己颜色也行),变化后相同颜色的连通块就可以被消掉,对每个询问求最多能消掉多少个格子

  分析:首先肯定要把所有连通块都预处理抠出来,可以用BFS或者并查集(爆栈,要手写栈(但手写了目前还是Re中????))

     对于询问就注意细节判断下就行。(注意询问点本身就在连通块的情况)

时间: 2024-10-19 13:58:42

2016BUAA校赛决赛的相关文章

ACM学习历程—广东工业大学2016校赛决赛-网络赛F 我是好人4(数论)

题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1031&pid=5 这个题目一看就是一道数论题,应该考虑使用容斥原理,这里对lcm进行容斥. 不过直接上去是T,考虑到序列中同时存在i和ki的话,其实只需要考虑i,所以先对序列中为倍数的对进行处理. 这里的容斥用了hqw的写法. 代码: #include <iostream> #include <cstdio> #include <cstdlib> #includ

ACM学习历程—广东工业大学2016校赛决赛-网络赛E 积木积水(最值问题 || 动态规划)

题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1031&pid=4 这个题目自然会考虑到去讨论最长或者最短的板子. 笔上大概模拟一下的话,就会知道,假设最长的板子是r,0和n+1位置上都是高度为0的板子,那么对于[0, r-1]中的最长板子rr,rr到r这一短应该都是被深度为a[rr]的水覆盖.同样的[0, rr-1]中的最长板子rrr,rrr到rr这一段应该是被a[rrr]覆盖,以此类推可以搞定r的前面一段,同理搞定后一段. 关于最值这一块,

ACM学习历程—广东工业大学2016校赛决赛-网络赛D 二叉树的中序遍历(数据结构)

题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1031&pid=3 这算是一个胡搞类型的题目.当然肯定是有其数据结构支撑的. 唯一的限制就是不能出现连续的两个’#’. 因为如果我从左到右构造这棵树,那么假设我构造到第i个, 如果i+1是数字,那么把前i个构成的子树作为i+1的左儿子即可. 如果i+1是’#’,那么把’#’当成i的右儿子即可. 所以只要没有两个连续的’#’,自然能通过上面的方法构造. 但是如果出现两个连续的’#’,自然前一个’#’

ACM学习历程—广东工业大学2016校赛决赛-网络赛C wintermelon的魔界寻路之旅(最短路 &amp;&amp; 递推)

题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1031&pid=2 题目由于要找对称的路径,那么狠明显可以把右下角的每一块加到左上角对应的每一块上.然后就变成从左上角走到对角线的最短路径的个数. 先跑一遍最短路径得到p(i, j)从起点到(i, j)的最短路径. 然后就是找最短路径的个数.显然cnt(i, j)是它周围点能通过最短路径到它的cnt的和.这一处可以使用记忆化搜索来完成. 代码: #include <iostream> #

2017浙江工业大学-校赛决赛 竹之书

Description 由于某些原因菲莉丝拿到了贤者之石,所以好像变得很厉害了好像变得很厉害的菲莉丝想要炼成幻想乡,其中有一个原料是稗田一族对幻想乡历史的记录.现在菲莉丝拿到了一个被某只魔粘性精神体加密过的的卷轴.密文通过原文和一个正整数key加密形成,而key和密文又有一定关联.现给出密文,求key值 已知密文s和key值关系如下已知密文s是一串正整数s1,s2,s3--sn,A为s中所有元素的和,B为s中所有元素的积,key为B mod A 数据范围si,A在(0,1e17]范围内0<n<

2017浙江工业大学-校赛决赛 XiaoWei的战斗力

Description XiaoWei沉迷RPG无法自拔,但是他的战斗力只有5,所以他决定氪金提升战斗力.XiaoWei购买了n个福袋.打开1个福袋后,有以下三种情况出现:1.获得屠龙宝刀,概率为p1:2.获得火麒麟,概率为p2:3.什么都没获得,概率为1-p1-p2:已知每把屠龙宝刀能够使战斗力*2,每把火麒麟能够使战斗力*1.5.XiaoWei虽然初始战斗力很弱,但是潜力无限,可以装备任意数量的屠龙宝刀和火麒麟,并且效果可以叠加.XiaoWei想知道,打开n个福袋后并装备武器后,他的战斗力期

2017浙江工业大学-校赛决赛 小马哥和数列

Description 小马哥是个追求完美的人,现在给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美的,现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列. Input 多组数据.输入第一行给出两个正整数N和p,其中N(<= 10^5)是输入的正整数的个数,p(<= 10^9)是给定的参数.第二行给出N个正整数,每个数不超过10^9. Output 在一行中输出最多可以选择多少个数可以用它们组成一个完美数

2017浙江工业大学-校赛决赛 猜猜谁是我

Description 女神YSJ给Martin发了一个视频."猜猜里面哪个是我." 女神说.作为一个脸盲,再加上多年不见,Martin已经完全不知道女神长成了什么样子,他表示完全认不出来.好在Martin手上还有一张YSJ小时候的照片,他可以拿照片和视频里的人进行特征比对,从而找出女神.为了简化问题,我们将YSJ小时候的脸表示成一个800行800列的矩阵,然后给出眼睛.鼻子.嘴巴的中心在脸上的坐标,全部用整数表示.视频中的其他人也都按照这个方式表示,截取正脸并且缩放到800x800以

2017浙江工业大学-校赛决赛 小M和天平

Description 小M想知道某件物品的重量,但是摆在他面前的只有一个天平(没有游标)和一堆石子,石子可以放左边也可以放右边.他现在知道每个石子的重量.问能不能根据上述条件,能不能测出所问的重量. Input 第一行T(1≤T≤100),表示T组数据.接下来T组数据:接下来第一行一个数N,表示石子个数.(1≤N≤100)接下来第二行N个数,表示石子的重量.(1≤w_i≤100)接下来第三行一个数M,表示询问个数.(1≤M≤100)接下来M行每行一个数k,表示一个询问. Output 对于每组