《算法竞赛入门经典(第2版)》——学习记录

前言:
  这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂。此外,本书甚至是本书之外的相关知识学习也可能在此留下记录。
  作为一只小白,看待问题就是新手角度,如果发现什么幼稚的代码或语句,不妨一笑了之,但是最好还是委婉地提醒一下我吧。
  不太懂怎么分类,我就根据章节标题以及代码重点来分类了。
  本书全题链接:https://vjudge.net/article/45

第三章 数组和字符串

书中编号题目编号标题分类备注
例题3-1UVA272Tex Quotes字符串水题
例题3-2UVA10082WERTYU字符串常量数组
例题3-3UVA401Palindromes字符串水题,映射
例题3-4UVA340Master-Mind Hints数组思维,英语
例题3-5UVA1583Digit Generator数组打表
例题3-6UVA1584Circular Sequence字符串水题,取模
习题3-1UVA1585Score字符串水题,照顾小白
习题3-2UVA1586Molar mass字符串水题
习题3-3UVA1225Digit Counting数组暴力
习题3-4UVA455Periodic Strings字符串取模,循环,水题
习题3-5UVA227Puzzle字符串,数组试错
习题3-6UVA232Crossword Answers字符串,数组水题
习题3-7UVA1368DNA Consensus String字符串水题
习题3-8UVA202Repeating Decimals数组思维
习题3-9UVA10340All in All字符串水题
习题3-10UVA1587Box 数组思维
习题3-11UVA1588Kickdown字符串水题
习题3-12UVA11809Floating-Point Numbers字符串,数组思维,数学

第四章 函数和递归

书中编号题目编号标题分类备注
例题4-1UVA1339Ancient Cipher函数思维
例题4-2UVA489Hangman Judge函数水题
例题4-3UVA133The Dole Queue函数水题,取模
例题4-4UVA213Message Decoding函数二进制
例题4-5UVA512Spreadsheet Tracking函数复杂模拟
例题4-6UVA12412A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)函数复杂模拟
习题4-1UVA1589Xiangqi函数复杂模拟
习题4-2UVA201Squares函数简单模拟
习题4-3UVA220Othello递归,函数复杂模拟
习题4-4UVA253Cube painting函数思维
习题4-5UVA1590IP Networks函数二进制
习题4-6UVA508Morse Mismatches函数阅读理解,中级模拟
习题4-7UVA509RAID!函数阅读理解,中级模拟
习题4-8UVA12108Extraordinarily Tired Students函数简单模拟
习题4-9UVA1591Data Mining函数阅读理解
习题4-10UVA815Flooded!函数思维

第五章 C++与STL入门

书中编号题目编号标题分类备注
例题5-1UVA10474Where is the Marble?<algorithm>排序和查找
例题5-2UVA101The Blocks Problem<vector>vector的使用
例题5-3UVA10815Andy’s First Dictionary<set>set的使用
例题5-4UVA156Ananagrams<map>map的应用
例题5-5UVA12096The SetStack Computer<stack>stack与STL其他容器的综合运用
例题5-6UVA540Team Queue<queue>queue与STL其他容器的综合运用
例题5-7UVA136Ugly Numbers<priority_queue>priority_queue的使用
例题5-8UVA400Unix ls<string>排序和字符串处理
例题5-9UVA1592Alignment of Code<map>map的妙用
例题5-10UVA207PGA Tour Prize Money耐力排序和其他细节处理
例题5-11UVA814The Letter Carrier’s RoundsSTL综合字符串以及STL容器的综合运用
例题5-12UVA221Urban Elevations<algorithm>离散化
习题5-1UVA1593Alignment of Code<string>水题
习题5-2UVA1594Ducci Sequence<vector>水题
习题5-3UVA10935Throwing cards away I<vector>水题
习题5-4UVA10763Foreign Exchange<map>水题
习题5-5UVA10391Compound Words<string>水题
习题5-6UVA1595Symmetry<map>水题
习题5-7UVA12100Printer Queue<vector>水题
习题5-8UVA230BorrowersSTL综合中级模拟
习题5-9UVA1596Bug HuntSTL综合中级模拟
习题5-10UVA1597Searching theWebSTL综合中级模拟
习题5-11UVA12504Updating a DictionarySTL综合水题
习题5-12UVA511Do You Know The Way to San Jose?STL综合复杂模拟
习题5-13UVA822Queue and ASTL综合复杂模拟,阅读理解
习题5-14UVA1598ExchangeSTL综合复杂模拟,阅读理解
习题5-15UVA12333Revenge of FibonacciSTL综合大整数类,缩小范围
习题5-16UVA212Use of Hospital Facilities<algorithm>中级模拟,输出格式

第六章 数据结构基础

书中编号题目编号标题分类备注
例题6-1UVA210Concurrency Simulator队列双端队列的应用
例题6-2UVA514Rails水题
例题6-3UVA442Matrix Chain Multiplication水题
例题6-4UVA11988Broken Keyboard(a.k.a. Beiju Text)链表链表的数组实现
例题6-5UVA12657Boxes in aline链表双向循环链表
例题6-6UVA679Dropping Balls完全二叉树编号
例题6-7UVA122Trees on the level二叉树的动态创建与BFS
例题6-8UVA548TreeDFS
例题6-9UVA839Not so Moblie思维
例题6-10UVA699The Falling Leaves水题、DFS
例题6-11UVA297Quadtrees巧妙理解题意、DFS
例题6-12UVA572Oil Deposits水题、DFS
例题6-13UVA1103Ancient Messages思维
例题6-14UVA816Abbott’s Revenge图的最短路(BFS)
例题6-15UVA10305Ordering Tasks拓扑排序
例题6-16UVA10129Play On Words欧拉路
例题6-17UVA10562Undraw the Trees多叉树的DFS
例题6-18UVA12171Sculpture理解离散化;floodfill
例题6-19UVA1572Self-Assembly有向环图
例题6-20UVA1599Ideal PathBFS,逆搜索
例题6-21UVA506System Dependencies中级模拟,拓扑序
例题6-22UVA11853Paintball对偶图,BFS
习题6-1UVA673Parentheses Balence水题
习题6-2UVA712S-Trees水题
习题6-3UVA536Tree Recovery水题
习题6-4UVA439Knight Moves简单BFS
习题6-5UVA1600Patrol Robot水题
习题6-6UVA12166Equilibrium Mobile二叉树,思维技巧
习题6-7UVA804Petri Net Simulation杂题模拟,水题
习题6-8UVA806Spatial Structures四分树DFS,水题
习题6-9UVA127"Accordian"Patience链表vector模拟链表
习题6-10UVA24610-20-30队列vector模拟双端队列
习题6-11UVA10410Tree Reconstruction加深理解DFS和BFS, 思维
习题6-12UVA810A Dicey Promble思维,DFS
习题6-13UVA215Spreadsheet Calculator杂题模拟,水题
习题6-14UVA12118Inspector’s Dilemma欧拉路

第七章 暴力求解法

书中编号题目编号标题分类备注
例题7-1UVA725Division暴力枚举选择合适的枚举对象
例题7-2UVA11059Maximum Product暴力枚举枚举连续子序列
例题7-3UVA10976Fractions Again?!暴力枚举缩小枚举范围
例题7-4UVA524Prime Ring Problem回溯法回溯法和生成-测试法的比较
例题7-5UVA129Krypton Factor回溯法隐性回溯,字符串
例题7-6UVA140Bandwidth回溯法最优剪枝
例题7-7UVA1354Mobile Computing二进制法枚举二叉树,好题
例题7-8UVA10603Fill优先队列状态图,Dijkstra算法
例题7-9UVA1601The Morning after Halloween技巧优化双向广搜,经典题
例题7-10UVA11212Editing a Book迭代剪枝IDA*算法
例题7-11UVA12325Zombie‘s Treasure Chest分类枚举两种枚举法,好题
例题7-12UVA1343The Rotation Game迭代剪枝IDA*算法,模拟
例题7-13UVA1374Power Calculus迭代搜索打表,IDA*算法
例题7-14UVA1602Lattice Animals数据结构,好题生成n连块,考验思维,打表
例题7-15UVA1603Square Destyoyer迭代剪枝IDA*,思维技巧
习题 7-1UVA208Firetruck回溯法DFS
习题7-2UVA225Golygons回溯法注意细节,DFS
习题7-3UVA211The Domino Effect回溯法水题,注意格式
习题7-4UVA818Cuting Chains迭代搜索IDDFS
习题7-5UVA690Pipeline Scheduling二进制法,好题剪枝优化,二进制优化
习题7-6UVA12113Overlapping Squares暴力枚举模拟,简单
习题7-7UVA12558Eg[y]ptian Fractions(HARD version)迭代剪枝IDA*,注意细节
习题7-8UVA12107Digit Puzzle迭代剪枝IDA*,细节
习题7-9UVA160Cubic Eight-Puzzle迭代剪枝IDA*,模拟
习题7-10UVA11214Guarding the Chessboard迭代搜索IDDFS
习题7-11UVA12569Planning mobile robot on Tree(EASY Version)状态压缩BFS,技巧判重
习题7-12UVA1533Moving Pegs状态压缩模拟,BFS水题
习题7-13UVA817According to Bartjens迭代搜索IDDFS
习题7-14UVA307Sticks迭代剪枝好题,IDDFS
习题7-15UVA11882Biggest Number迭代剪枝A*算法
习题7-16UVA11846Finding Seats Again回溯法模拟,水题
习题7-17UVA11694Gokigen Naname回溯法细节,强剪枝,好题
习题7-18UVA10384The Wall Pusher迭代搜索IDDFS

第八章 高效算法设计

书中编号题目编号标题分类备注
例题8-1UVA120Stacks of Flapjacks构造法简单模拟
例题8-2UVA1605Building for UN构造法简单思维题
例题8-3UVA11524 Values Whose Sum is Zero二分法中途相遇法
例题8-4UVA11134Fabled Rook贪心法问题分解
例题8-5UVA11054Wine trading in Gergovia贪心法思维推理
例题8-6UVA1606Amphiphilic Carbon Molecules扫描法极角扫描法
例题8-7UVA11572Unique snowflakes滑动窗口双指针
例题8-8UVA1471Defense Lines数据结构使用数据结构加速算法
例题8-9UVA1451Average数形结合类似凸包
例题8-10UVA714Copying Books二分法二分找上限,贪心求答案
例题8-11UVA10954Add All贪心法哈夫曼树思想
例题8-12UVA12627Erratic Expansion公式推理前缀和,递归
例题8-13UVA11093Just Finish it up贪心法简单思维题
例题8-14UVA1607Gates二分法二进制,思维
例题8-15UVA12174Shuffle滑动窗口思维,细节
例题8-16UVA1608Non-boring sequences分治法中途相遇法的思路
例题8-17UVA1609Foul Play构造法思维题
例题8-18UVA1442Cave扫描法找规律
例题8-19UVA12265Selling Land扫描法状态组织;单调栈
习题8-1UVA1149Bin Packing贪心法水题
习题8-2UVA1610Party Games贪心法注意字母范围
习题8-3UVA12545Bits Equalizer贪心法简单思维题
习题8-4UVA11491Erasing and Winning贪心法简单思维题
习题8-5UVA177Paper Folding构造法思维推理,模拟
习题8-6UVA1611Crane构造法中级思维题
习题8-7UVA11925Generating Permutations构造法思维题
习题8-8UVA1612Guess贪心法细节题
习题8-9UVA1613K-Graph Oddity贪心法简单思维题
习题8-10UVA1614Hell on the Markets数学结论思维,证明
习题8-11UVA1615Highway贪心法区间重合覆盖
习题8-13UVA10570Meeting with Aliens枚举法剪枝
习题8-12UVA1153Keep the Customer Satisfied贪心法不重叠区间变形
习题8-14UVA1616Caravan Robbers二分法精度问题,技巧
习题8-15UVA1617Laptop贪心法区间相关问题
习题8-16UVA1618Weak Key数据结构ST表
习题8-17UVA11536Smallest Sub-Array滑动窗口尺取法,简单题
习题8-18UVA1619Feel Good扫描法状态传递,细节
习题8-19UVA1312Cricket Field思维技巧巧妙枚举
习题8-20UVA1620Lazy Susan结论推导数学思维
习题8-21UVA1621Jumping Around构造法思维题
习题8-22UVA1622Robot构造法思维题
习题8-23UVA1623Enter the Dragon贪心法数据结构
习题8-24UVA10366Faucet Flow贪心法模拟,细节
习题8-25UVA11175From D to E and back思维题简单水题
习题8-26UVA12559Finding [B]lack Circles思维题简单水题
习题8-27UVA1580Pirate Chest思维题技巧枚举
习题8-28UVA1624Knots思维题好题,模拟
  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
算法竞赛入门经典问题是指在算法竞赛中常见的一些问题,这些问题通常涉及算法和数据结构的基本知识。在解决这些问题时,需要注意一些提示和技巧。例如,在算法竞赛中,不应该在输入前打印提示信息,并且在输出完毕后应立即终止程序。此外,应该避免使用头文件conio.h中的函数,如getch()和clrscr()。在输出时,每行的行首不应有空格,每两个数或字符串之间应以单个空格隔开,并以回车符结束。逻辑运算符在C语言中是短路运算符,一旦能够确定整个表达式的值,就不再继续计算。在处理多个并列、情况不交叉的条件时,可以使用else if语句。在编程过程中,适当添加注释可以帮助他人更快地理解程序,并帮助自己整理思路。此外,可以使用花括号将若干条语句整合成一个整体。在学习编程时,应该尽量在计算机旁阅读书本,并将书中的程序输入到计算机中进行调试,并进行上机练习。重要的是要练习,而不仅仅是看和听。通过实践,可以更好地掌握编程技巧和知识。 #### 引用[.reference_title] - *1* *2* *3* [《算法竞赛入门经典》——刘汝佳](https://blog.csdn.net/qq_54053990/article/details/119293984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JILIN.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值