跳转至
Kylin Knowledge
排序——希尔排序
Initializing search
Kylin Knowledge
Introduction
Programming Language
Data Structure and Algorithm
Operating System
DataBase
Linux Tools
Kylin Knowledge
Kylin Knowledge
Introduction
Programming Language
Programming Language
C++
C++
C++ 程序设计思想与方法
C++ Primer
Effective C++
STL源码剖析
深度探索C++对象模型
Data Structure and Algorithm
Data Structure and Algorithm
Introduction
LeetCode
LeetCode
1.Two Sum
2.Add Two Numbers
3.Longest Substring Without Repeating Characters
4.Median of Two Sorted Arrays
5.Longest Palindromic Substring
6.ZigZag Conversion
7.Reverse Integer
8.String to Integer (atoi)
9.Palindrome Number
11.Container With Most Water
12.Integer to Roman
13.Roman to Integer
14.Longest Common Prefix
15.3Sum
16.3Sum Closest
17.Letter Combinations of a Phone Number
18.4Sum
19.Remove Nth Node From End of List
20.Valid Parentheses
21.Merge Two Sorted Lists
22.Generate Parentheses
23.Merge k Sorted Lists
24.Swap Nodes in Pairs
25.Reverse Nodes in k-Group
26.Remove Duplicates from Sorted Array
27. Remove Element
28.Implement strStr()
29.Divide Two Integers
30.Substring with Concatenation of All Words
31.Next Permutation
33.Search in Rotated Sorted Array
34.Find First and Last Position of Element in Sorted Array
35.Search Insert Position
36.Valid Sudoku
38.Count and Say
39.Combination Sum
40.Combination Sum II
41.First Missing Positive
42.Trapping Rain Water
43.Multiply Strings
44.Wildcard Matching
45.Jump Game II
46.Permutations
47.Permutations II
48.Rotate Image
49.Group Anagrams
50.Pow(x, n)
51.N-Queens
54.Spiral Matrix
55.Jump Game
56.Merge Intervals
57.Insert Interval
58.Length of Last Word
59.Spiral Matrix II
60.Permutation Sequence
61.Rotate List
66.Plus One
69.Sqrt(x)
71.Simplify Path
73.Set Matrix Zeroes
74.Search a 2D Matrix
75.Sort Colors
76.Minimum Window Substring
79.Word Search
80. Remove Duplicates from Sorted Array II
81.Search in Rotated Sorted Array II
82.Remove Duplicates from Sorted List II
83.Remove Duplicates from Sorted List
84.Largest Rectangle in Histogram
85.Maximal Rectangle
86.Partition List
88.Merge Sorted Array
89.Gray Code
92.Reverse Linked List II
93.Restore IP Addresses
94.Binary Tree Inorder Traversal
95.Unique Binary Search Trees II
96.Unique Binary Search Trees
98.Validate Binary Search Tree
99.Recover Binary Search Tree
100.Same Tree
101.Symmetric Tree
102.Binary Tree Level Order Traversal
103.Binary Tree Zigzag Level Order Traversal
104.Maximum Depth of Binary Tree
105.Construct Binary Tree from Preorder and Inorder Traversal
106.Construct Binary Tree from Inorder and Postorder Traversal
107.Binary Tree Level Order Traversal II
108.Convert Sorted Array to Binary Search Tree
109.Convert Sorted List to Binary Search Tree
110.Balanced Binary Tree
111.Minimum Depth of Binary Tree
112.Path Sum
113.Path Sum II
114. Flatten Binary Tree to Linked List
116.Populating Next Right Pointers in Each Node
117.Populating Next Right Pointers in Each Node II
118.Pascal's Triangle
119.Pascal's Triangle II
120.Triangle
122.Best Time to Buy and Sell Stock II
124.Binary Tree Maximum Path Sum
126.Word Ladder II
127.Word Ladder
128.Longest Consecutive Sequence
129.Sum Root to Leaf Numbers
130.Surrounded Regions
131.Palindrome Partitioning
132.Palindrome Partitioning II
134.Gas Station
135.Candy
136.Single Number
137.Single Number II
138.Copy List with Random Pointer
140.Word Break II
141.Linked List Cycle
142.Linked List Cycle II
143.Reorder List
144.Binary Tree Preorder Traversal
145.Binary Tree Postorder Traversal
146.LRU Cache
148.Sort List
150.Evaluate Reverse Polish Notation
151.Reverse Words in a String
153.Find Minimum in Rotated Sorted Array
154.Find Minimum in Rotated Sorted Array II
155.Min Stack
156.Binary Tree Upside Down
160.Intersection of Two Linked Lists
169.Majority Element
170.Two Sum III - Data structure design
174.Dungeon Game
186.Reverse Words in a String II
190.Reverse Bits
191.Number of 1 Bits
199.Binary Tree Right Side View
200.Number of Islands
201.Bitwise AND of Numbers Range
202.Happy Number
203.Remove Linked List Elements
206.Reverse Linked List
208.Implement Trie (Prefix Tree)
209.Minimum Size Subarray Sum
210.Course Schedule II
215.Kth Largest Element in an Arra
225.Implement Stack using Queue
226.Invert Binary Tre
230.Kth Smallest Element in a BS
231.Power of Tw
232. Implement Queue using Stacks
234.Palindrome Linked List
235.Lowest Common Ancestor of a Binary Search Tree
236.Lowest Common Ancestor of a Binary Tree
237.Delete Node in a Linked List
238.Product of Array Except Self
239.Sliding Window Maximum
240.Search a 2D Matrix II
241.Different Ways to Add Parentheses
246.Strobogrammatic Number
247. Strobogrammatic Number II
248.Strobogrammatic Number III
249.Group Shifted Strings
250.Count Univalue Subtrees
253.Meeting Rooms II
258.Add Digits
260.Single Number III
263.Ugly Number
264.Ugly Number II
268.Missing Number
273.Integer to English Words
274.H-Index
275.H-Index II
278.First Bad Version
279.Perfect Squares
283.Move Zeroes
287.Find the Duplicate Number
289.Game of Life
295.Find Median from Data Stream
297.Serialize and Deserialize Binary Tree
315.Count of Smaller Numbers After Self
316.Remove Duplicate Letters
325.Maximum Size Subarray Sum Equals k
328.Odd Even Linked List
337. House Robber III
338.Counting Bits
344.Reverse String
349.Intersection of Two Arrays
350.Intersection of Two Arrays II
355.Design Twitter
359.Logger Rate Limiter
363.Max Sum of Rectangle No Larger Than K
365.Water and Jug Problem
367.Valid Perfect Square
371.Sum of Two Integers
374. Guess Number Higher or Lower
375.Guess Number Higher or Lower II
378.Kth Smallest Element in a Sorted Matrix
380.Insert Delete GetRandom O(1)
392.Is Subsequence
394.Decode String
402.Remove K Digits
409.Longest Palindrome
410.Split Array Largest Sum
429.N-ary Tree Level Order Traversal
430.Flatten a Multilevel Doubly Linked List
437.Path Sum III
438.Find All Anagrams in a String
441.Arranging Coins
445.Add Two Numbers II
451.Sort Characters By Frequency
475.Heaters
476.Number Complement
477.Total Hamming Distance
498.Diagonal Traverse
509. Fibonacci Number
520.Detect Capital
525.Contiguous Array
541.Reverse String II
542.01 Matrix
543.Diameter of Binary Tree
544.Output Contest Matches
559.Maximum Depth of N-ary Tree
560.Subarray Sum Equals K
567.Permutation in String
572.Subtree of Another Tree
589.N-ary Tree Preorder Traversal
590.N-ary Tree Postorder Traversal
611.Valid Triangle Number
625.Minimum Factorization
632.Smallest Range Covering Elements from K Lists
641.Design Circular Deque
650. 2 Keys Keyboard
658.Find K Closest Elements
668.Kth Smallest Number in Multiplication Table
674.Longest Continuous Increasing Subsequence
678.Valid Parenthesis String
680.Valid Palindrome II
687.Longest Univalue Path
694.Number of Distinct Islands
695.Max Area of Island
700.Search in a Binary Search Tree
703. Kth Largest Element in a Stream
712.Minimum ASCII Delete Sum for Two Strings
716.Max Stack
718.Maximum Length of Repeated Subarray
719.Find K-th Smallest Pair Distance
749.Daily Temperatures
771.Jewels and Stones
784.Letter Case Permutation
785.Is Graph Bipartite
796.Rotate String
797.All Paths From Source to Target
820.Short Encoding of Words
832.Flipping an Image
836.Rectangle Overlap
844.Backspace String Compare
848.Shifting Letters
862.Shortest Subarray with Sum at Least K
876.Middle of the Linked List
881.Boats to Save People
886.Possible Bipartition
889.Construct Binary Tree from Preorder and Postorder Traversal
892.Surface Area of 3D Shapes
901.Online Stock Span
905.Sort Array By Parity
914.X of a Kind in a Deck of Cards
921.Minimum Add to Make Parentheses Valid
945.Minimum Increment to Make Array Unique
946.Validate Stack Sequences
957.Prison Cells After N Days
974.Subarray Sums Divisible by K
976.Largest Perimeter Triangle
986.Interval List Intersections
987.Vertical Order Traversal of a Binary Tree
993.Cousins in Binary Tree
994.Rotting Oranges
999. Available Captures for Rook
1002.Find Common Characters
1008.Construct Binary Search Tree from Preorder Traversal
1009.Complement of Base 10 Integer
1013.Partition Array Into Three Parts With Equal Sum
1014.Best Sightseeing Pair
1025.Divisor Game
1028.Recover a Tree From Preorder Traversal
1029.Two City Scheduling
1046.Last Stone Weight
1071.Greatest Common Divisor of Strings
1095.Find in Mountain Array
1103.Distribute Candies to People.
1111.Maximum Nesting Depth of Two Valid Parentheses Strings
1162.As Far from Land as Possible
1170.Compare Strings by Frequency of the Smallest Character
1172.Dinner Plate Stacks
1201.Ugly Number III
1206.Design Skiplist
1248.Count Number of Nice Subarrays
1260.Shift 2D Grid
1377.Frog Position After T Seconds
1381.Design a Stack With Increment Operation
1408.String Matching in an Array
1409.Queries on a Permutation With Key
1410.HTML Entity Parser
1419.Minimum Number of Frogs Croaking
1423.Maximum Points You Can Obtain from Cards
1424.Diagonal Traverse II
1425.Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
1427.Perform String Shifts
1428.Leftmost Column with at Least a One
1429.First Unique Number
1430.Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree
1437.Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
1443.Minimum Time to Collect All Apples in a Tree
1451.Rearrange Words in a Sentence
1452.People Whose List of Favorite Companies Is Not a Subset of Another List
1456.Maximum Number of Vowels in a Substring of Given Length
1457.Pseudo-Palindromic Paths in a Binary Tree
1466.Reorder Routes to Make All Paths Lead to the City Zero
1467.Probability of a Two Boxes Having The Same Number of Distinct Balls
1474.Delete N Nodes After M Nodes of a Linked List
1475.Final Prices With a Special Discount in a Shop
1476.Subrectangle Queries
1477.Find Two Non-overlapping Sub-arrays Each With Target Sum
1478.Allocate Mailboxes
1480.Running Sum of 1d Array
1481.Least Number of Unique Integers after K Removals
1482.Minimum Number of Days to Make m Bouquets
1483.Kth Ancestor of a Tree Node
1484.Clone Binary Tree With Random Pointer
1487.Making File Names Unique
1490.Clone N-ary Tree
1496.Path Crossing
1497.Check If Array Pairs Are Divisible by k
1498.Number of Subsequences That Satisfy the Given Sum Condition
1499.Max Value of Equation
1502.Can Make Arithmetic Progression From Sequence
1503.Last Moment Before All Ants Fall Out of a Plank
1504.Count Submatrices With All Ones
1507.Reformat Date
1508.Range Sum of Sorted Subarray Sums
1509.Minimum Difference Between Largest and Smallest Value in Three Moves
1510.Stone Game IV
1512.Number of Good Pairs
1513.Number of Substrings With Only 1s
1514.Path with Maximum Probability
1515.Best Position for a Service Centre
1534.Count Good Triplets
1535.Find the Winner of an Array Game
1536.Minimum Swaps to Arrange a Binary Grid
1537.Get the Maximum Score
LintCode-1604 两数最大和
面试题 10.01. 合并排序的数组
面试题 16.03. 交点
面试题 16.11. 跳水板
面试题 17.26. 稀疏相似度
面试题26. 树的子结构
面试题33. 二叉搜索树的后序遍历序列
面试题40. 最小的k个数
面试题45. 把数组排成最小的数
面试题46. 把数字翻译成字符串
面试题51. 数组中的逆序对
面试题57 - II. 和为s的连续正数序列
面试题59 - II. 队列的最大值
面试题61. 扑克牌中的顺子
面试题62.圆圈中最后剩下的数字
Project Euler
Project Euler
Project Euler 1-Multiples of 3 and 5
Project Euler 2-Even Fibonacci numbers(斐波那契数计算+二分优化)
Project Euler 3-Largest prime factor(质因数分解)
Project Euler 4-Largest palindrome product(二分+回文数检验)
Project Euler 5-Smallest multiple(哈希+快速幂+质数检验)
Project Euler 6-Sum square difference(等差数列求和+平方和公式)
Project Euler 7-10001st prime(6倍数素数筛选法)
Project Euler 8-Largest product in a series(滑动窗口)
Project Euler 9-Special Pythagorean triplet(GCD性质的应用)
Project Euler 10-Summation of primes(前缀和+二分)
Project Euler 11-Largest product in a grid(暴力搜索)
Project Euler 13-Large sum(高精度或者模拟竖式加法)
Project Euler 14-Longest Collatz sequence(动态规划)
Project Euler 15-Lattice paths(Pascal三角形,组合数计算)
Project Euler 16-Power digit sum(高精度和进制转换)
Project Euler 17-Number to Words(贪心)
Project Euler 18-Maximum path sum I(动态规划-数字三角形)
Algorithm Summary
Algorithm Summary
由数据范围反推算法复杂度以及算法内容
典型问题——各种优化
典型问题——括号相关的问题
典型问题——约瑟夫环问题
动态规划——1基础DP
动态规划——区间DP
动态规划——数字三角形
动态规划——最大连续子序列和
动态规划——最长上升子序列(LIS)
动态规划——最长公共子序列(LCS)
动态规划——背包问题
基础算法——二分法
基础算法——二分法--01分数规划
基础算法——位运算
基础算法——全排列(Permutation)
基础算法——折半枚举
基础算法——生成子集与集合运算
基础算法——贪心
基础算法——贪心--区间贪心
基础算法——高精度和进制转换
排序——1排序算法总结
排序——冒泡排序
排序——基数排序
排序——堆排序
排序——希尔排序
排序——归并排序
排序——快速排序
排序——插入排序
排序——桶排序
排序——计数排序
排序——选择排序
搜索算法——基础BFS
搜索算法——基础DFS
搜索算法——递归与回溯
数学——完美正方形
数学——快速幂
数学——数论--6倍数素数判别法
数学——数论--分数化简
数学——数论--勒让德三平方和定理
数学——数论--因数分解
数学——数论--埃拉托色尼筛选法
数学——数论--拉格朗日四平方和定理
数学——数论--整除
数学——数论--斐波那契数
数学——数论--最大公约数和最小公倍数
数学——数论--素数判定
数学——数论--费马平方和定理
数学——概率统计--众数
数学——概率统计--随机数生成
数学——海伦公式
数学——组合数学--Catalan数
数学——组合数学--Pascal三角形
数学——组合数学--划分数
数学——组合数学--有重复元素的全排列个数
数据结构——RMQ
数据结构——ST表
数据结构——并查集
数据结构——栈
数据结构——栈--计算器
数据结构——队列
树——二叉树与多叉树遍历
树——二叉树的构造
树——二叉树的深度
树——基础二叉树知识点
计算几何——固定半径圆能覆盖平面上的最大点数
计算几何——平面分割问题
计算几何——平面最近点对
Problem Solution
Problem Solution
ALGOSPOT-ASYMILING(动态规划-非对称铺设)
ALGOSPOT-PACKING(01背包,输出路径)
ALGOSPOT-PICNIC(递归)
ALGOSPOT-TILING2(动态规划-斐波那契数列)
AOJ-0033 Ball(DFS + 贪心)
AOJ-0118 Property Distribution(DFS, lake counting类问题)
AOJ-0121 Seven Puzzle(BFS,八数码类型问题)
AOJ-0525 Osenbei(经典暴力DFS,剪枝加速)
AOJ-0558 Chess(BFS最短路)
Aizu - ALDS1_1_C Prime Numbers(数论-质数检验)
Aizu - ALDS1_6_B Partition (快排).
Aizu - CGL_1_A Projection(计算几何,投影)
Aizu - CGL_1_B Reflection(计算几何,映像)
Aizu - CGL_2_A ParallelOrthogonal(计算几何-直线正交,平行判定)
Aizu - CGL_2_B Intersection (计算几何,判断直线相交)
Aizu - CGL_2_C Cross Point(计算几何,线段交点)
Aizu - CGL_2_D Distance(计算几何,逆时针)
Aizu - DPL_3_A Largest Square(基础DP,最大正方形)
Aizu-ALDS1_6_A Counting Sort
CODE[VS] - 1116 四色问题(DFS)
CODE[VS] - 1295 N皇后问题(DFS)
CODE[VS] 线段覆盖(最长上升子序列LIS)
CodeForces-510C Fox and Names(拓扑排序)
CodeForces-1008A Romaji(基础字符串)
CodeForces-1350A Orac and Factors(数学规律)
HDU-1002 A + B Problem 2(高精度加法)
HDU-1003 Max Sum(动态规划 最大连续子序列和)
HDU-1009 FatMouse' Trade(贪心,部分背包)
HDU-1024 Max Sum Plus Plus(动态规划 最大M子段和)
HDU-1052 Tian Ji -- The Horse Racing(基础贪心)
HDU-1062 Text Reverse(split函数)
HDU-1080 Human Gene Functions(动态规划 最长公共子序列)
HDU-1114 Piggy-Bank(动态规划 完全背包)
HDU-1171 Big Event in HDU(单调队列优化背包DP)
HDU-1197 Specialized Four-Digit Numbers(枚举、进制转换)
HDU-1213 How Many Tables(基础并查集)
HDU-1247 Hat’s Words(单词查找树)
HDU-1248 寒冰王座(完全背包)
HDU-1249 三角形(递推)
HDU-1251 统计难题(单词查找树)
HDU-1257 最少拦截系统(动态规划 最长上升子序列(LIS))
HDU-1503 Advanced Fruits(动态规划 最长公共子序列)
HDU-1506 Largest Rectangle in a Histogram(单调栈或笛卡尔树)
HDU-1517 A Multiplication Game(找规律,类似巴什博弈)
HDU-1520 Anniversary party(树型DP经典入门题)
HDU-1525 Euclid's Game(基础博弈)
HDU-1564 Play a game(找规律,基础博弈论)
HDU-1671 Phone List(单词查找树)
HDU-1711 Number Sequence(KMP算法)
HDU-1864 Brave Game(巴什博弈板子题)
HDU-1878 欧拉回路(连通性+偶数度数检验)
HDU-2050 折线分割平面(递推)
HDU-2181 哈密顿绕行世界问题(哈密顿路径)
HDU-2188 选拔志愿者(巴什博弈)
HDU-2191 买大米(动态规划 多重背包)
HDU-2196 Computer(树型DP,求树上最大距离)
HDU-2222 Keywords Search (AC自动机)
HDU-2399 GPA(格式化输出)
HDU-2602 Bone Collector(动态规划 01背包)
HDU-2609 How many(字符串哈希 + 最小表示法)
HDU-2844 Coins(多重背包可过)
HDU-2896 病毒侵袭(AC自动机)
HDU-3089 Josephus again(约瑟夫问题-优化)
HDU-3496 Watch The Movie(二维01背包)
HDU-3732 Ahui Writes Word(01背包转型多重背包)
HDU-3849 By Recognizing These Guys, We Find Social Networks Useful(桥,Tarjan算法)
LOJ-6277 数列分块入门1
NYOJ-16 嵌套矩形(最长上升子序列LIS)
OpenJudge-4 双基回文数(暴力搜索)
OpenJudge-162 Post Office(区间DP)
POJ 2259 Team Queue或牛客OJ Team Queue(基础队列模拟+哈希)
POJ-1017 Packets(贪心+细节模拟,完美正方形)
POJ-1041 John's trip(欧拉回路)
POJ-1050 To the Max(二维矩阵的最大部分和)
POJ-1065 Wooden Sticks(贪心-区间划分)
POJ-1129 Channel Allocation(四色问题的DFS)
POJ-1164 The Castle(稍加思考的DFS泛洪)
POJ-1182 食物链(带权并查集或基础并查集空间倍增)
POJ-1186 方程的解数(DFS + 暴力枚举 + 哈希优化)
POJ-1220 NUMBER BASE CONVERSION(大整数进制转换)
POJ-1276 Cash Machine(多重背包)
POJ-1321 棋盘问题(DFS)
POJ-1328 Radar Installation(贪心,区间选点)
POJ-1331 Multiply(进制转换)
POJ-1458 Common Subsequence(动态规划 最长公共子序列)
POJ-1580 String Matching(分数化简+字符串基础)
POJ-1631 Bridging signals(最长上升子序列(LIS)+二分优化)
POJ-1651 Multiplication Puzzle(基础区间DP)
POJ-1664 放苹果(划分数模板题)
POJ-1703 Find them, Catch them(基础并查集开双倍空间)
POJ-1742 Coins(多重背包存在性)
POJ-1753 Flip Game(反转,开关问题+位运算)
POJ-1852 Ants(思维题目)
POJ-1862 Stripies(优先级队列,Huffman编码思想)
POJ-1915 Knight Moves(迷宫型BFS)
POJ-1979 Red and Black(DFS 最大连通区域类问题)
POJ-1995 Raising Modulo Numbers(快速幂)
POJ-2010 Moo University - Financial Aid(优先级队列)
POJ-2049 Finding Nemo(BFS)
POJ-2049 Finding Nemo(BFS最短路径)
POJ-2063 Investment(动态规划 完全背包)
POJ-2184 Cow Exhibition(带负数的01背包)
POJ-2229 Sumsets(完全背包变形)
POJ-2236 Wireless Network(基础并查集)
POJ-2251 Dungeon Master(三维迷宫BFS)
POJ-2376 Cleaning Shifts(贪心,最少区间覆盖)
POJ-2385 Apple Catching(动态规划)
POJ-2386 Lake Counting(DFS搜索)
POJ-2392 Space Elevator(多重背包存在性)
POJ-2393 Yogurt factory(贪心)
POJ-2406 Power Strings(KMP算法)
POJ-2411 Mondriaan's Dream(状态压缩DP)
POJ-2431 Expedition(优先级队列)
POJ-2453 An Easy Problem(位运算,集合的整数表示)
POJ-2456 Aggressive cows(二分,最大化最小值)
POJ-2533 Longest Ordered Subsequence(最长上升子序列 LIS)
POJ-2559 Largest Rectangle in a Histogram(单调栈模板)
POJ-2718 Smallest Difference(全排列,搜索或STL)
POJ-2773 Happy 2006(GCD技巧)
POJ-2785 4 Values whose Sum is 0(折半枚举)
POJ-2823 Sliding Window(单调队列模板)
POJ-2955 Brackets(区间DP).
POJ-2976 Dropping tests(01分数规划==最大化平均值)
POJ-3009 Curling 2.0(DFS搜索所有路径)
POJ-3040 Allowance(贪心,思路清奇)
POJ-3045 Cow Acrobats(贪心好题)
POJ-3046 Ant Counting(多重集合组合数,计数类DP)
POJ-3050 Hopscotch(DFS暴力搜索)
POJ-3061 Subsequence(前缀和+二分搜索+尺取法)
POJ-3069 Saruman's Army(区间贪心)
POJ-3104 Drying(二分法,思维)
POJ-3111 K Best(01分数规划==最大化平均值)
POJ-3176 Cow Bowling(DP,数字三角形)
POJ-3181 Dollar Dayz(划分数+高精度)
POJ-3187 Backward Digit Sums(排列组合,Pascal三角形)
POJ-3190 Stall Reservations(贪心,区间划分+路径输出)
POJ-3253 Fence Repair(贪心或优先级队列)
POJ-3258 River Hopscotch(二分,最大化最小值)
POJ-3262 Protecting the Flowers(贪心)
POJ-3264 Balanced Lineup(线段树)
POJ-3273 Monthly Expense(二分,最小化最大值)
POJ-3276 Face The Right Way(开关问题)
POJ-3279 Fliptile(反转,开关问题+位运算)
POJ-3280 Cheapest Palindrome(动态规划,回文字符串)
POJ-3320 Jessica's Reading Problem(尺取法)
POJ-3461 Oulipo(KMP算法)
POJ-3579 Median(二分查找中位数)
POJ-3614 Sunscreen(优先级队列)
POJ-3616 Milking Time(基础动态规划)
POJ-3617 Best Cow Line(贪心)
POJ-3624 Charm Bracelet(01背包)
POJ-3669 Meteor Shower(BFS,限制条件多)
POJ-3984 迷宫问题(BFS最短路径)
SPOJ CCOMPS - Count Components(无向图的连通性)
SPOJ SUBMERGE - Submerging Islands(连通图的割点)
SPOJ TOPOSORT - Topological Sorting(拓扑排序)
SWUST-1065 无向图的连通分量计算(等价于检验图的连通性)
UVA-147 Dollars(完全背包变形)
UVA-272 TEX Quotes(基础字符串)
UVA-348 Optimal Array Multiplication Sequence(区间DP)
UVA-389 & POJ-1546 & HDU-1335 & ZOJ-1334 Basically Speaking(大整数进制转换)
UVA-524 Prime Ring Problem(回溯-暴力搜索)
UVA-725 Division(递归组合型枚举)
UVA-796 Critical Links(桥 - Tarjan算法)
UVA-10004 Bicoloring(二部图着色)
UVA-10054 The Necklace(欧拉回路)
UVA-10976 Fractions Again!(不等式缩小搜索范围)
UVA-11059 Maximum Product(动态规划-最大乘积子数组)
tyvj-1241 硬币问题(完全背包 或 DAG固定终点的最长最短路径)
一本通-1000:入门测试题目
一本通-1001:Hello,World!
一本通-1002:输出第二个整数
一本通-1003:对齐输出
一本通-1004:字符三角形
一本通-1005:地球人口承载力估计(C++语言入门)
一本通-1006:A+B问题
一本通-1007:计算(a+b)×c的值
一本通-1008:计算(a+b)c的值
一本通-1009:带余除法
一本通-1010:计算分数的浮点数值
一本通-1011:甲流疫情死亡率
一本通-1012:计算多项式的值
一本通-1013:温度表达转化
一本通-1014:与圆相关的计算
一本通-1015:计算并联电阻的阻值
一本通-1016:整型数据类型存储空间大小
一本通-1017:浮点型数据类型存储空间大小
一本通-1018:其他数据类型存储空间大小
一本通-1019:浮点数向零舍入
一本通-1020:打印ASCII码
一本通-1021:打印字符
一本通-1022:整型与布尔型的转换
一本通-1023:Hello,World!的大小
一本通-1024:保留3位小数的浮点数
一本通-1097:画矩形(循环嵌套)
一本通-1132:石头剪子布
一本通-1133:输出亲朋字符串
一本通-1134:合法C标识符查
一本通-1191:流感传染(两个队列模拟BFS)
一本通-1192:放苹果(计数DP-划分数)
一本通-1195:判断整除(动态规划)
一本通-1196:踩方格(递推+动态规划)
一本通-1197:山区建小学(区间DP)
一本通-1198:逆波兰表达式(递归)
一本通-1200:分解因数(递归)
一本通-1203:扩号匹配问题(栈)
一本通-1205:汉诺塔问题(递归)
一本通-1208:2的幂次方表示(很经典的递归)
一本通-1209:分数求和
一本通-1210:因子分解
一本通-1211:判断元素是否存在(递归)
一本通-1212:LETTERS(基础DFS)
一本通-1213:八皇后问题(回溯+搜索)
一本通-1214:八皇后(搜索+回溯)
一本通-1215:迷宫(经典迷宫类型DFS)
一本通-1216:红与黑(基础DFS,flood fill算法)
一本通-1218:取石子游戏(基础博弈)
一本通-1219:马走日(搜索,回溯)
一本通-1220:单词接龙(搜索)
一本通-1221:分成互质组(思路巧妙地DFS)
一本通-1227:Ride to Office(基础贪心)
一本通-1229:电池的寿命(贪心,找规律)
一本通-1230:寻找平面上的极大点(单调栈,贪心)
一本通-1234:2011(基础分治,易错)
一本通-1236:区间合并(区间贪心)
一本通-1237:求排列的逆序数(逆序数问题)
一本通-1248:Dungeon Master(三维迷宫BFS)
一本通-1251:仙岛求药(迷宫类型的BFS)
一本通-1252:走迷宫(迷宫型BFS)
一本通-1253:抓住那头牛(一维BFS)
一本通-1254:走出迷宫(二维迷宫型BFS)
一本通-1256:献给阿尔吉侬的花束(二维迷宫BFS)
一本通-1259:【例9.3】求最长不下降序列(LIS)
一本通-1262:【例9.6】挖地雷(基础动态规划)
一本通-1261:【例9.5】城市交通路网(基础动态规划)
一本通-1263:【例9.7】友好城市(LIS)
一本通-1264:【例9.8】合唱队形
一本通-1265:【例9.9】最长公共子序列
一本通-1267:【例9.11】01背包问题(01背包模板)
一本通-1270:【例9.14】混合背包
一本通-1271:【例9.15】潜水员(二维01背包)
一本通-1272:【例9.16】分组背包
一本通-1273:【例9.17】货币系统
一本通-1274:【例9.18】合并石子(直线排列,小数据)
一本通-1282:最大子矩阵(二维最长连续子序列和)
一本通-1283:登山(LIS的合唱队形)
一本通-1284:摘花生(基础DP)
一本通-1285:最大上升子序列和(LIS变种)
一本通-1286:怪盗基德的滑翔翼(LIS)
一本通-1287:最低通行费(基础DP)
一本通-1288:三角形最佳路径问题(数字三角形)
一本通-1291:数字组合(动态规划-硬币问题)
一本通-1292:宠物小精灵之收服(二维01背包)
一本通-1298:计算字符串距离(动态规划-编辑距离)
一本通-1310:【例2.2】车厢重组(冒泡排序)
一本通-1312:【例3.4】昆虫繁殖(动态规划)
一本通-1313:【例3.5】位数问题(动态规划)
一本通-1314:【例3.6】过河卒(Noip2002)(动态规划)
一本通-1315:【例4.5】集合的划分(计数DP或递归)
一本通-1316:【例4.6】数的计数(Noip2001, 动态规划)
一本通-1317:【例5.2】组合的输出(回溯)
一本通-1318:【例5.3】自然数的拆分(回溯)
一本通-1319:【例6.1】排队接水(贪心)
一本通-1325:【例7.4】 循环比赛日程表(基础分治)
一本通-1328:【例7.7】光荣的梦想(基础分治,逆序对)
一本通-1329:【例8.2】细胞(DFS和BFS两种解法)
一本通-1330:【例8.3】最少步数(经典BFS)
一本通-1332:【例2-1】周末舞会(模拟队列)
一本通-1333:【例2-2】Blah数集(优先级队列模拟)
一本通-1334:【例2-3】围圈报数(数组模拟循环链表或者队列模拟)
一本通-1335:【例2-4】连通块(DFS泛洪算法)
一本通-1336:【例3-1】找树根和孩子
一本通-1337:【例3-2】单词查找树
一本通-1339:【例3-4】求后序遍历
一本通-1340:【例3-5】扩展二叉树
一本通-1341:【例题】一笔画问题(欧拉路+路径输出)
一本通-1359:围成面积(BFS + 加边法)
一本通-1360:奇怪的电梯(lift)(BFS或dijkstra)
一本通-1363:小球(drop)(满二叉树性质应用)
一本通-1364:二叉树遍历(flist)
一本通-1366:二叉树输出(btout)
一本通-1367:查找二叉树(tree_a)
一本通-1371:看病(优先级队列)
一本通-1403:素数对(函数)
一本通-例5.13 蛇形填数
信息学奥赛一本通——基础篇
洛谷-P1008 三连击(桶排序)
洛谷-P1010 幂次方(经典递归)
洛谷-P1014 Cantor的数表(数学)
洛谷-P1015 回文数(进制转换+高精度加法)
洛谷-P1019 单词接龙(DFS有难度)
洛谷-P1020 导弹拦截(最典型的LIS练习,两种形式)
洛谷-P1029 最大公约数和最小公倍数问题(GCD模板题)
洛谷-P1031 均分纸牌(贪心)
洛谷-P1048 采药(01背包)
洛谷-P1057 传球游戏(基础DP)
洛谷-P1059 明明的随机数(桶排序)
洛谷-P1063 能量项链(区间DP)
洛谷-P1087 FBI树(满二叉树下标关系)
洛谷-P1091 合唱队形(LIS)
洛谷-P1106 删数问题(基础贪心)
洛谷-P1135 奇怪的电梯(BFS或单源最短路)
洛谷-P1257 平面上的最接近点对(分治)
洛谷-P1259 黑白棋子的移动(基础分治)
洛谷-P1303 [模板] A乘B Problem
洛谷-P1323 删数问题(基础贪心)
洛谷-P1352 没有上司的舞会(树型DP经典入门题)
洛谷-P1429 平面最近点对(加强版)
洛谷-P1439 [模板] 最长公共子序列(LCS优化版本)
洛谷-P1480 [模板] A除以B Problem
洛谷-P1601 [模板] A+B Problem(高精)
洛谷-P1776 宝物筛选(单调队列优化多重背包)
洛谷-P1801 黑匣子(权值线段树)
洛谷-P1833 樱花(混合背包模板)
洛谷-P1855 榨取kkksc03(二维01背包)
洛谷-P1880 [NOI1995]石子合并(环形区间DP)
洛谷-P1886 滑动窗口 【模板】单调队列
洛谷-P1944 最长括号匹配(字符串动态规划)
洛谷-P2005 [模板] A除以B Problem II
洛谷-P2043 质因子分解
洛谷-P2066 机器分配(区间DP)
洛谷-P2085 最小函数值(优先级队列)
洛谷-P2142 [模板] 高精度减法
洛谷-P2827 蚯蚓(单调队列+延迟修改)
洛谷-P3367 [模板] 并查集
洛谷-P3370 [模板] 字符串哈希
洛谷-P3371 [模板] 单源最短路径(弱化版)(Bellman-Ford算法)
洛谷-P3372 [模板] 线段树1(区间修改+区间查询)
洛谷-P3374 [模板] 树状数组1(单点修改,区间查询)
洛谷-P3385 [模板] 负环
洛谷-P3865 [模板] ST表
洛谷-P4779 [模板] 单源最短路径(标准版)(Dijkstra算法)
洛谷-P5569 [SDOI2008]石子合并(区间DP-Garsia-Wachs算法)
洛谷-P5788 [模板] 单调栈
洛谷-P6033 合并果子 加强版(输入输出外挂+基数排序+队列)
牛客-996A a^b(快速幂)
牛客-996C 64位整数乘法(快速幂)
牛客-996D 最短Hamilton路径(状态压缩DP)
牛客-998A 递归实现指数型枚举(递归)
牛客-998B 递归实现组合型枚举(递归)
Operating System
Operating System
CSAPP
APUE
DataBase
DataBase
MySQL必知必会
HackerRank-SQL
HackerRank-SQL
Employee Names
Employee Salaries
Higher Than 75 Marks
Japanese Cities' Attributes
Japanese Cities' Names
Revising the Select Query I
Revising the Select Query II
Select All
Select By ID
Weather Observation Station 1
Weather Observation Station 3
Weather Observation Station 4
Weather Observation Station 5
Weather Observation Station 6
Weather Observation Station 7
Weather Observation Station 8
Weather Observation Station 9
Weather Observation Station 10
Weather Observation Station 11
Weather Observation Station 12
Linux Tools
Linux Tools
C或C++常见编译选项
GDB
Git
Makefile
Shell Scripting
Valgrind
Vim
排序——希尔排序
¶
当待排序的元素个数n很大时,元素移动次数在
n^{1.25}~--1.6n^{1.25}
之间,希尔排序是一种不稳定的排序方法。
典型题目:
ALDS1_2: Shell Sort