151015的测试总结

12 篇文章 0 订阅
5 篇文章 0 订阅

第一题

考查的知识点:也许是排序,或者是map?

【题目及题号】电话号码 superoj
【题解】
第一种做法 用map
第二种做法 转成7位数数字排序然后特判输出。
【易错点】
最后交卷之前出了组数据,发现没有输出前导零,立刻补上了。

{注:字符串题目如果转成数字排序,最后记得转回去要加入前导零。}

第二题 

考查的知识点:DP

【题目及题号】擦除线段 superoj
【题解】
算法一:
f[i][j]表示保留j条线段,最后一条为i的方案数。
f[i][j] = sigma(f[k][j-1]) k不与i重合。
算法二:
f[i] 表示前i条线段最多能保留多少条
g[i] 表示前i条线段在保留最多条数的情况下有多少种方案。
那么
情况一 f[j]+1>f[i] f[i] = f[j]+1 g[i] = g[j];(先找到最大的,然后再扫一遍)
情况二 f[j]+1==f[i] g[i]+=g[j];
【考试ING】
首先想出了第一种算法,实际这种算法只能得50分,然后我去针对我自己的转移方程进行了优化,得到了100分。
方法就是把点离散化。
错的原因:分析一下为什么没有想到第二种算法,其实当时是想到了第二种方式的状态,但是并没有深想就跳过了。有点可惜。

第三题

考查的知识点:二分答案

【题目及题号】电路设计 superoj
【题解】
有一个性质就是,如果当前需要拼出x块板子,只需要可用的电阻总数大于x*m即可。
证明:对于同一种电阻,如果它的数量大于x我就把多出去的部分丢掉。
那么现在保证相同的电阻最多x个,那么它就只能分别放到x块板子上。
对于不足x的电阻,就只保留它本身的数量。
例如 33344442255 现在要填三块板子
可以3 3 3 纵向来看就分别是合法的方案。二有两个,五也有两个,只会用多出来的种类(5)来填2的空白,
4 4 4
2 2 5
因为3 4多余的部分被丢掉了,所以它一定不会重复。
那么就可以二分x,通过判断可行性来解决问题了。

{对于不好正向求解的问题,我们可以采用枚举解来验证的方式求解。}

【考试ING】
我写了个自以为正确的贪心,现在不是很清楚为什么错,一会儿再拍,拍了再来写为什么好了。

最后的总结
今天的题没有AK我感到很可惜。Orz。

题目预估分数实际分数
电话号码100100
擦除线段50~80100
电路设计0~400
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值