遍历搜索处理修改的参数
2006-12-20 16:35
260 查看
我们在遍历一个问题,有时需要对不同情况都需要对参数做不同的修改。 如果有些参数仅仅是几个变量,我们在写代码时需要用数学表达式。
比如 next (int i, int j) 对四个方向遍历
写成 i++; next(i,j) 那么后面别的情况就比影响了,所以i,j在这里不能改变。所以应该写成next(i+1,j)
有时候参数是数组,并且不同情况需要修改一次,如果对每种情况都新生成一个copy,那么效率就太低了。 比如PKU ACM 3009 : 处理这种情况的办法如下:
void next(int i, int j, int *map, int n)
map[nPos(p,j)] = 0; // 修改
next(p-1,j,map,n+1); // 一种情况的递归调用
map[nPos(p,j)] = 1; // good idea 但是又复原了
比如 next (int i, int j) 对四个方向遍历
写成 i++; next(i,j) 那么后面别的情况就比影响了,所以i,j在这里不能改变。所以应该写成next(i+1,j)
有时候参数是数组,并且不同情况需要修改一次,如果对每种情况都新生成一个copy,那么效率就太低了。 比如PKU ACM 3009 : 处理这种情况的办法如下:
void next(int i, int j, int *map, int n)
map[nPos(p,j)] = 0; // 修改
next(p-1,j,map,n+1); // 一种情况的递归调用
map[nPos(p,j)] = 1; // good idea 但是又复原了
相关文章推荐
- 谷歌搜索修改算法:经加密处理的网页权重将提升
- 【转】谷歌暗藏实时搜索:修改URL参数即可实现
- 修改程序清单7.7中的3个数组处理函数,使之使用两个指针参数来表示区间.
- js从页面同时传递多个参数或搜索条件时怎么处理
- Oracle 11g参数修改错误导致数据库无法启动的处理方法.[ORA-01034,ORA-27101,ORA-00824]
- 项目心得:广度遍历搜索部门处理业务
- datatable 的ajax修改参数,post可以传参处理
- 后台传List参数,mybatis接收遍历处理demo
- 谷歌搜索修改算法:经过加密处理的网页权重将提升
- JQuery遍历修改url的请求参数
- json的一般处理(增加、修改、删除、遍历)
- javascript 分析url处理搜索参数
- win7平台批处理方式修改windows驱动程序安装搜索策略
- flask之修改蓝图的template_folder参数,模板路径的查找处理:
- Oracle 11g 参数修改错误导致数据库无法启动的处理方法.[ORA-01034,ORA-27101]
- python:xml模块用法-xml处理、修改、删除
- iOS AFNetwork 源码 get 参数处理部分详解
- 用IE中文参数乱码问题,其他浏览器不乱码的处理方式
- SpringMVC RESTful风格URL处理带点的参数
- MTK校准默认参数修改(2010-3-29 16:16)