2017.2.21考试总结
来源:互联网 发布:ubuntu 优麒麟 编辑:程序博客网 时间:2024/05/29 18:55
T1 简单的字符串处理,注意:
①字母转数字用一个常数数组即可,不需要N个for循环
char map[26] = {'2', '2', '2', '3', '3', '3', '4', '4', '4','5', '5', '5', '6', '6', '6', '7', 0, '7', '7', '8', '8', '8', '9', '9', '9', 0}; //字手机按键上的字母与数字的映射表
②include<>一定要打完,要不然编译都错
T2 先预处理每个数,哈希,再枚举每个数,找B+C的结果是否再预处理出的hash数组里,O(N)的复杂度
int locate(int x) //预处理 { int i=x % mod; while((data[i]>0)&&(hash[i]!=x))++i; return i;}for(i=1;i<=n;++i) //枚举B+C的结果 { j=locate(a[i]+c); ans+=data[j]; }
T3 DP,考试的时候以为后面的会改变前面的结果就满足无后效性,就没有去想DP的方法,结果可以由拆分区间来求解, 将[1,i]区间分成[1,j]区间与合法[j+1,i]集合组成,则要使[1,i]区间满足条件的集合数最小,显然[1,j]区间满足条件的集合数为最小,即每一段的最小值都可以从前面的某一段的最小值转移过来。
//转移方程F[i]=MIN{F[j]}+1{S1[j+1][i]=0 or S2[j+1][i]=0 or ABS(S1[j+1][i]-S2[j+1][i])<=M}
主要是对区间DP的思想不够熟悉,而且DP的思想理解也不够彻底。
1 0
- 2017.2.21考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- 考试总结
- Dell 7559 安装Ubuntu以及Nvidia 960M驱动相关问题及解决
- Linux C++ 初次尝试 单链表
- ice Callback
- SecureCRT 7.2.0 Mac版密码无法保存的解决办法
- Eclipse中导入项目后js报错解决方法
- 2017.2.21考试总结
- css基础及css选择符
- 开博第一帖
- 二零一七一月二十一日小测试
- Unfair Poll
- 修改gmediarender对于ffmpeg的依赖库
- P2P内网穿透原理
- [C语言]除非该数组为全局变量,否则只能在定义数组时获取数组长度,在传递过程中只是传递指针不能再次获取长度
- pat-bl-1047