我好菜呀,居然还在打 div.2… 比赛传送门
A. A Compatible Pair
给两个集合
A,B ,Tommy 先从A 中删除一个数,Banban 再从A,B 中各选一个数a,b , Tommy 想使a×b 尽可能小,Banban 想使a×b 尽可能大。
求在两者都选择最优策略下a×b 的值。(|A|,|B|≤55 )
显然可以直接枚举删除的数,枚举选的两个数
B. A Prosperous Lot
定义一个十进制下的一个数的值为各个数位上的数所构成的圆圈数之和,如
1=0,4=1,8=2 。
求出任意一个值为k 的数,要求这个数小于1018 。(1≤k≤109 )
构造题。显然当
C. A Twisty Movement
给定一个序列
A ,你可以翻转其中的一个区间内的数,求翻转后的序列的最长不下降子序列。(|A|≤2000,1≤ai≤2 )
目测我可能想复杂了。
先倒着算出每个区间的最长不下降子序列的值,由于
再用预处理出每段区间
开始动态规划,记
于是只要对于不同的
可以推广到
D. A Determined Cleanup
给定两个数
p,k ,求出一个多项式f(x) 满足系数均小于k 且为非负整数,且f(x)=q(x)(x+k)+p ,q(x) 也为一个多项式。
(1≤p≤1018,2≤k≤2000 )
稍微看一下还是很好懂得。
将多项式
将多项式
将系数一一对应:
很显然了, 我们只需要从次数小的往大的枚举,每次我们知道
复杂度
然而比赛时没开 long long 于是没 rush 出来…
E. A Colourful Prospect
用
n 个大小不同的圆去切割一个平面,求切割出了多少个平面(1≤n≤3,− 10 ≤ x, y ≤ 10,1 ≤ r ≤ 10 )
比赛时没时间,居然被 A 题给卡了(被叉了)······ 现在看来