博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
usaco3.2
阅读量:5156 次
发布时间:2019-06-13

本文共 705 字,大约阅读时间需要 2 分钟。

3.2.1 factorials

 求阶乘结果的第一非0位,办法很多,数据范围不大,可以保留末5位,构造积性函数等。最好地办法是直接模10,但阶乘时跳过因子2和5,并记录,最后再补乘。

 

3.2.2 stringsobits

 首先要搞清楚题目的序列关系,首先考虑大小,再考虑位数,不足前添0。所以最关心的应该是最高位的1的位置。详见。

 

3.2.3 Spinning wheel

 这题看似复杂,其实数据范围不大,模拟可以轻易解决,思考过不用模拟的办法,无果,可能功力不够。

 

3.3.4 Feed ratios

 线性代数,模拟高斯消元,或者直接套公式,注意元素有0的情况,这种细节很多。

 

3.3.5 Magic Squares

 操作种类不多,bfs最轻松。先写好表达各种操作的常量数组可以减小编程复杂度。判重可以开个7维数组,有点勉强,不过够用了,另外一个办法是,康托展开,可以把一些元素的排列数与10进制对应起来,映射到更小的范围,数组就能直接开下了。

 

3.3.6 Sweet butter

 做完这题才真正掌握了dijkstra ,B-ford 和floyd ,3个求最短路的算法,以及他们的优化。以前觉得松弛操作很奇怪,明明让路变短了,却叫松弛,现在觉得这个词很形象,原来直接相连的两点,松弛后变成了通过其它边间接相连,总的权值比以前直接相连小了,在图上看来,间接连接后就像把原来紧绷的边松开了。

 

 

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

转载于:https://www.cnblogs.com/eggeek/archive/2011/10/17/2281165.html

你可能感兴趣的文章
TTButton 的正确使用的方法
查看>>
gdb打印STL和boost容器
查看>>
HDU4790
查看>>
MySQL安装相关
查看>>
[LeetCode] Remove Element 分析
查看>>
编译安装httpd-2.4.12
查看>>
spring boot 自定义过滤器链
查看>>
刷新当前页
查看>>
最大乘积 Maximun Product
查看>>
linux 使用ssh-keygen生成ssh公钥和私钥
查看>>
HTTP 请求
查看>>
Jboss编码问题
查看>>
Spring+Spring Boot+Mybatis框架注解解析
查看>>
MyBatis之基于XML的动态SQL
查看>>
brew 、carthage 安装
查看>>
OBIEE 11g 启动与停止包含服务器重启
查看>>
thinkphp自动验证分析
查看>>
[c语言]运算符的优先级与结合性
查看>>
第 10 章 数组和指针
查看>>
安装nginx
查看>>