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 ...
随机推荐
- 笔记-自己看Day20-待续
1. 搭建环境 1)注释掉csrf 2)配置模板路径 'DIRS': [os.path.join(BASE_DIR,'templates')], # BASE_DIR,代指当前目录. 3)配置静态文 ...
- elasticsearch 第四篇(API约定)
对多个indices进行操作 es中大多resetapi支持请求多个index, 例如”test1,test2,test3”,index也可以使用通配符, 例如”test*“, 还可以使用+,-来包含 ...
- HN2018省队集训
HN2018省队集训 Day1 今天的题目来自于雅礼的高二学长\(dy0607\). 压缩包下载 密码: 27n7 流水账 震惊!穿着该校校服竟然在四大名校畅通无阻?霸主地位已定? \(7:10\)从 ...
- 洛谷P3933 Chtholly Nota Seniorious 【二分 + 贪心 + 矩阵旋转】
威廉需要调整圣剑的状态,因此他将瑟尼欧尼斯拆分护符,组成了一个nnn行mmm列的矩阵. 每一个护符都有自己的魔力值.现在为了测试圣剑,你需要将这些护符分成 A,B两部分. 要求如下: 圣剑的所有护符, ...
- 洛谷 P1325 雷达安装 解题报告
P1325 雷达安装 题目描述 描述: 假设海岸线是一条无限延伸的直线.它的一侧是陆地,另一侧是海洋.每一座小岛是在海面上的一个点.雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d ...
- redis 命令行客户端utf8中文乱码问题
只需要你在启动redis-cli时在其后面加上--raw参数即可启动后 再显示就正常了
- Spring切面之一
为什么要使用AOP,在编写程序的时候,除了不必关心依赖的组件如何实现,在实际开发过程中,还需要将程序中涉及的公共问题集中解决.AOP是Aspect-Oriented Programming的简称,意思 ...
- gflag使用
#include <gflags/gflags.h> #include <iostream> // 声明全局flag DEFINE_bool(my_bool, false, & ...
- lldb和gdb命令映射
http://note.youdao.com/noteshare?id=45b6171a4a846f6b95db7d8211fbfb9c
- 手脱PECompact v2.xx
个人认为这个壳对于新手有那么一点点难度,所以用单步和ESP都跑一下,我觉得单步是最最基础的,所以一定要掌握 一.单步 1.PEID查壳 PECompact v2.xx (16 ms) 2.载入OD,除 ...