保研重点模板题

机试带有输入输出,下面标红色的需要练习打代码,其他看一眼就行

!!!做每题之前都要想一下这道题为什么会想到用这种方法!!!

一、图论

最短路径:leetcode743(djkstra)、399(floyd);poj1847、1062(djkstra)、2240(floyd、bellman)、3259(bellman)

拓扑排序:leetcode210(模板题)、310;poj1094(模板题)、2585(进阶应用)

二分图:leetcode785(判断是否是二分图);poj3041、3020(最大匹配的应用)

最小生成树:poj2485(模板题)、1789

二、动态规划

!!!将问题的求解转化为子问题的求解,比如dp[i]可以由dp[i-1]或者dp[i-2]之类的求得!!!

背包问题:leetcode322(完全);poj3624(经典01)、1837(多重)、1276(多

重)、2063(完全)、1384(完全)

数字三角形:poj3176

二进制:leetcode338

括号匹配:leetcode32

树形动规:leetcode96337poj1463

爬楼梯类型(第i步的结果与前几步有关):leetcode746、70、91639

最大连续子序列和:leetcode53、152;最大跳跃子序列的和:leetcode740213连续子序列的和:leetcode303

LIS(最长上升子序列):leetcode646、673;poj1836

LCS(最长公共子序列):poj1080、1159;leetcode583、712(这种题要注意字符串是从下标0还是1储存的)

字符串匹配:leetcode72、10poj3267

走二维地图:leetcode63、97、174

回文串:leetcode5、647、516poj3280、1159(这道也属于LCS)

二维dp:leetcode304

三、搜索

二分搜索:leetcode81、69、50、4

bfs:leetcode111;poj3126、2251

回溯法:leetcode47、77、90、39、40、51、79、93、17、22、491poj1321

dfs:leetcode111、995019510898105106(这七道二叉搜索树一般不是跟dfs有关就是跟中序遍历有关)200、329、37、(87、802);poj3620、2488、300925312676、(3140)

四、数据结构

数组:leetcode41、54、238

排序:leetcode56、349;poj2299、2388

数字:leetcode7、9

双指针:leetcode75、88、1、15、18、42、713

链表:leetcode2、19、23、24、25、61、82、92、86

字符串:leetcode557、14、8、38、30、(68、76);poj3080、1035

并查集:leetcode684、721、130(bfs也挺好)

哈希表:leetcode771、3、36、49、697336;poj1840、(1186)、2503

set:leetcode500、720

栈:leetcode332、20、71、84、85

huffman树:poj1862

出入度:leetcode732

树状数组:leetcode307、493;hdu1166;poj2299(逆序对)、2352(星星等级)、1195(二维数组)

线段树:leetcode307;poj2828、2750

五、贪心法

leetcode55、45、630、122

poj1700、1862、2393、1017、2287

最小生成树+最短路径

七、其他题型

遍历一次:leetcode121(单次股票收益)、123(两次股票收益)、334(LIS)

你可能感兴趣的:(保研重点模板题)