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的更多相关文章

  1. 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  2. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

  3. 2017 ACM/ICPC Asia Regional Qingdao Online

    Apple Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submi ...

  4. Problem 1002-2017 ACM/ICPC Asia Regional Shenyang Online

    网络赛:2017 ACM/ICPC Asia Regional Shenyang Online 题目来源:cable cable cable Problem Description: Connecti ...

  5. 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 ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. 【bzoj3533】[Sdoi2014]向量集 线段树+STL-vector维护凸包

    题目描述 维护一个向量集合,在线支持以下操作:"A x y (|x|,|y| < =10^8)":加入向量(x,y);"Q x y l r (|x|,|y| < ...

  2. DjangoORM外键操作

    Django ORM 外键操作 经常修改的东西一般不放到内存里面,而是放到一张表里.表跟表之间是可以存在关系的,最基本的就是一对多的关系. models.ForeignKey(ColorDic) 1. ...

  3. QML从文件加载组件简单示例

    QML从文件加载组件简单示例 文件目录列表: Project1.pro QT += quick CONFIG += c++ CONFIG += declarative_debug CONFIG += ...

  4. x64 win64编译环境下ADO链接Access数据库的问题解决

    原文链接地址:https://blog.csdn.net/HW140701/article/details/71077579 Win32编译环境下,用ADO数据库连接Access数据库一般都不会报错, ...

  5. BZOJ5314 [Jsoi2018]潜入行动 【背包类树形dp】

    题目链接 BZOJ5314 题解 设\(f[i][j][0|1][0|1]\)表示\(i\)为根的子树,用了\(j\)个监测器,\(i\)节点是否被控制,\(i\)节点是否放置的方案数 然后转移即可 ...

  6. [NOIP2016 D1T3]换教室 【floyd+概率dp】

    题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq i \leq n1≤ ...

  7. Error: Chromium revision is not downloaded. Failed to download Chromium

    在使用prerender-spa-plugin做前端预渲染的时候,安装puppeteer的时候因为下载Chromium 失败报错,有如下解决方法: 1.使用Chromium 国内源 npm confi ...

  8. hibernate实现数据实体复制保存

    hibernate实现数据实体复制保存 2013年12月16日 11:57:22 Hardy008 阅读数:3474   描述:需要将数据的一条记录进行复制保存为一条新记录. 思路:从数据库中取得一条 ...

  9. Canny边缘检测算法原理及其VC实现详解(一)

    转自:http://blog.csdn.net/likezhaobin/article/details/6892176 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个 ...

  10. [NOI2010] 能量采集 (数学)

    [NOI2010] 能量采集 题目描述 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. ...