资源简介
《算法竞赛入门经典——训练指南》代码仓库
例题代码
限于篇幅,书上并没有给出所有例题的代码,这里给出了所有例题的代码,并且改进了书上的一些代码。
第一章 32题 38份代码
第二章 28题 30份代码
第三章 22题 23份代码
第四章 19题 21份代码
第五章 34题 39份代码
第六章 24题 26份代码
共159题 177份代码
为了最大限度保证代码风格的一致性,所有例题代码均由刘汝佳用C++语言编写。
所有代码均通过了UVa/La的测试,但不能保证程序是正确的(比如数据可能不够强),有疑问请致信rujia.liu@gmail.com,或在googlecode中提出:
http://code.google.com/p/aoapc-book/
[最新更新]
2013-04-23
增加字符串中例题10(UVa11992 Fast Matrix Operations)的另一个版本的程序,执行效率较低,但更具一般性,可读性也更好
2013-04-22
增加字符串部分“简易搜索引擎”代码,可提交到UVa10679
2013-04-13
修正Treap中优先级比较的bug(原来的代码实际上是在比较指针的大小!),加入纯名次树代码
2013-03-31
修正UVa1549标程的bug,即buf数组不够大。
增加线段树部分“动态范围最小值”的完整代码
2013-03-23
修正UVa10054标程的bug,即没有判断是否每个点的度数均为偶数。UVa数据已经更新
LA3401修正了代码和文字不一致的问题
UVa11270增加了答案缓存
2013-03-21
增加线段树部分中两个经典问题的完整代码:快速序列操作I和快速序列操作II
2013-02-28
补全所有159道例题的代码
代码片段和文件信息
// LA2678 Subsequence O(n) version
// Rujia Liu
#include
#include
using namespace std;
const int maxn = 100000 + 10;
int A[maxn] B[maxn];
int main() {
int n S;
while(scanf(“%d%d“ &n &S) == 2 && n) {
for(int i = 1; i <= n; i++) scanf(“%d“ &A[i]);
B[0] = 0;
for(int i = 1; i <= n; i++) B[i] = B[i-1] + A[i];
int ans = n+1;
int i = 1;
for(int j = 1; j <= n; j++) {
if(B[i-1] > B[j]-S) continue; // (1)没有满足条件的i,换下一个j
while(B[i] <= B[j]-S) i++; // (2)求满足B[i-1]<=B[j]-S的最大i
ans = min(ans j-i+1);
}
printf(“%d\n“ ans == n+1 ? 0 : ans);
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-09 19:49 bookcodes\
目录 0 2019-04-09 19:49 bookcodes\ch1\
文件 674 2013-02-28 13:16 bookcodes\ch1\la2678.cpp
文件 570 2013-02-28 13:16 bookcodes\ch1\la2678_n2.cpp
文件 564 2013-02-28 13:16 bookcodes\ch1\la2678_n3.cpp
文件 579 2013-02-28 13:16 bookcodes\ch1\la2678_nlogn.cpp
文件 1297 2013-02-28 13:16 bookcodes\ch1\la2965.cpp
文件 1795 2013-02-28 13:16 bookcodes\ch1\la2995.cpp
文件 1260 2013-02-28 13:16 bookcodes\ch1\la3029.cpp
文件 1166 2013-02-28 13:12 bookcodes\ch1\la3177.cpp
文件 1984 2013-03-23 14:37 bookcodes\ch1\la3401.cpp
文件 981 2013-03-23 14:34 bookcodes\ch1\la3401_make.cpp
文件 733 2013-02-28 13:16 bookcodes\ch1\la3635.cpp
文件 1441 2013-02-28 13:16 bookcodes\ch1\la3695.cpp
文件 436 2013-02-28 13:16 bookcodes\ch1\la3708.cpp
文件 379 2013-02-28 13:16 bookcodes\ch1\la3882.cpp
文件 1532 2013-02-28 13:16 bookcodes\ch1\la3902.cpp
文件 1281 2013-02-28 13:16 bookcodes\ch1\la3905.cpp
文件 1290 2013-02-28 13:16 bookcodes\ch1\la3905_int.cpp
文件 1371 2013-02-28 13:16 bookcodes\ch1\la3971.cpp
文件 1116 2013-02-28 13:16 bookcodes\ch1\la3983.cpp
文件 1319 2013-02-28 13:16 bookcodes\ch1\la4794.cpp
文件 1548 2013-02-28 14:00 bookcodes\ch1\readme.txt
文件 981 2013-02-28 13:16 bookcodes\ch1\uva10635.cpp
文件 1450 2013-02-28 13:16 bookcodes\ch1\uva10755.cpp
文件 766 2013-02-28 13:16 bookcodes\ch1\uva10795.cpp
文件 1615 2013-02-28 13:16 bookcodes\ch1\uva10859.cpp
文件 1411 2013-02-28 13:16 bookcodes\ch1\uva10881.cpp
文件 967 2013-02-28 13:16 bookcodes\ch1\uva10891.cpp
文件 733 2013-02-28 13:16 bookcodes\ch1\uva10891_slow.cpp
文件 590 2013-02-28 13:16 bookcodes\ch1\uva11078.cpp
............此处省略171个文件信息
- 上一篇:C、C++函数速查手册 (chw版)
- 下一篇:C语言教程从入门到精通(含100例)
评论
共有 条评论