![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法&数据结构
lkkey80
这个作者很懒,什么都没留下…
展开
-
Hello World for U
找规律 + 按一定格式输出字符。 注:笔者当时提交时用的是”九度online judge“环境,读取字符串时被gets坑了,原来gets在这个系统上有些问题,改为scanf就OK了。#include #include #include struct Node{ intx; inty;};char STR[81];st原创 2013-03-23 22:57:56 · 552 阅读 · 0 评论 -
hdu-3786-找出直系亲属
Problem Description如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,则A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾祖母,则A,B是C的great-grandparent,C是A,B的great-grandchild,之后再多一辈,则在关系上加一个great-原创 2016-05-02 00:22:23 · 507 阅读 · 0 评论 -
hdu-1251-统计难题
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串原创 2016-05-02 00:15:39 · 416 阅读 · 0 评论 -
LeetCode-3-Longest Substring Without Repeating Characters
时间复杂度O(n^2)#include #include using namespace std;class Solution {public: int lengthOfLongestSubstring(string s) { size_t found; int max_len = s.empty() ? 0 : 1;原创 2016-05-01 22:53:43 · 276 阅读 · 0 评论 -
常用的数据结构和算法
数据结构:1 链表参考linux kernel "list.h"2 ring buffer 参考linux kernel "kfifo.h"3 trie 树(也叫字典树)4 hash、bloomfilter 参考leveldb "bloom.cc"5 skiplist、红黑树、B树红黑树参考linux kernel "rbtree.h/rbtree.c"原创 2015-01-14 11:25:45 · 424 阅读 · 0 评论 -
插入相同“键值”key时Linux 内核中红黑树的使用
Linux 内核中提供了一个通用红黑树的实现(位于文件rbtree.h和rbtree.c),在日常的项目开发中,很多人也是直接将其代码取出来,然后自己“包装”一下就使用了。 近期的使用中我有了一个这样的疑问,就是如果插入相同的key,是不是这个红黑树还能正常使用?这样做会不会破坏这个红黑树的结构?当然我们知道C++ STL中的multimap(multimap也是基于red-black原创 2014-04-20 00:25:57 · 5015 阅读 · 1 评论 -
元素选择问题
问题描述:从n个元素中选择第k小的元素。此问题存在最坏情况下时间复杂度为O(n)的算法,但本文不作讨论本文介绍一种使用“快速排序”算法的思想求解此问题的方法,平均时间复杂度O(nlogn) 。“快速排序算法”的实质是“递归与分治”,以序列中a[l:r]的某个元素a[i]为基准,将序列分成3部分:a[l:i-1],a[i]和a[i+1,r],使之满足a[l:i-1]中的元素都小于a[i]原创 2014-04-20 00:13:04 · 772 阅读 · 0 评论 -
最长递增子序列LIS算法
DP O(n2)的算法是比较容易想到的,但用时间复杂度为O(n2)的方法解 poj 3903 Stock Exchange 问题时 tle。故需要更快的算法,下面介绍一个O(nlogn)的DP +二分查找的算法。p[i]521453d[i]111232引入数组s,s[i] 表示处在长度为原创 2014-04-20 00:28:31 · 629 阅读 · 0 评论 -
大数问题 hdu 1002
大数问题通常用数组来模拟计算。下面给出hdu 1002 的代码。 #include #include #include #define MAX_LEN 1000int g_a[MAX_LEN];int g_b[MAX_LEN];int g_ans[MAX_LEN];char g_stra[MAX_LEN + 1];char g_strb[MAX_LEN +原创 2014-04-20 00:30:23 · 524 阅读 · 0 评论 -
acm 做过的题目分类(不定期更新)
ZOJ:搜索1002, fire net。 dfs 过。1003,crashing ballon1004,Anagrams by Stack。搜索 + stack1005,jugs。bfs过,ps:据说此题有更简单的方法。简单题:1006, Do the Untwist, 简单解码.数学题1007 Numerical Summation of a S原创 2013-02-03 12:23:20 · 408 阅读 · 0 评论