2013年7月4日
摘要: 第一类 动态规划 (至少6题,2479 and 2593必做)2479 and 2593 1015 1042 (也可贪心) 1141 1050 1080 1221 1260 2411 (稍难) 1276第二类 搜索 (至少4题)1011 1033 1129 2049 2056 2488 2492 (稍难,也可并查集)第三类 贪心 (至少2题)1065 2054 (难) 1521 2709第四类 最短路 (至少3题)1062 1125 1797 2253 2679 Bellman-Ford (难)第五类 最小生成树 (至少2题, 而且 Prim 和 Kruskal 至少各用一次)1251 125 阅读全文
posted @ 2013-07-04 15:04 wwjyt 阅读(160) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-07-04 14:25 wwjyt 阅读(108) 评论(0) 推荐(0)
摘要: 可直接看出:4行 5列 起点到终点步数为7(从0开始)转化:转为只能往 → 与 ↓ 走的DFS易错:dfs到下一个点,注意是判断 r+1 #define ROW 5#define COL 4int count = 0;void dfs(int r, int c, int n){ if(n == 7) { count++; return; } if(r+1 < ROW) dfs(r+1, c, n+1); if(c+1 < COL) dfs(r, c+1, n+1); }int main(... 阅读全文
posted @ 2013-07-04 12:19 wwjyt 阅读(178) 评论(0) 推荐(0)
  2013年7月3日
摘要: 1.细节还是挺重要的,m n一定别写错2.用INF标记未访问的点的方法 确实不错3.如题:有重叠子问题的搜索,都可以转为记忆化搜索#include #include #include #include #define INF 0#define MAX 110using namespace std;int input[MAX][MAX];int dp[MAX][MAX];int m, n;int max(int a, int b){ return a>b?a:b;}int d(int i , int j){ if(dp[i][j] != INF) return dp[i... 阅读全文
posted @ 2013-07-03 16:01 wwjyt 阅读(228) 评论(0) 推荐(0)
摘要: 在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。 那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编译器对64位整数的扩展有所不同。基于ACM的需要,下面仅介绍VC6.0与g++编译器的扩展。 VCVC6.0的64位整数分别叫做__int64与unsigned __int64,其范围分别是[-2^63, 2^.. 阅读全文
posted @ 2013-07-03 11:42 wwjyt 阅读(686) 评论(0) 推荐(0)
摘要: rt 阅读全文
posted @ 2013-07-03 09:29 wwjyt 阅读(190) 评论(0) 推荐(0)
摘要: #include #include #include #include #include using namespace std;vector v;vector::iterator it;vector::iterator te;int main(){ int N; freopen("1.txt", "r", stdin); while(scanf("%d", &N) == 1) { v.clear(); for(int i = 0 ; i < N ; i++) { int temp; ... 阅读全文
posted @ 2013-07-03 00:32 wwjyt 阅读(190) 评论(0) 推荐(0)
  2013年7月2日
摘要: 比较值得说的是 如果脑子里确实有很明确的递推图(注意是图,根据递推式演变来的二维矩阵(也许三维),或者一维的"类"有向图)那么递推写起来快得多。否则还是记忆化搜索保险。1.但是跟所有动规问题类似,务必注意边界,建议把第一条横边(i = 0 0int input[1010][1010];int map[1010][1010];int min(int a, int b){ return a<b?a:b;}int main(){ int N; int i, j; while(scanf("%d", &N) == 1) { for(i = 0; i 阅读全文
posted @ 2013-07-02 23:54 wwjyt 阅读(242) 评论(0) 推荐(0)
摘要: rt 阅读全文
posted @ 2013-07-02 23:16 wwjyt 阅读(218) 评论(0) 推荐(0)
摘要: right firstleft lastcount averagehalfinfolenStr 阅读全文
posted @ 2013-07-02 23:12 wwjyt 阅读(181) 评论(0) 推荐(0)