杭电2033-2037总结

昨天已经把题目做完,但是没有写总结博客。

2033:简单的加法题,但是要按照60进制处理进位。

 

2034:做完这道题的时候,我翻阅了大一的课本《离散数学结构》,查阅了特征函数和子集的计算机表示方法,非常怀念大一的学习时光,但是当时没有好好地把离散数学基础打好。

在这道题里,A-B一定是A的子集。首先假设A-B等于A,然后遍历A中的每个元素,对于A中的每个元素,遍历B中的每个元素,只要找到B中有A中的元素,该元素就不在A-B中。

不过要注意的是,在做上述操作前,要对A和B中的元素进行排序。

 

2035:因为本题只要求结果的后三位数,所以不怕结果溢出。本题有两种方法,一种是进行b次循环求得结果;另一种是用递归的方法求结果。

从两次提交的情况来看,递归的方法明显快很多。

还有,两个整数相乘结果的后三位数,只和两个数的后三位数有关,因为第n位数,只能影响到结果的第n位。

 

2036:第一次使用结构体解题。本题是一个模板题,只要套用数学公式就可以解决了,但是我暂时无法证明该公式。

把第0个点的值赋到第n个位置,统一了0到n-1这n个点的计算规则,经过统一,n个点的计算规则都是和下一个点进行计算。

 

2037:本题是经典的贪心题。本题只是要求求出最优解所包含的电视节目个数,其实使用贪心法,只能求得可能的最优解的其中一个。

因为程序实现已经将节目按照结束时间的先后排序了,如果存在一个不含第一个节目(a0)的最优解,那么一定可以用第一个节目代替最优解的第一个节目,从而得到了包含a0的最优解,即一定存在包含a0的最优解。

假设紧接着a0的结束时间的节目是ai,即便存在包含a0但是不包含 ai 的最优解,不妨设这个最优解中紧接a0的是 aj ,那么则 aj 的结束时间一定大于或等于 ai (因为 ai 是最接近 a0 且开始时间大于等于 a0 的节目 ),所以一定存在包含 a0 和 ai 的最优解。

如此类推下去,每次找最接近最后一个已选节目,并且开始时间大于等于该已选节目的结束时间,就可以得到其中一个最优解了,得到最优解,计算这个解的节目个数,就可以得出本题的答案了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值