ACM题目及测试数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM题目及测试数据相关的知识,希望对你有一定的参考价值。

最近在搞院里的OJ,需要一些题目和测试数据,谁有的请传给我,谢谢
或者提供个下载地址也行
QQ444090702,或Email:binbingoodboy@163.com
谢谢

这两个网站超好,练习练习。。。

http://acm.zju.edu.cn/

http://acm.pku.edu.cn/JudgeOnline/

会自动跟你测的

还有就是:
推荐一些题目,希望对参与ICPC竞赛的同学有所帮助。

POJ上一些题目在
http://162.105.81.202/course/problemSolving/
可以找到解题报告。
《算法艺术与信息学竞赛》的习题提示在网上可搜到

一.动态规划
参考资料:
刘汝佳《算法艺术与信息学竞赛》
《算法导论》

推荐题目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1141
简单

http://acm.pku.edu.cn/JudgeOnline/problem?id=2288
中等,经典TSP问题

http://acm.pku.edu.cn/JudgeOnline/problem?id=2411
中等,状态压缩DP

http://acm.pku.edu.cn/JudgeOnline/problem?id=1112
中等

http://acm.pku.edu.cn/JudgeOnline/problem?id=1848
中等,树形DP。
可参考《算法艺术与信息学竞赛》动态规划一节的树状模型

http://acm.zju.edu.cn/show_problem.php?pid=1234
中等,《算法艺术与信息学竞赛》中的习题

http://acm.pku.edu.cn/JudgeOnline/problem?id=1947
中等,《算法艺术与信息学竞赛》中的习题

http://acm.pku.edu.cn/JudgeOnline/problem?id=1946
中等,《算法艺术与信息学竞赛》中的习题

http://acm.pku.edu.cn/JudgeOnline/problem?id=1737
中等,递推

http://acm.pku.edu.cn/JudgeOnline/problem?id=1821
中等,需要减少冗余计算

http://acm.zju.edu.cn/show_problem.php?pid=2561
中等,四边形不等式的简单应用

http://acm.pku.edu.cn/JudgeOnline/problem?id=1038
较难,状态压缩DP,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1390
较难,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3017
较难,需要配合数据结构优化(我的题目^_^)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1682
较难,写起来比较麻烦

http://acm.pku.edu.cn/JudgeOnline/problem?id=2047
较难

http://acm.pku.edu.cn/JudgeOnline/problem?id=2152
难,树形DP

http://acm.pku.edu.cn/JudgeOnline/problem?id=3028
难,状态压缩DP,题目很有意思

http://acm.pku.edu.cn/JudgeOnline/problem?id=3124


http://acm.pku.edu.cn/JudgeOnline/problem?id=2915
非常难

二.搜索
参考资料:
刘汝佳《算法艺术与信息学竞赛》
推荐题目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1011
简单,深搜入门题

http://acm.pku.edu.cn/JudgeOnline/problem?id=1324
中等,广搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=2044
中等,广搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=2286
较难,广搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=1945
难,IDA*,迭代加深搜索,需要较好的启发函数

http://acm.pku.edu.cn/JudgeOnline/problem?id=2449
难,可重复K最短路,A*。
可参考解题报告:
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144

http://acm.pku.edu.cn/JudgeOnline/problem?id=1190
难,深搜剪枝,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1084
难,《算法艺术与信息学竞赛》习题

http://acm.pku.edu.cn/JudgeOnline/problem?id=2989
难,深搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=1167
较难,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1069
很难

三. 常用数据结构
参考资料:
刘汝佳《算法艺术与信息学竞赛》
《算法导论》
线段树资料:
http://home.ustc.edu.cn/~zhuhcheng/ACM/segment_tree.pdf
树状数组资料
http://home.ustc.edu.cn/~zhuhcheng/ACM/tree.ppt
关于线段树和树状数组更多相关内容可在网上搜到
后缀数组资料
http://home.ustc.edu.cn/~zhuhcheng/ACM/suffix_array.pdf
http://home.ustc.edu.cn/~zhuhcheng/ACM/linear_suffix.pdf

推荐题目
http://acm.pku.edu.cn/JudgeOnline/problem?id=2482
较难,线段树应用,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1151
简单,线段树应用矩形面积并,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3225
较难,线段树应用,可参考解题报告
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1233

http://acm.pku.edu.cn/JudgeOnline/problem?id=2155
难,二维树状数组。

http://acm.pku.edu.cn/JudgeOnline/problem?id=2777
中等,线段树应用。

http://acm.pku.edu.cn/JudgeOnline/problem?id=2274
难,堆的应用,《算法艺术与信息学竞赛》中有解答

http://acm.zju.edu.cn/show_problem.php?pid=2334
中等,左偏树,二项式堆或其他可合并堆的应用。
左偏树参考http://www.nist.gov/dads/html/leftisttree.html
二项式堆参见《算法导论》相关章节

http://acm.pku.edu.cn/JudgeOnline/problem?id=1182
中等,并查集

http://acm.pku.edu.cn/JudgeOnline/problem?id=1816
中等,字典树

http://acm.pku.edu.cn/JudgeOnline/problem?id=2778
较难,多串匹配树
参考:http://home.ustc.edu.cn/~zhuhcheng/ACM/zzy2004.pdf

http://acm.pku.edu.cn/JudgeOnline/problem?id=1743
难,后缀数组

http://acm.pku.edu.cn/JudgeOnline/problem?id=2774
较难,最长公共子串,经典问题,后缀数组

http://acm.pku.edu.cn/JudgeOnline/problem?id=2758
很难,后缀数组
可参考解题报告
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1178

http://acm.pku.edu.cn/JudgeOnline/problem?id=2448
很难,数据结构综合运用

四.图论基础
参考资料:
刘汝佳《算法艺术与信息学竞赛》
《算法导论》
《网络算法与复杂性理论》谢政

推荐题目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=2337
简单,欧拉路

http://acm.pku.edu.cn/JudgeOnline/problem?id=3177
中等,无向图割边

http://acm.pku.edu.cn/JudgeOnline/problem?id=2942
较难,无向图双连通分支

http://acm.pku.edu.cn/JudgeOnline/problem?id=1639
中等,最小度限制生成树,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=2728
中等,最小比率生成树,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3013
简单,最短路问题

http://acm.pku.edu.cn/JudgeOnline/problem?id=1275
中等,差分约束系统,Bellman-Ford求解,《算法艺术与信息学竞赛》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1252
简单,Bellman-Ford

http://acm.pku.edu.cn/JudgeOnline/problem?id=1459
中等,网络流

http://acm.pku.edu.cn/JudgeOnline/problem?id=2391
较难,网络流

http://acm.pku.edu.cn/JudgeOnline/problem?id=1325
中等,二部图最大匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=2226
较难,二部图最大匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=2195
中等,二部图最大权匹配
KM算法参考《网络算法与复杂性理论》

http://acm.pku.edu.cn/JudgeOnline/problem?id=2516
较难,二部图最大权匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=1986
中等,LCA(最近公共祖先)问题
参考Tarjan's LCA algorithm 《算法导论》第21章习题

http://acm.pku.edu.cn/JudgeOnline/problem?id=2723
较难,2-SAT问题
参考:http://home.ustc.edu.cn/~zhuhcheng/ACM/2-SAT.PPT

http://acm.pku.edu.cn/JudgeOnline/problem?id=2749
较难,2-SAT问题

http://acm.pku.edu.cn/JudgeOnline/problem?id=3164
较难,最小树形图
参考《网络算法与复杂性理论》中朱-刘算法

五.数论及组合计数基础
http://acm.pku.edu.cn/JudgeOnline/problem?id=1811
简单,素数判定,大数分解
参考算法导论相关章节

http://acm.pku.edu.cn/JudgeOnline/problem?id=2888
较难,Burnside引理

http://acm.pku.edu.cn/JudgeOnline/problem?id=2891
中等,解模方程组

http://acm.pku.edu.cn/JudgeOnline/problem?id=2154
中等,经典问题,波利亚定理

http://cs.scu.edu.cn/soj/problem.action?id=2703
难,极好的题目,Burnside引理+模线性方程组

http://acm.pku.edu.cn/JudgeOnline/problem?id=2764
较难,需要数学方法,该方法在《具体数学》第七章有讲

http://acm.pku.edu.cn/JudgeOnline/problem?id=1977
简单,矩阵快速乘法
参考技术A 你去找历年的各个地方的contest,一般contest结束后官方都会发布测试数据的。。。。。
去北大OJ看看,每道题目的下面都有SOURCE,像East Central North America 1999
google一下就可以搜索到了,baidu是不行的.....
参考技术B 要不要答案??
不要的话可以上北大或者浙大,最好的ACM站!
http://acm.zju.edu.cn/
http://acm.pku.edu.cn/JudgeOnline/
参考技术C 你上各大OJ就可以了呀 参考技术D 哎……200分,居然就我一个回答。
可惜我也没有,帮不上了……
把分给我吧

ACM题目————STL练习之众数问题

描述

所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,

多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。

现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。

输入
第一行为n,表示测试数据组数。(n<30)
每组测试的第一行是一个整数m,表示多重集S中元素的个数为m
接下来的一行中给出m(m<100)个不大于10万的自然数
(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。
输出
每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
样例输入
1
6
1 2 2 2 3 5
样例输出
    2 3
这些题其实很简单,不用STL也能AC,但可以作为STL的入门题,练练手^_^
//Asimple
#include<iostream>
#include<cmath>
#include<map>
#include<algorithm>

using namespace std;
int T, n, num;

bool mycmp(const pair<int,int> p1, const pair<int,int> p2)
{
    return p1.second < p2.second ;
}

int main()
{
    cin >> T;
    while( T-- )
    {
        map<int,int> m;
        cin >> n;
        while( n-- )
        {
            cin >> num ;
            m[num] ++ ;
        }
        map<int,int>::iterator i=max_element(m.begin(), m.end(),mycmp);
        cout << i->first << " " << i->second << endl ;
    }

    return 0;
}

 

特别介绍下 max_element  介个函数。

max_element(m.begin(), m.end());

这个函数返回 m 的最大值,  这个m 可以使是向量,string,list,set,map等等,但是对于map来说,要写一个比较函数,注明比较的是第一个值的大小还是第二个值大小,本题中,就是返回第二个值最大的元素。同理 就有min_element。也一样。O(∩_∩)O

以上是关于ACM题目及测试数据的主要内容,如果未能解决你的问题,请参考以下文章

ACM_递推题目系列之一涂色问题

poj上面题目的测试数据哪里找啊??

ACM题目————STL练习之众数问题

ACM题目————二叉树的遍历

acm 2018 java

杭电ACM2020--绝对值排序