151212总结
来源:互联网 发布:网络传销举报中心 编辑:程序博客网 时间:2024/06/02 01:29
T1
数学期望题,不会做,就是列方程然后递归求,用Hash处理大概可以控制到100W种情况
需要的知识:数学、hash
T2
每个a → b要增加的数为 4k + b ,若增加的值都为b,那么 ans =
对数列进行差分后 ans =
现在考虑 4k
对每一段数增加 4 后,只会使数列中前面一个数 (设为 a) + 4,后面一个数 (设为 b) -4
现在要是 ans 更小,讨论后发现只有 a <0 && b > 0 && |a| + |b| > 4 时成立
则存在三种情况 (a,b) = (-2 , 2) , (-2 , 3) , (-3 , 3)
考虑负数,-3 相比于 -2 更优,所以 -3 具有优先级
考虑正数,若 2 先匹配,则 -4 后会产生一个新的 -2,和先匹配 3 的贡献一样,所以正数不具有优先级
所以只要扫一遍,记录前面还有几个 -2 , -3 ,每次优先匹配 -3 就可以得到答案了
需要的知识 :差分
T3
讨论后发现。。。
若不受n、m限制,则所占格子与棋子的关系为
mx = 2n^2 + 2n + 1 ( 4n )
2n^2 + n (4n - 1)
2n^2 (4n - 2)
2n^2 - n (4n - 3)
假设 n <= m
1) ans 不受限
ans = 上述 mx (若 n 为偶数 ,则最大时可以纵向扩展一格,棋子 + 2,ans += 2n + 1)
2) ans 受 n 限制,不受 m 限制
所得菱形横向扩展增加两颗棋子扩大n格,增加一颗棋子,ans += n (n为奇) / n + 1 (n为偶)
3) ans 受n 、 m限制
则每个边角上的棋子向四角扩展,每个方向上每次扩展n ,n-1 ,n-2 …… 1 个棋子
数据太大,可以二分菱形边长
【错因】:没有特判 n = 1 or 2 的情况,二分写错(习惯(] <-_-|||>,这次想写[),然后没想清楚。。。)
所需知识 :二分
- 151212总结
- 总结
- 总结
- 总结
- 总结
- 总结!
- 总结
- 总结.
- 总结。
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- sql server 更改服务器帐户后会出现的问题
- 年度工作总结模板
- 简历投出没回音?你要学学这几点!
- android hapticFeedbackEnabled在程序中使用触力反馈
- 秒杀多线程第四篇 一个经典的多线程同步问题
- 151212总结
- maven项目打包运行
- 23种设计模式
- iOS 键盘类型定制归纳
- 微信公众号开发配置
- 《NSUserDefaults数据存储和 UIScrollView 的解说,和引导也的创建》
- 有关blkproc 命令的使用
- 新的一年
- JAVA多线程和并发基础面试问答