ACM ICPC Kharagpur Regional 2017
ACM ICPC Kharagpur Regional 2017
A - Science Fair
题目描述:给定一个有\(n\)个点,\(m\)条无向边的图,其中某两个点记为\(S, T\),另外标记\(p\)个点表示有一个学生。现在校车从\(S\)出发,接名单上的学生到\(T\),每个学生等概率地出现在名单上,当校车经过某个有学生的点时,不管名单上有没有那位学生,那位学生也会上车。每个学生有一个\(talk\)值,校车完成任务的花费为:到\(T\)时实际学生的\(talk\)值的乘积模\(10^9+7\)与路径长度的和。对于每一个名单,校车会选最小花费来走,求期望花费。
solution
求出\(p\)个点两两之间不经过其它\(p\)点的最短距离,以及与\(S, T\)的距离(不经过其它\(p\)点),然后状压求出到达\(T\)时有\(sett\)这些学生的最短距离。然后状压\(dp\)求出接\(sett\)这些学生时的最小花费。
时间复杂度:\(O(2^p*p+p^p*m)\)
B - Black Discs
题目描述:给出\(n\)个直径在\(x\)轴上的半圆(半圆在\(x\)轴上方),每次询问给出一个在在第一象限的圆,问该圆与半圆的面积交。
C - Uniform Strings
题目描述:给出一个\(01\)串,求出相邻字符不同的个数,判断是否不超过两个。
solution
模拟。
时间复杂度:\(O(串长度)\)
D - SAD Queries
题目描述:给定\(K\)个序列,每次询问指定两个序列\(P, Q\),求\(\sum_{i=1}^{p} \sum_{j=1}^{q} |P_i-Q_j|\)
solution
暴力,每次询问枚举较短的序列,二分较长序列。
时间复杂度:不会算
E - Chef and XOR Queries
题目描述:给定一棵树,边上有边权(未知)。有两种操作:1. 给定\(x, y, v\),判断按照已知信息\(x\)到\(y\)的简单路径的\(XOR\)是否可能是\(v\),如果是则\(XOR\)值视为\(v\),否则输出'WA', 2.询问\(x, y\)简单路径的\(XOR\)值,或者未知输出\(-1\)。
solution
树的形状是没有用的,用带权并查集记录每个点到并查集的根的\(XOR\)值,操作\(1\)相当于是并查集的合并。
时间复杂度:\(O(Q+n)\)
F - Taxi Making Sharp Turns
题目描述:给出\(n\)条首尾相连(第一条与最后一条不连)的线段,从第一条线段的无连接一端出发走到最后,问走的过程中拐角是否有超过\(45^{\circ}\),若有,则问是否能通过改变一点的坐标使得不存在拐角超过\(45^{\circ}\).
solution
模拟。
G - Spam Classification Using Neural Net
题目描述:给出\(n\)条直线的斜截式方程,给定一个区间\([minX, maxX]\),将区间里的每个整数点进行操作:将\(x\)代入第一条直线,得到的结果作为\(x\)代入第二条直线,以此类推。问最后的结果是否都是偶数。
solution
结果的奇偶性至于初始值的奇偶性有关,把\(0, 1\)带进去算一下即可。
时间复杂度:\(O(n)\)
H - Non Overlapping Segments
题目描述:有\(n\)条在\(x\)轴上的线段,每条线段的长度都是\(R\),左端坐标为整数\(x_i\),现在要将这些线段移到\([0, L]\)(整条线段都要在里面),问最少移动多少条线段。
solution
将线段按\(x_i\)排序。记\(f[i][j]\)表示前\(i\)条线段有\(j\)条没动能放多少条线段进来。枚举前一条线段\(k\),则\(k, i\)之间能放\(\frac{x_i-(x_k+R)}{R}\)条线段。如果\(j+f[i][j] \geq n\),则用\(n-j\)更新答案。
时间复杂度:\(O(n^3)\)
I - Spanning Tree
题目描述:有一个\(n\)个点的图,边权未知,每次可以选择\(A, B\)两个点集,询问\(A, B\)之间的边的最小值,系统会返回边的最小值以及该边的两个端点,或是不存在。求出该图的最小生成树的边权和。每次询问的花费为\(|A|\),总花费不能超过\(10^4\),\(|A|+|B|\)不能超过\(2*10^6\).
solution
用并查集维护连通性。每次找出最小的并查集\(A\),询问\(A, A\)的补集,得到的回答就是生成树上的一条边。
时间复杂度:\(O(nlogn)\)
J - Generating A Permutation
题目描述:给定\(n, K\),找出一个\(n\)排列,满足\(\sum_{i=2}^{n} max(p_i, p_{i-1})=K\),输出这个排列,或无解。
solution
以\(n=5\)为例:
54321最小为\(14\)
35241最大为\(18\)
显然,递减地排是最小的,从第\(2\)位开始隔一个放最大的数是最大的。以此来判断无解。
设最小值为\(minv, k-=minv\),用数组\(cnt\)记住每个数对答案的贡献,开始时除了\(1\)每个数对答案的贡献都是\(1\),\(i\)指向\(n\),\(j\)指向\(2\),若\(k \geq i-j\),则\(i\)的贡献加\(1\),\(j\)的贡献减\(1\),而一个数的贡献最多为\(2\),所以\(i--, j++\);否则\(j++\)
算出每个数的贡献后就往排列填数即可。
时间复杂度:\(O(n)\)
K - Number Game
题目描述:给定两个数\(A, M\)。开始时从\(A\)中移除一个数字(\(A\)不变)得到\(B\),然后进行若干次操作:每次从\(A\)中移除一个数字(\(A\)不变)得到\(C\),将\(C\)连到\(B\)的后面,得到新的\(B\)。问开始时有多少种移除方式,使得之后进行若干次操作后得到的数是\(M\)的倍数。
solution
把每种移除方式得到的数模\(M\)的值算出来,然后爆搜(\(bfs\))得出每种模值是否能最终变成\(0\)
时间复杂度:\(O(M^2)\)
ACM ICPC Kharagpur Regional 2017的更多相关文章
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM ICPC Asia Regional - Daejeon
2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- Problem 1002-2017 ACM/ICPC Asia Regional Shenyang Online
网络赛:2017 ACM/ICPC Asia Regional Shenyang Online 题目来源:cable cable cable Problem Description: Connecti ...
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...
- hduoj 4708 Rotation Lock Puzzle 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4708 Rotation Lock Puzzle Time Limit: 2000/1000 MS (Java/O ...
- hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...
- hduoj 4712 Hamming Distance 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4712 Hamming Distance Time Limit: 6000/3000 MS (Java/Other ...
- hduoj 4706 Herding 2013 ACM/ICPC Asia Regional Online —— Warmup
hduoj 4706 Children's Day 2013 ACM/ICPC Asia Regional Online —— Warmup Herding Time Limit: 2000/1000 ...
随机推荐
- 【bzoj5028】小Z的加油店 扩展裴蜀定理+差分+线段树
题目描述 给出 $n$ 个瓶子和无限的水,每个瓶子有一定的容量.每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满.$m$ 次操作,每次给 $[l,r]$ 内的瓶子容量增加 $ ...
- MySQL配置文件简单解析
[mysqld] basedir = /data/mysql datadir = /data/mysqldata tmpdir = /data/mysqltmpdata //mysql的查询临时目录, ...
- bzoj2969 矩形粉刷 概率期望
此题在bzoj是权限题,,,所以放另一个oj的链接 题解: 因为期望线性可加,所以可以对每个方格单独考虑贡献.每个方格的贡献就为至少被粉刷过一次的概率×1(每个格子的最大贡献就是1...)每个方格至少 ...
- 【BZOJ4311】向量(线段树分治,斜率优化)
[BZOJ4311]向量(线段树分治,斜率优化) 题面 BZOJ 题解 先考虑对于给定的向量集,如何求解和当前向量的最大内积. 设当前向量\((x,y)\),有两个不同的向量\((u1,v1),(u2 ...
- Zabbix3.4.5部署安装(二)
一.部署环境 一)系统环境: [root@Node3 ~]# cat /etc/redhat-release //查看系统版本 CentOS Linux release (Core) [root@No ...
- ZendFramework安装配置
1.创建项目目录 E:/wwwroot/myzfpro 运行cmd后,cd到框架源文件的bin目录 运行zf.bat创建命令:zf.bat create project E:/wwwroot/myzf ...
- 函数式编程(1)-高阶变成(2)-filter
filter Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的时,filter()把传入的函数依次作用于每个元素,然 ...
- Hive(五)hive的高级应用
一.视图 视图:享用基本表的数据,不会生成另外一份数据创建视图:create view view_name as select * from carss;create view carss_view ...
- bzoj3884: 上帝与集合的正确用法(数论)
感觉是今天洛谷月赛T3的弱化版,会写洛谷T3之后这题一眼就会写了... 还是欧拉扩展定理 于是就在指数上递归%phi(p)+phi(p)直到1,则后面的指数就都没用了,这时候返回,边回溯边快速幂.因为 ...
- 弄清楚CSS的匹配原理让你写出高效的CSS
用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS: DIV#divBox p span.red{color:red;} 按习惯我们对这个CSS 的理解是 ...