A. Phone Desktop
在一个 5×3 大小的手机上面上摆放 x 个 1×1 大小和 y 个 2×2 大小的手机图标。问最小需要多少个屏幕
先摆大的,剩下的空间摆小的。
B. Symmetric Encoding
输入一个字符串 s ,将 s 进行排序去重后得到 m。根据映射关系将s中每个字符si找到在 m 中对应的 ci 并替换为替换为 cj,其中 i+j=∣m∣
C. Beautiful Triple Pairs
给一个序列 a(∣a∣=n),构造三元组 ti=(ai,ai+1,ai+2) ,1≤i≤n−2
求ti中有多少对三元组中只有一个元素不同
假设现在只求最后一个元素不同的元组有多少对。
设对于 ti ,前两个元素相同的数量减去三个元素相同的数量,即为和ti 相比最后一个元素不同的数量。
D. Ingenuity-2
A和B都能向NSEW四个方向移动,现在给出一个操作序列,将序列中每个元素分给A或B,使A和B在同一个点出发时都能到达同一个终点,且A和B都进行了移动。
- 如果有两个相同的操作,可以将两个操作分别发给A和B
- 如果有两个相反的操作(比如N和S),可以将其两者发给A或B
- 将 NS 发给 A,EW 发给B可确保在可行时 A 和B 都能进行移动
思路很乱,写的又臭又长
E. Money Buys Happiness
小 C 每个月赚 x 元,在 m 个月中每个月都可以花费 ci 元获取 hi 的快乐值,这种操作最多进行1次。
m 个月后小 C 的快乐值最大是多少
似乎是 PTA 上的原题
注意数据范围发现 m 和 h 出奇的小,故可以将背包的维度掉转一下。使 dp[i][j] 表示第 i 个月有 h 快乐的时候花了多少钱
那么就有 dp[i][j]={max(dp[i−1][j−h[i]]−c[i]+x,dp[i−1][j]+x)dp[i][j]=dp[i−1][j]+x,j−h[i]≥0,Otherwise
F. Cutting Game
有 a×b 大小的格子,上面摆有 n 个物品。A 和 B 轮流从上、下、左或右侧删一定的行或列,每当他们删去的格子上有1个物品时得一分。给出格子、物品和操作,求得分
拿个 set 存位置打暴力即可,注意行列
复杂度 nlogn
G. Money Buys Less Happiness Now
在 m 个月中每月收入 x 元,每个月都可以花费 ci 元购买 1 点幸福
输出最大幸福
反悔贪心。由于每次购买的幸福都是1,所以在钱不够是反悔1次总能得到最优解