摘要: "C. You Are Given a WASD string..." 主要看的还是思维,分别求出在上下左右四个方向移动的最大幅度( mov_up, mov_down, mov_right, mov_left )然后对于垂直方向如果 mov_up == mov_down 那么 robot 最后的位置 阅读全文
posted @ 2019-08-09 19:02 caoanda 阅读(317) 评论(0) 推荐(0) 编辑
摘要: "B. You Are Given a Decimal String..." 这个题需要求出从某一个尾数 n 变为 m 所需要的 x 和 y 的最小个数(i+j) 那么就需要预处理出一个数组来存放这个值。数组 b[ ] 中存的是所需要多添加的数的个数 (i+j 1) cpp int b[10]; f 阅读全文
posted @ 2019-08-09 15:12 caoanda 阅读(300) 评论(0) 推荐(0) 编辑
摘要: "F. String Compression" 利用dp和 "前缀数组" 来写 dp[i] 所表示的东西是 字符串 s[0:i] (不包括 s[i])能够压缩的最短长度 bj[i][j] 表示的是字符串 s[i:j+1] (不包括 s[j+1])能够压缩的最短长度 代码: cpp // Create 阅读全文
posted @ 2019-08-09 11:51 caoanda 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 前置技能: "前缀数组" 参考博客: "KMP算法(kuangbin)" cpp const int maxn=1e5; int Next[maxn]; / 求前缀数组 / / t[0]对应Next[1] / / Next[0]= 1 / void getNext(string t) { int i 阅读全文
posted @ 2019-08-09 00:29 caoanda 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 参考博客: "KMP算法(kuangbin)" 另讲得比较好的博客或网站: "前缀函数与 KMP 算法" "KMP算法(研究总结,字符串)" cpp const int maxn=1e5; int Next[maxn]; / 求前缀数组 / / t[0]对应的Next数组值为Next[1] / / 阅读全文
posted @ 2019-08-09 00:06 caoanda 阅读(1065) 评论(0) 推荐(0) 编辑