【题解】吉林大学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

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务