Codeforces Round #596 (Div. 1)

前言

康复训练Day2。wdnmd又双叒叕是赛后1A。

题解

A - p-binary

考虑是否存在使得能被表示成之和,即二进制表示中的个数小于等于本身大于等于。暴力枚举就行辣。

B - Power Products

用一个长度为记录每个数小于的质因子的次数对取模的情况,并根据剩余的最大质因子存放到对应的中,对每个数求一个补集然后查询补集出现次数就好了。

C - Rock Is Push

假设没有石头。
为在这个位置先向下走走到的方案数,为在这个位置先向右走到的方案数。
那么显然有转移方程还有
分析发现被推过去的石头并不影响转弯之后的走法,只影响能沿着推石头的方向走多远,即状态转移的范围。
如果下边有个石头,则有,同理,如果右边有个石头,则有
只有一行或一列或是石头的时候要特判一下。

D - Tree Factory

每次操作能把一部分节点的深度-1,那么肯定是每次操作都尽可能影响多的节点比较好。
考虑按照dfs序来安置节点,贪心地优先安置高度低的子树,回溯的时候把剩余的一整条链往上提。

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-12 18:14
RT,这周五就是情人节了,前女友给我发了消息,我该不该回?
Yoswell:原则上来说让她滚,但是本着工作很累下班想吃瓜的心态,我觉得你可以回一下
点赞 评论 收藏
分享
昨天 20:43
西北大学 Java
点赞 评论 收藏
分享
01-02 00:50
三峡大学 Java
程序员牛肉:这简历一出手就离失业不远了。 作为一家公司来讲,我如果要招日常实习生,那我对实习生最基本的要求就是要能干活,毕竟你就待三四个月,谁会留心培养你? 那么除了院校之外,最重要的就是项目和实习了。没有实习的话项目就好好搞。 但是你说你这个项目吧:课程作业管理系统和TMS运输管理系统。这两个基本就和闹着玩差不多。 你作为一个想要应聘Java开发实习生的人,对后端的理解还仅仅停留在:“使用mapper和sql映射”,“使用SQL进行多表调用”,“基于MySQL简历表结构”,“基于Spring boot完成CURD操作”这种玩具上......... 找不到后端实习的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务