ACM基本算法分类、推荐学习资料和配套pku习题

2023-12-05 23:58

本文主要是介绍ACM基本算法分类、推荐学习资料和配套pku习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.动态规划

参考资料:

刘汝佳《算法艺术与信息学竞赛》《算法导论》

推荐题目:

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

简单,矩阵快速乘法

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/milan_2008/archive/2008/09/14/2906044.aspx

这篇关于ACM基本算法分类、推荐学习资料和配套pku习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459637

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.