摘要: DescriptionIn the new ACM-ICPC Regional Contest, a special monitoring and submitting system will be set up, and students will be able to compete at their own universities. However there’s one problem. Due to the high cost of the new judging system, the organizing committee can only afford to set the 阅读全文
posted @ 2013-11-19 08:44 SangS 阅读(545) 评论(0) 推荐(0) 编辑
摘要: DescriptionThere is going to be a voting at FIPA (Fédération Internationale de Programmation Association) to determine the host of the next IPWC (International Programming World Cup). Benjamin Bennett, the delegation of Diamondland to FIPA, is trying to seek other delegation's support 阅读全文
posted @ 2013-11-18 11:06 SangS 阅读(723) 评论(0) 推荐(0) 编辑
摘要: DescriptionWe have received an order from Pizoor Communications Inc. for a special communication system. The system consists of several devices. For each device, we are free to choose from several manufacturers. Same devices from two manufacturers differ in their maximum bandwidths and prices.By ove 阅读全文
posted @ 2013-11-17 21:57 SangS 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目删掉链表倒数第n 个节点思路设置两个指针, cur1, cur2. 让cur2 先走n步, 然后cur1, cur2再同时往下走, 知道cur2达到链表末尾总结考虑边界情况, 当删除的是头结点时, cur2应该会越界, 通过判断cur2的位置返回head->next第一次提交时判断条件都设为了if(cur2) or if(!cur), 忘了c++中NULL和false是不一样的cur1->ne... 阅读全文
posted @ 2013-11-17 20:36 SangS 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 搜索 阅读全文
posted @ 2013-11-17 19:58 SangS 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题意给定几个字符串, 求解这几个字符串的公共前序思路最朴素的思路是一列一列的比较, 时间复杂度为 n*m, 其中n为字符串的个数, m为公共前序的长度每一列进行比较的时候, 可以使用分治法. 时间复杂度下降到 logn *m总结我最讨厌的便是分支语句. MergeSort 的分支有必要记一下, 当集合小于等于3时不再继续划分. 还要注意边际条件代码 1 #include 2 #include 3 #include 4 using namespace std; 5 class Solution { 6 public: 7 bool allEqual(vector &strs, in... 阅读全文
posted @ 2013-11-17 11:44 SangS 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题意将罗马字符串转化成对应的数字思路创建一个hash表, 记录每一个或两个罗马符号对应的数字的值对输入的罗马字符串进行匹配. 匹配的时候需要一步lookahead操作, 优先匹配长度为2的罗马符号总结unordered_map 不可使用map.find(string[i])操作, 因为string[i] 是一个 char. 正确的操作应当是 map.find(string.substr(2,1))map 的find操作返回map.end() 或者指向目标pair的指针, 可用 map.find(xx)->first/second 返回pair的值代码 1 #include 2 #incl 阅读全文
posted @ 2013-11-17 10:48 SangS 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 0/1 背包题目有 N 件物品和一个容量为 V 的背包. 第 i 种物品的的费用是 c[i], 价值是 w[i], 每种物品只有一件, 求解将哪些物品装入背包可使价值总和最大思路令 f[i][v] 表示前 i 件物品放到一个容量为 v 的背包可以获得的最大价值f[i][v] = max( f[i-1][v], f[i][v-c[i]]+w[i] )表示第i件物品不放或者放背包两种情况优化f[i][j] 是一个 N行V列的矩阵, 动态规划的过程就是一行一行的往矩阵里填值第i行仅调用第i-1行的值. 第i行的第v列调用第i-1行的第v1,v2列, 并且v1,v2max 优化for t = 0…Tf 阅读全文
posted @ 2013-11-15 21:32 SangS 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 1. LocalStorage a.LocalStorage 是一个大型的 cookies, 总容量 5MB b. 以键值对的方式存储, 继承了 js 的变量声明的随意性, 键值对直接挂在 LocalStorage 下. localStorage.lastname="Smith" c. 用 JS 来存储与访问数据 d. 数据存储在客户端, 一旦创建永久存在 e. 本身不带任何键值对, 是裸的? f. 键值对都是 string 的形式存储. 需要 parseInt 或者 简单的 JSON.parse 来获取真实的 value h. 可通过(!localStorage.key) 阅读全文
posted @ 2013-11-14 19:35 SangS 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题意1. 给定一棵树, 树上节点有 value, 节点之间 travel 有 cost. 给定起始节点和最大 cost, 求解最大 value思路1. 寻找最短路径 a. 题目描述中有两句话, "There is exactly one route between any two rooms", "Each of the next N-1 lines contains three integers" 说明给出的结构是一棵树 b. 假如给定的时间小于起终节点间的最短路径, 那么逃跑失败. 否则, 会有多余的时间跑到其他节点拿到更多的价值 c. 使用多余的时 阅读全文
posted @ 2013-11-13 11:19 SangS 阅读(251) 评论(0) 推荐(0) 编辑