Regional 做题记录 (29/50)

来源:互联网 发布:美工培训 编辑:程序博客网 时间:2024/06/01 07:54

写在前面

博主深感自己太弱了QAQ 于是有了一个刷水的想法,Regional的题目还是有很多考查思维的题目,所以这次是乱做50道思考题,可能会顺带做一些水题,这些题的简要题解会写到这篇博文里面,希望能与大家得到交流。(下次应该是TC做题记录)
做题OJ:UVALive

现在做了几题

思考题: 29
其他题: 114

last update time: 2016-12-21
complete set count:

2015 : 4 / 39
2014 : 1 / 38
2013 : 2 / 36
2012 : 4 / 36
2011 : 2 / 35


Regional 2015

Asia - Changchun (13 / 13)

A - Too Rich 算反面,当货币成倍数关系时可以贪心,枚举不满足关系的两种货币奇偶性,然后转化为贪心
B - Count a × b 算反面,发现是积性函数,分解求即可
C - Play a game 满足|ai|>|ai|的串数量少于|ai|,所以暴力计算子串合法匹配的复杂度可以做到O(|S||ai|)(但是数据难以构造所以直接AC自动机暴力也可过),关于(长度,起始位置)的博弈dp可以压位并行,注意实现要cache friendly即可
D - Pipes selection 对序列分块,利用FFT计算一段l与任意j对应的r数量,对于每个j初步固定l所在块编号,后枚举(l,r)即可,块大小取knlog2(2s),视代码效率自行调参数k即可(我的k居然选了100
E - Rebuild 本质为n个方程,每个变量可以表示成某个变量的线性组合,对于n为奇数的情况可以直接解方程检查,对于n为偶数的情况可以求极值
F - Almost Sorted Array 简单模拟
G - Dancing Stars on Me 整点上的正多边形只有正方形
H - Partial Tree 假设每个点的度数为(1+xi),则ni=1xi=n2,这种形式进行dp可以省去点数一维,从而O(n2)解决问题
I - Chess Puzzle 二分染色后将一边的点颜色视为取反,算反面求最小割,贪心确定每个点属于割的哪一边并产生影响
J - Chip Factory Trie上的简单模拟
K - Maximum Spanning Forest 关键点只有矩形的端点,其他部分的点加入到MST中的决策是唯一的,每次只需要对关键点的MST进行重构,由于有序表的合并是线性的,所以复杂度可以是O(n3α(n))
L - House Building 简单数学题
M - Security Corporation 由于每个点度数至多为4,故可以构造出使用至多3种颜色的方案:只有一个交点时1-染色;可以二分染色时2-染色;其他情况找出一条不与已知直线平行的轴线,沿轴线依次染色即可保证每个点只受至多2个点影响,从而3-染色

Asia - Dhaka (10 / 10)

A - Automatic Cheater Detection 枚举本质不同的情况计算答案
B - Counting Weekend Days 简单模拟
C - Toll Management IV 树边和树边的答案和树上路径更新、路径最大值有关,将路径更新按照权值升序进行更新,其中可以用并查集维护每个点到根路径上最深未被更新的点,使得每个点被更新至多一次
D - Owllen 只选一种字符组成T是不会使解变差的,枚举选哪个字符即可
E - Sum of MSLCM 为保证和最大显然每个约数都要选,所以答案就是2到N的约数之和,分段求解即可
F - Unique Party 对于每个询问,将不小于h的位置改为1,小于h的位置改为1,所求即点数最多的一个元素之和非负的矩形区域,枚举矩形的上下边界转化为一维序列问题,配合基数排序、剪枝即可卡常数通过
G - Honey King 六边形坐标系类似于欧式坐标系,可二分答案半径r,转化为每个点向外扩张r得到的正六边形求交集,交集里存在点则表示半径可行,可以将每个六边形化作六个半平面的交集,是关于x,y,x+y的不等式,分别求交集之后合并是很简单的
H - Design New Capital 由于xy0,所以只用考虑坐标的正负性,发现对角象限需要选相同数量的点,卷积一、二象限的点数即可得到答案
I - Numbered Cards 由于选中的集合里任意两个数不含相同的数位,那么每个数位最多出现在一个数字中,进行一些数位dp的预处理,然后暴力枚举数字集合的划分方案即可
J - The Hypnotic Spirals 极坐标积分,小情况讨论一下即可

Asia - EC Final (3 / 13)

C - Suffixes and Palindromes 思考saffix arraymanacher的过程,得到偏序关系然后构造
E - Colorful Floor 首先按行列划分等价类,行模i=gcd(x,n)意义下同余且列模j=gcd(y,m)意义下同余的等价类个数是lcm(i,j),数量是φ(i)φ(j),而此时染色是等价类到等价类的映射,为了保证映射是双射,可选颜色的阶必须整除lcm(i,j),先从nm的约数里找出可能是lcm(i,j)的数并计算(i,j)产生的贡献,然后O(σ(nm)2)计算这样的颜色有多少即可
M - November 11th 排个序按行扫一遍空挡即可

Asia - Jakarta (12 / 12)

A - Arithmetical CAPTCHA DFS三个符号是什么即可
B - Udin and Ucok 对SG找规律即可,开始存在特殊情况
C - Counting Partition 本质不同的划分数量减一之和是 O(nlogn) 的,每次 O(logn) 二分到位置即可
D - An ICPC Problem without Statement 贪心调整,分正、零、负三种情况,分别构造最大值、任意值、最小值,注意细节
E - Awesome Cipher Machine 构造题,用最少的 (mi)(ni) 表示 k 即可,其中 m=O(logk)
F - Problem on Group Trip 模拟运行过程即可
G - Dungeon Trap 最终答案退一步的情况如果不是一条路径则可以变成一条路径,利用最短路计算可能的路径减去路径最大值的最小值即可
H - Harvest Season 分别排序后每个机器至多接一段区间苹果,dp进行分配即可,转移类似求中位数
I - National Disaster 将二元组按距离排序,统计下前缀 1 的个数,枚举答案即可
J - Alien Abduction 3 构建两个NFA分别识别两种字符串及其变种串,bfs求两个NFA上状态能表示的最短、字典序最小串即可
K - Amplified Energy 显然备用的从大到小替换不会使解变差,记录替换次数,可以类似最大字段和实现一个dp
L - Summation and Divisor 随便搞一组解,其他解与这组解的差能表示成每一个序列里的数与对应数字做差的值的 01 线性组合,用所有可能的差值去和这组解求最大公约数即可

North America - East Central NA (9 / 9)

A - Being Solarly Systematic 解模线性方程组进行模拟,注意细节,例如时间的系数为0,时间的系数与模数不互质
B - Delete This! 离散化后枚举最终选框的行边界,two pointer选列边界,注意中心在屏幕外的黑图标必须移动
C - KenKen You Do It? 预处理一种数字能占的局面,然后状压dp,有点卡常数
D - Rings 从白格开始bfs即可
E - Squawk Virus 简单模拟
F - Transportation Delegation 每个运输公司拆点实现点流量限制,每个点可以向对应的运输公司连边,类似二分图建边求最大流即可
G - Tray Bien 视作整点障碍然后直接轮廓线dp(如果读错题那就是数据太水了)
H - Trick Shot 按照题目要求的物理模型检查即可,注意母球打到1号球之前不能使2号球移动
I - What’s on the Grille? 简单模拟


Regional 2014

Asia Jakarta (11 / 11)

A - Cluster Analysis 简单模拟
B - Body Building 简单模拟
C - Electric Bike 中规中矩的dp即可,注意实现要cache friendly
D - Kevin’s Problem 分两种情况讨论,计算组合数即可
E - Cutting Tree 并查集
F - Double Swords 首先选择必选的剑,然后考虑未满足的区间,需要每个区间至少包含一个选点,这可以在将区间包含的情况去除后two pointer扫一遍得出答案
G - Prime Switch 不大于n的素数枚举子集,结合大于的素数进行容斥
H - I Want That Cake 前缀和优化博弈过程
I - Maze Mayhem 轮廓线dp预处理,容斥算答案
J - Leveling Ground 单调栈
K - Punching Robot O((8K)2)的容斥dp

Europe - Central (1 / 12)

L - Outer space invaders 区间dp(数据水,可以剪枝)


Regional 2013

Latin America (10 / 10)

A - Attacking rooks 将行或列根据障碍分裂成多个点后二分图匹配
B - Blogger language 预处理出每个可以匹配的位置和相应的失配,每次的反转操作会使得一些点失配取反,剩下一小部分(前面和后面都有)进行暴力修改即可,需要记录区间最大最小值
C - Counting ones 按照二进制位由高到低统计的数位dp
D - Disjoint water supply 考虑如果一个点有两条路可以走到根,那么可以将它的入边切除,然后将和根相连的路切除,每个连通块都可以和之外的点凑成点对,于是按深度(标号升序)来检查即可,可以用并查集
E - Eleven 11的倍数满足奇数位之和与偶数位之和模11同余,利用dp预处理从n个数里取出n+12个数模值为k的方案数,考虑最高位不是0和是0的方案即可
F - Football 简单贪心
G - Go up the ultras 单调栈
H - Hide and seek 扫描线的做法几乎是显然的,枚举seeker,维护一个极角向量扫一圈,扫的过程中利用set维护该方向上最近的线段(由于线段不相交所以任意时刻满足偏序关系),初始向量可以设一个没有点的方向,例如(1000001,-1)
I - Inverting Huffman 按贪心策略模拟
J - Join two kingdoms 树dp算出每个点在原树上的最远点距离以及两棵树的直径,方案的结果不是原直径就是两个最远点距离之和加1,把距离排序后two pointer走一走即可

North America - Greater NY (9 / 9)

A - Islands in the Data Stream 简单模拟
B - Von Neumann’s Fly 简单数学题
C - Strahler Order dfs
D - Pisano Periods 枚举或者大步小步(或者利用结论)
E - Deranged Exams 容斥
F - Chomp 记忆化搜索模拟博弈过程
G - Triangle Count Sequences of Polygon Triangulations 每次总有一个点只属于一个三角形(外缘的三角形),不断把它拿掉,模拟检查即可
H - Powers of Pascal 生成函数告诉我们答案是(nm)pnm
I - Contraband 拉格朗日条件极值


Regional 2012

Asia - Tokyo (10 / 10)

A - Ginkgo Numbers 预处理平方数,枚举约数统计答案
B - Stylish 枚举答案
C - One-Dimensional Cellular Automaton 矩阵乘法快速幂
D - Find the Outlier 高斯消元
E - Sliding Block Puzzle 显然两个空格到任意两个点的移动距离就等于它们分别到达其中一个点的最短距离,bfs出小状态之间的最短路,再求大状态之间的最短路
F - Never Wait for Weights 带权并查集
G - Let There Be Light 枚举产生贡献的灯,判断一下线段和圆是否相交
H - Company Organization 操作1,2,4之间不会产生影响,考虑它们对操作3,5产生的影响,二分答案后可以用偏序关系和子集的性质判定,细节需要想清楚
I - Beautiful Spacing 二分答案,计算一个有单调性的dp即可判定
J - Cubic Colonies 答案在展开图上必然是经过一些整点的折线,最优解最坏使用一个偏移为7的斜线(而非6或8),考虑将边的等分点拆出建边,直接跑最短路即可

Europe - Central (11 / 11)

A - Kingdoms 记忆化搜索模拟
B - Who wants to live forever? 观察一次操作后的效果,可以发现奇偶不同位独立,于是分治检查
C - Chemist’s vows dp(转移的表打得手疼)
D - Non-boring sequences 算反面,从两边同时开始找不合法的情况将序列分治检查,这样的复杂度可以证明是O(nlogn)
E - Word equations 每个串贪心匹配,记忆化搜索实现串合并
F - Farm and factory 新图的最短路满足两组不等式,将最短路二元组为平面上的点,问题转化为最小曼哈顿距离和
G - Jewel heist 扫描线+set
H - Darts 简单模拟
I - The Dragon and the knights 设计一个hash函数使得不同区域的点的值不同,去重之后检查是否等于区域数即可
J - Conservation 拓扑序上的简单贪心
K - Graphic Madness 由必须要选的边扩展到两棵树的每条边是否要选,决策唯一,最后检查剩余边是否构成一个环即可

Latin America (10 / 10)

A - Arranging Heaps 斜率优化dp
B - Boxes and Stones 博弈过程是一个二进制数右移变成1的过程,转化为组合dp
C - Cellphone Typing Trie上走一走
D - Different Digits 简单模拟
E - Environment Protection 二分+自适应Simpson
F - Fix the Pond 除了起点终点外每个点度为2,每次操作只能减少一个连通块数,故答案为(连通块数-1),dfs即可
G - Game of Tiles 二分图匹配
H - Hours and Minutes 简单数学题
I - Interval Product 线段树
J - Joining Couples 基环树结构,并查集维护连通性,环直接维护,树维护lca

North America - East Central NA (9 / 9)

A - Babs’ Box Boutique 简单搜索
B - Flash Mob 简单数学
C - Hexagon Perplexagon 简单搜索
D - I’ve Got Your Back(gammon) 利用简单搜索预处理
E - Parencedence! 搜索模拟博弈过程
F - Road Series 答案不会很大,枚举长度不超过7的数字,模拟
G - Show Me the Money 答案不会很大,直接表示成分数,搜索
H - Sofa, So Good 题目保证解唯一,并且要求第一轮总代价最小,故直接二分图最小权匹配即可
I - Town Square 除水平放置外只有两种角度可能有解,分别检查即可(也可以枚举小角度区间,二分找到这个角度)

North America - Greater NY (1 / 10)

F - The King’s Ups and Downs 组合dp


Regional 2011

Asia - Kuala Lumpur (9 / 9)

A - Smooth Visualization 简单模拟
B - Arnooks’s Defensive Line cdq分治+树状数组
C - Equivalence 字符串模拟+随机化
D - Tree Inspections 离散化+扫描线
E - Social Holidaying 一般图匹配(数据水,可用二分图匹配)
F - Orienteering dp预处理分数对应的最短距离
G - Writings on the Wall Z Algorithm或者KMP或者字符串Hash
H - Robotic Traceur bfs求最短路
I - Shortest Leash 答案一定是极角序中连续的一段,由于可以选择向量的反向,将反向向量也加进去,限制不能选超过一半的向量即可

Latin America (11 / 11)

A - Army Buddies 两个方向分别用并查集维护即可
B - Ball Stacking 转45°变成矩阵形式,利用预处理信息快速维护后缀最值并DP
C - Candy’s Candy 本质不同的解一定可以表示成(每组数量, 复杂组数量),设每组的数量为mn,则有mn|CiCj,当Ci不全相同时可以求相邻差值的最大公约数的因子做mn的倍数,当Ci完全相同时m|Ci,皆可枚举m,计算对应的复杂组数量
D - Diccionário Portuñol 难点在于去重,对于后缀长度大于1的情况枚举前缀不包含的结尾字符作为后缀的开头即可
E - Electrical Pollution 将每个连通块里的点权用某个点权表示即可,注意输入格式到建边的转化
F - File Retrieval 考虑排序后一段公共前缀长度L的后缀集合,当L变化时,只有L到了某个height或者某个后缀的长度时,后缀集合才会变化,因此答案的个数是O(n)的,可以枚举+二分检查
G - Garden Fence 最优解一定可以调整到直线与两个点十分相邻,枚举其中一个点,用两条相反方向的极角序扫描线走两圈即可
H - Hedge Mazes 路径唯一等价于只走桥边,求出桥后维护连通性即可
I - In Braille 简单模拟
J - Jupiter Atacks! 模数为质数,利用乘法逆元的知识发现树状数组维护一下就可以了
K - King’s Poker 简单模拟


Regional 2009

Asia - Amritapuri (1 / 10)

H - Find The Number 容斥

Asia - Harbin (1 / 11)

I - The Number of Sequence Pair 找规律之后递推,可以转为计算贡献


Regional 2007

Asia - Taipei (1 / 10)

C - Undetectable Tour 二分+并查集


Regional 2004

Europe - Southeastern (1 / 9)

B - Corporative Network 带权并查集


写在后面

智商,我要智商!QAQ

1 0
原创粉丝点击