算法与数据结构
-Coca
这个作者很懒,什么都没留下…
展开
-
排序
冒泡排序int sort(int *a, int size){ for (int i = size-1; i >= 0; i--) { for (int j = 0; j < i; j++) { if (a[j] > a[j+1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = t...原创 2019-03-10 19:01:52 · 126 阅读 · 0 评论 -
序列型动态规划
如codevs 1576 最长严格上升子序列 1044 拦截导弹大致代码如下,随情况变化部分即可#include <iostream>#include <stack>#include <vector>#include <string>using namespace std;int max(int, int);int blo...原创 2019-04-09 13:42:19 · 179 阅读 · 0 评论 -
最长回文子串
动态规划` class Solution {public: string longestPalindrome(string s) { vector<vector<int>> dp; vector<int> one(s.length(),0); for(int i=0;i<s.length(...原创 2019-05-05 23:14:14 · 90 阅读 · 0 评论 -
快速求组合数
摘自https://www.jianshu.com/p/718a5ac26238逆元+快速幂解法(一)基本概念上面两种方法都使用了递归方法,递归方法有个缺陷,就是在数据较大时效率较低。所以这里要介绍一个种新的求组合算法。在了解此算法之前,要先了解一些概念。1 同余同余是数论中的重要概念。给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整...转载 2019-05-13 13:34:54 · 5789 阅读 · 1 评论 -
整数拆分、换硬币等动态规划类问题解法
题目描述给定一个正整数,我们可以定义出下面的公式:N=a[1]+a[2]+a[3]+…+a[m];a[i]>0,1<=m<=N;对于一个正整数,求解满足上面公式的所有算式组合,如,对于整数 4 :4 = 4;4 = 3 + 1;4 = 2 + 2;4 = 2 + 1 + 1;4 = 1 + 1 + 1 + 1;所以上面的结果是 5 。注意:对于 “4 = 3...原创 2019-08-02 16:32:53 · 1736 阅读 · 0 评论 -
并查集
学习了这位博主关于并查集的介绍后 https://blog.csdn.net/niushuai666/article/details/6662911做了道题感受了下从前有一个叫做”H湖”的地方,”H湖”的居民生活在不同的小岛上,当他们想去其他的小岛时都要通过划小船或者小岛之间的桥来实现.现在政府想实现”H湖”的全畅通!(不一定有直接的桥相连,只要互相间接通过桥可达即可).”H湖”已经造出了一些...原创 2019-08-05 17:11:17 · 458 阅读 · 0 评论