ACM集训

用户头像
来自浙江理工大学-莫春豪发布于:2018-08-23 12:03:39

今天上午打了一场Div2的重现,超级无敌水

A题(2分钟ac),两个人住同一个寝室的方案有多少种? 给一个pi(第i个寝室已有人数),qi(第i个寝室最大容纳量)

直接pi-qi如果大于等于2 ans++;

B题(24

分钟ac),

题目大意:给定n,m,k,n种士兵,m个部队,兵种不同数量小于等于k的为友军。
然后给出m+1行,前m行表示需要判定的部队,第m+1行Fedor的部队。(按照二进制形式给定)
他假设两个玩家可以成为朋友,如果他们的军队最多有k个不同类型的士兵(换句话说,对应数字的二进制表示在最多k位上是不同的)。
帮助Fedor,并计算有多少球员可以成为他的朋友。

分析:直接取亦或,然后判断1的个数是否小于等于k。简单位运算

C题(1小时6分钟ac),

题目大意:给定一个长度为n的序列,从序列中选出k个不重叠且连续的m个数,要求和最大。就是每个区间有m个数,选出k个,之间不能有重合部分

分析:没什么技巧,直接dp动态规划,dp[i][j]表示到第i个位置选出j段的最大和,对了因为经常要求连续m个数的和,所以用一个sum[]数组存前缀和。不然会TLE(Time Limit Exceeded)超时

点赞 (2) 回复
发布回复
点击图片