【题解】吉林大学ACM集训队选拔赛(重现赛)

Problem A. 777

从高到低统计每 的个数
每个数位考虑小于7、等于7、大于7三类统计结果

Problem B. Subset of Five

DP:前 位中选取若干数字后模 的最大值
贪心:在模 四类中每类取最小的 个,暴力求子集和或分类讨论,找出最小子集使得模 等于

Problem C. Strange Bulbs

为每个点维护一个长度为 的bitset
一边拓扑排序,一边DP某个点被哪些点影响到了
时间复杂度

Problem D. Query Theory I

筛出每个数因子和后前缀和
埃式筛:
线性筛:

Problem E. Final Exam

将所有 换成二进制,统计每一位上有几个数为 ,这样问题就转换成有若干个物品,
每个物品花费 ,得到的价值形式为
每种物品有两个形态,
一个形态表示 这一位为 ,则价值乘上的数为 中这一位为 的数的个数,另一个形态表示 这一位为 ,价值乘上的数为 中这一位为 的数的个数
先贪心求出一个 使得 最小,这个贪心是显然的
之后我们从高位往低位贪心求最终答案

Problem E. Final Exam

如果这一位 已经为 ,则不用管直接继续下一位
如果这一位 ,那么贪心取
如果这一位 的价值加上已有价值小于等于 的话,那这一位一定为 ,否则k这一位一定为0(为1就不符合题意了)
最后输出得到的 就是答案
注意一下数据,这个数据很大,看似需要高精度,实际上只需要一个特判就可以判掉无解
时间复杂度

Problem F. EndA's GPA

减少浮点数计算
检查

Problem G. Pair Complex

方法1 ~ 暴力对每个式子进行前缀和加减计算
方法2 ~ 计算每个数字对答案的贡献

Problem H. Precision

展开 后为
树状数组或线段树维护

Problem I. Firework}

建立超级起点 连接到每个 ignited node
SPFA或Dijkstra求出离超级起点最远的两个点
两者相连则根据到达时间和两者间距解出燃烧尽时间
否则最后一个燃尽的点的时间就是答案

Problem J. Across the Firewall

拆点限制流量的无向图最大流送分题

Problem K. Dress as women

复杂度计算每个子集内的点是否共线
dp[0101010] 表示某个子集的必胜/必败态 枚举每个状态的子集进行转移

全部评论
没有标程吗
点赞 回复 分享
发布于 2020-06-14 13:52
C题为什么bitset是除以64呢?
点赞 回复 分享
发布于 2020-06-13 19:32

相关推荐

小厂面经,也是我的处女面(30min)1.自我介绍2.spring boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客企业服务