151028的测试总结

第一题
【题目及题号】function superoj971
【题解】
会发现用9不如将其拆成7222,类似地可以推出有用的只有2,3,5,7;
所以对于每个给出的数统计2、3、5、7分别可以出现多少次,然后从可以放7的数量倒着来放。
【考试ING】
开始以为是神题,后来才发现就是一水题。

告诉我看到旁边的人动手了之后千万不要慌。

第二题
【题目及题号】box superoj972
【题解】
是一个搜索题f[][][][]分别记录人的位置、一号箱子、二号箱子、三号箱子……直接搜索即可。
【考试ING】

我写了个非常错的算法,但是因为开小数组反而多过了两个点。没办法的时候一定要写骗分啊。

第三题
【题目及题号】tree superoj973
【题解】
本题要求考虑有限制的最小生成树。
既然要求选K条白边,如果我们不根据限制来求,白边的数量可能多也可能少。
对于多的情况我们就考虑给所有白边加上一个权值,让它的排序相对靠后,最后减去K条多出的代价。
对于少的情况反过来处理就好了。
具体实现就是二分这个值,从-100到+100即可。
注意排序的时候对权值相等的,要把白边放在前面。
有一种情况
1-2 有两条边一黑(权值2)一白(权值3)
2-3 有两条边一黑(权值2)一白(权值3)
要求选一条白边,解应该是5。
当前减的值为1时,四条边为2222,选前两条(都是白色);
当前减的值为0时,四条边为2233,选前两条(都是黑色)
看上去本题的做法对于这种数据是错的,但实际上,在减掉一个数的意义下,黑白边权值相等、连接相等,他们就是等价的。
最后我对选出来的边只补上k个减的值,那么即使多出来的边是白色的,因为我们没给他补权值,所以相当于选了黑边。
【考试ING】

注意数据范围,不要自己猜范围写暴力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值