摘要: 1 /* 2 差分约束系统可以做 3 4 dijkstra+ priority_queue 600+ms 5 */ 6 7 // include file 8 #include <cstdio> 9 #include <cstdlib> 10 #include <cstring> 11 #include <cmath> 12 #include <cctype> 13 #include <ctime> 14 15 #include <iostream> 16 #include <sstream> 17 阅读全文
posted @ 2011-03-10 23:53 AC2012 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 差分约束系统可以做 3 4 映射二叉堆 5 6 用 堆优化的bellman_ford.594ms 7 8 */ 9 10 // include file 11 #include <cstdio> 12 #include <cstdlib> 13 #include <cstring> 14 #include <cmath> 15 #include <cctype> 16 #include <ctime> 17 18 #include <iostream> 19 #include <sstrea 阅读全文
posted @ 2011-03-10 22:47 AC2012 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 这题真没意思,太水了。枚举就可以,我还想了二分的思想 3 */ 4 5 // include file 6 #include <cstdio> 7 #include <cstdlib> 8 #include <cstring> 9 #include <cmath> 10 #include <cctype> 11 #include <ctime> 12 13 #include <iostream> 14 #include <sstream> 15 #include <fstream 阅读全文
posted @ 2011-03-10 19:57 AC2012 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 动态规划,容易的。 3 4 0ms是怎么来的??? 5 */ 6 // include file 7 #include <cstdio> 8 #include <cstdlib> 9 #include <cstring> 10 #include <cmath> 11 #include <cctype> 12 #include <ctime> 13 14 #include <iostream> 15 #include <sstream> 16 #include <fstream&g 阅读全文
posted @ 2011-03-10 19:19 AC2012 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 动态规划 3 4 这个题目我用了两个角度来考虑 5 6 起初的想法就是,f[i]表示到达i位置时,可匹配的最大字符数目 7 8 f[i] = max(f[i],f[x-len[word]]+len[word]); 9 也就是说,如果找到了一个word可以匹配,那么就是上面的状态方程了 10 最后的答案就是L-f[L]; 11 12 然后看到大多人都是f[i]表示到达i可删除的最小字符数目 13 14 f[i] = min(f[i],f[x-len[word]]+i-is-len[word]); 15 is是word匹配的第一个字符的位置 16 然后最后的答案就是f[L] 17 . 阅读全文
posted @ 2011-03-10 14:48 AC2012 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 数学题 3 */ 4 5 // include file 6 #include <cstdio> 7 #include <cstdlib> 8 #include <cstring> 9 #include <cmath> 10 #include <cctype> 11 #include <ctime> 12 13 #include <iostream> 14 #include <sstream> 15 #include <fstream> 16 #include <io 阅读全文
posted @ 2011-03-10 11:35 AC2012 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 求阶乘N! 质数分解后2的幂是多少 3 4 快速的解法是 N/2 + N/4 + .... 5 6 数论好题,特别对于对这个不是很清楚的时候,收益很大 7 */ 8 9 // include file 10 #include <cstdio> 11 #include <cstdlib> 12 #include <cstring> 13 #include <cmath> 14 #include <cctype> 15 #include <ctime> 16 17 #include <iostream> 阅读全文
posted @ 2011-03-10 10:36 AC2012 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 此题居然可以用二分来做,首先二分出答案。 3 4 然后判断答案是否合理,问题在于给出一个答案的时候,如何判断合理性 5 6 分析:假如X是答案,既然是答案,那么就把它当成最终的答案,这个可以理解吧。现在对于N个花费,从第一天开始算起 7 算连续几天的和直到大于X为止,然后在从这个截止的天开始从新算,如此类推,因为是答案所以可以这么计算,最后看能算出几个月来,如果 8 在要求的月数之内,那么就符合要求。最后找出最大的答案就是了 9 10 好题 11 */ 12 13 // include file 14 #include <cstdio> 15 #include < 阅读全文
posted @ 2011-03-10 09:42 AC2012 阅读(604) 评论(0) 推荐(0) 编辑