2019蓝桥杯Java决赛题答案_如何评价2019年第十届蓝桥杯决赛?

c++ A组

知道怎么做但是没有模板写不出来的感觉是真的难受(还不如不会做

以下是部分题目的个人做法,题目顺序可能有误

A. 三升串。暴力,但我不知道左上到右下的算不算,题目里没说,样例也看不出来,我做的时候算了。

B. 旅游。剪枝搜索,或者状压dp。因为一些神奇的原因,我剩下10分钟的时候才写,跑出结果的时候刚好结束,没有提交,我演我自己。

C. 骰子。题意很乱,我直接写了15*8=120,15是面不同的骰子种数,8是因为2,3,6的方向都可以换,不知道对不对。(确定不对,见评论区

D. 前n项和,打100w的表,发现有一些项还是空的,比如57,58,59。由唯一分解定理,有59个因数的最小数是2^58,有58个因数的最小数是2的28次乘3,有57个因数的最小数是2的18次乘3的2次,其它同理。

E. 无方集合。抽成了一个最大独立集问题,但不是二分图,不会做。打了个暴力开始跑,结束的时候跑到了47还是48,交了。

F. 大胖子。bfs,如果一个位置不能放5*5,到达的时间和k+1取最大值;如果一个位置不能放3*3,到达的时间和2k+1取最大值。

G. 轨道炮。首先横向射和纵向射是分立的问题,可以分别解决然后取最大值。单个方向上问题就是:给定初始位置和速度,求一个时间和位置使得在这个时间和位置上重合的点最多。因为n只有1000,两两求出相遇时间以及位置,取答案最大的时间和位置即可。(用map存答案,写死我了)

H. 人员分配。这是一道可重叠的最小路径覆盖问题,首先拿floyd求出传递闭包,就变成了不可重叠的最小路径覆盖问题,即

这道题我做过,分点建图后用dinic或者匈牙利都能做,此题完毕,20分到手。然而

以上都没有什么卵用,因为我不会默写dinic,匈牙利又忘掉了,所以本题0分(微笑)。

I. 分教室。只会做n在2000以内的。首先猜个结论,p个人分k个教室,分法应该是分数最大的k-1个人一人一个教室,剩下的人一个教室。然后暴力。

J. 略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值