- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 最大子段和(dp)
hdoj1231 最大连续子序列#include<cstdio>#include<algorithm>#include<iostream>#include<unordered_map>#include<queue>#include<cstring>#include<string>using nam...
2020-02-04 21:00:16
580
原创 [leetcode]拓扑排序
课程表①和课程表②两题几乎一模一样思想不多说都给好了纯粹的模板题,比较恶心的是用dfs拓扑排判断是否存在有向环非常麻烦(不麻烦的也有但太菜不会坑的地方就是刚好只学了dfs怎么写于是折腾了很久也不知道怎么办,最后花了五分钟学了一下bfs的拓扑排然后五分钟过了两题= =两题的注释AC代码如下class Solution {public: bool canFinish(in...
2018-11-11 20:30:11
425
原创 Huffman树
#include<iostream>#include<string>#include<sstream>#include<algorithm>#include<queue>using namespace std;struct HufTree{ char data; int weight; strin...
2018-10-31 20:57:33
169
原创 [回溯法]经典n皇后问题
HDOJ 2553 N皇后问题(经典回溯)太懒了直接搬了http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html http://www.cnblogs.com/Creator/archive/2011/05/20/2052341.html算法框架迭代版int a[n], i;//初始化a[n];...
2018-09-27 00:58:47
250
原创 [SOJ] 双栈排序
DescriptionTom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。操作a:如果输入序列不为空,将第一个元素压入栈S1操作b:如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c:如果输入序列不为空,将第一个元素压入栈S2操作d:如果栈S2不为空,将S2栈顶元素弹出至输出序列如果一个1~n的排列P可以通...
2018-09-25 21:24:56
185
原创 [LeetCode]前序中序构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7自己AC的代码没了辣鸡LeetCode吞代码就找了个别人博客的,思想是...
2018-08-06 00:33:44
369
原创 中山大学数电实验时钟设计大作业
dsn文件链接(另一个学长的有问题 抠图版实验报告内容1实验要求:使用Protues和Basys3实验板实现具有分、秒计时的计数器,计数结果要求在7段数码管(7SEG-MPX4-CC-BLUE)上显示,并检查结果proteus设计思路:在proteus上使用可进位的十进制计数器74ls160产生分秒计数器的...
2018-08-03 10:51:45
2649
1
原创 [图初学之dijkstra] HDU 2066
初学堆优化的dijkstra算法,正好有道模板题HDU 2066,随便写了一下没想到过了,WA了一次还是上次的毛病,用邻接表构建无向图时没有连两遍。#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cstring>...
2018-06-30 16:30:14
403
原创 [图初学]二分图的判定
图的表示方法:(1)邻接矩阵(2)邻接表邻接矩阵:用V*V的二维数组来表示图,g[i][j]表示顶点i和顶点j的关系,比如无向图中,可以用g[i][j]=1表示i和j有边相连,=0表示无边相连。无向图的邻接矩阵是对称矩阵,因为g[i][j]=g[j][i]。有向图可以用g[i][j]=1表示i有指向j的边,故不是对称矩阵。带权图则可以用g[i][j]表示i到j的权,若无边相连则可以将其设置为无穷大...
2018-05-13 20:00:33
5923
5
原创 [并查集学习] poj1182食物链
并查集的实现:(参考挑战程序设计竞赛)int par[MAX_N];//父亲int Rank[MAX_N];//秩//初始化n个元素void init(int n){ for (int i = 0; i < n; ++i) { par[i]=i; Rank[i]=0; }}//查询树根int find(int x){...
2018-05-10 18:45:59
156
原创 [LeetCode] 两个有序数组的中位数
题面难度标识:Hard 题目意思就是给定两个排好序的数组,求合并之后的中位数。本来觉得非常简单,用归并中合并两有序数组的写法就搞定后来发现果然标的hard不是随意标的,要求复杂度是log(m+n)。似乎本题对C++不太友好,因为别人写的java,O(m+n)的很水的代码好像也能过。思路 题目要求O(log(m+n))的时间复杂度,一般来说都是分治法或者二分搜索。首先我们先...
2018-04-18 22:37:27
250
原创 最长不重复子串LeetCode
Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with the l...
2018-03-31 19:55:27
388
原创 费马小定理+Lucas定理 大组合数取模
#includelong long factorial[10010];long long quick(long long a,long long n,long long p);long long com(long long k,long long n);long long Lucas(long long k,long long n,long long p);void fac(int p
2017-12-01 22:54:42
402
原创 矩阵快速幂法+斐波那契数列余数
快速幂取模算法的原理为ac%b=(a%b)*(c%b)此处矩阵快速幂与之相似,但由于有了加法导致理解困难,事实上我们可以证明对于有限次四则运算该算法都是正确的,由于斐波那契数列“公比”矩阵为[1 1\n1 0],对于一开始的四个元素,必定是小于题目要求的除数,在上述代码中为100000007,故%运算符对其无影响,而对于之后得到的矩阵来说,每个元素必定由之前矩阵的元素经过有限次四则运算得到的,
2017-11-30 00:23:42
951
面向对象编程C++和Java比较教程
2018-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人