2019 Multi-University Training Contest 7

看不见的后期

1001 A + B = C

题意

给出三个正整数a, b, c (1≤a, b, c≤10100000)a,\ b,\ c\ (1\le a,\ b,\ c\le10^{100000})a, b, c (1a, b, c10100000),求任意一组解x, y, zx,\ y,\ zx, y, z使得下式成立。a⋅10x+b⋅10y=c⋅10z (0≤x, y, z≤106)a\cdot10^x+b\cdot10^y=c\cdot10^z\ (0\le x,\ y,\ z\le10^6)a10x+b10y=c10z (0x, y, z106)

题解

先将三个正整数的末尾零处理掉,然后分情况讨论。
第一种是直接把 a, ba,\ ba, b 相加,然后再处理掉末尾零,与 ccc 比较,看是否合法。
第二种选择 a, ba,\ ba, b 中的一个数字不添加末尾零,给另一个数字添加末尾零,那么可以知道,选出来的数字先尽量逐位和 ccc 的末尾进行比对,失配的时候再加上 bbb
相当于是做了三次高精度加法,所以整体复杂度是 O(len)O(len)O(len)的。
zxt的做法就比较NB了,因为是加法,加法在位数上最多进一位,所以首先给a, b, ca,\ b,\ ca, b, c补零,分四种情况:aaa 是否比 ccc 少一位,bbb 是否比 ccc 少一位。
然后用双Hash判断a, ba,\ ba, b加起来是否是 ccc

1006 Final Exam

题意

已知一次考试有 nnn 道题目,每道题目都有一个难度系数 xxx,解出这道题目需要花费 x+1x+1x+1的时间,已知这 nnn 道题目的难度系数总和是 mmm 。你需要制定一种复习方案,使得难度系数无论怎么分布,你总能至少解出 kkk 道题,且此时总用时最小。
1≤n, m, k≤1091 \le n,\ m,\ k\le 10^91n, m, k109

题解

考虑一个问题,当我们的复习计划确定时,怎样分布难度系数才能使我做不出 KKK 道题目。
首先将我们每道题的用时从小到大排序,然后用时最多的 k−1k-1k1 道问题难度系数设置为 000 ,先放我过 k−1k-1k1 道题目,然后对于剩下的 n−k+1n-k+1nk+1 道题目,每道题目的难度系数刚好设置为我的复习用时,这样就可以以最小的花费使得我正好解不出 KKK 道题目。
现在我们已经知道难度系数只会分布在我用时最少的 n−k+1n-k+1nk+1 道题目了,那么我们只需使得用时最少的 n−k+1n-k+1nk+1 道题的总用时为 m+1m+1m+1 ,那么 mmm 个难度系数就无法限制到我了。
此时还需要使得最大的 K−1K-1K1 道题目用时最小,那么就使得前n−k+1n-k+1nk+1 道题目用时尽量平均。
答案为 m+1+⌈(m+1)n−K+1⌉×(K−1)m+1+\lceil \frac{(m+1)}{n-K+1}\rceil \times(K-1)m+1+nK+1(m+1)×(K1)

1010 Just Repeat

题意

两个人各有一些手牌且互相知道对方的手牌组成,先手有 nnn 张,后手有 mmm 张,每张手牌都有一个权值,两个人轮流出牌,打出的牌的权值不能和对方已经打出的任意一张牌的权值相同,不能打出手牌的人判负(无手牌或者无可打出手牌都有可能)。
1≤n, m≤1051\le n,\ m\le10^51n, m105

题解

先手有的牌,后手没有,或者后手有的牌,先手没有,这些牌都是双方一定能打出的。
对于双方都有的牌,把双方共同拥有的数量加起来,排个序,一定是从大到小取的。
因为打出一张牌,可以使得自己同种类的牌一定都能打出,且对方此种类的牌全都无法使用。
总收益就是双方拥有的数量之和。
为了卡我们,有些手牌是以随机生成器的方法给出的,可以使得∑n+m=107\sum n+m=10^7n+m=107,map白给了,只sort一边好好写模拟过的。

1010 Kejin Player

题意

我写1001的时候队友弄的。

题解

队友过了就是我过了,队友会了就是我会了(振声)

补题

  • 1001
  • 1006
  • 1010
  • 1011

看题

1002
1003
1004
1005
1007
1008
1009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值