- 博客(24)
- 收藏
- 关注
原创 js异步和promise的学习
js异步记录下我对js的理解promise对象是异步编程的一种解决方案,相对于传统的解决方案—回调函数和事件–更合理和强大。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果promise有三种状态,pending(进行中)、rejected、fulfilled,只要状态发生改变,就几乎不怎么会变,这时称为resolvedpromise构造函数接受一个函数作为参数,该函数两个参数是resolve,reject,这两个参数也是函数。resolve
2021-04-30 19:27:15
144
1
原创 Leetcode 233(数字1的个数)
这道题找规律,假设一个数为abcdef现在要找百位1的个数,若d=0则百位1的个数为 abc*100若d=1则百位1的个数为abc*100+ef+1,简单来说,就是百位为1,在前三位即值小于abc的时候,e,f可以随便取。若d>1则百位为1的个数为(abc+1)*100.class Solution {public: int getmul(string s,int...
2020-05-07 16:56:10
281
原创 最长上升子序列(O(nlogn))算法并输出最长上升子序列
最长上升子序列普通算法dp[n]表示以a[n]结尾的最长上升子序列长度显然有dp[n]=max(dp[n],dp[i]+1) 满足a[i]<a[n],1<=i<n实现过程时间复杂度为O(n^2)2.O(nlogn)时间复杂度思路是用数组lower保存最长上升子序列长度,对于当前元素a[i],若大于数组lower最后一个元素,则插入lower数组。否则,用二分在l...
2020-04-10 17:54:30
3313
原创 最长公共子序列(O(n)空间优化、O(nlogn)时间优化)
普通算法对于求最长公共子序列,最普遍的就是时间复杂度为O(n^2),空间复杂度为O(n*n)算法。重要的是,若要求出最长公共子序列是什么,则必须使用这一种算法,具体代码如下:int dp[maxn][maxn],a[maxn],b[maxn];void LCS_common(int n,int m) { //n为数组a长度,m为数组b长度 for(int i=1;i<=n;i...
2020-04-10 12:29:37
7743
3
原创 C++学习笔记
为什么写这篇博文平时在刷题的过程中遇到一些c++的新用法,学了后容易忘记。打算就在这里记录一下,方便以后看。stringstream用法常用于输入带空格的字符串并且按空格分割开来,如下所示#include <bits/stdc++.h>using namespace std;int main() { //freopen("E:\\coding\\10...
2020-03-30 22:22:30
158
原创 poj 3461 (kmp算法详细解释)
题目链接kmp算法已经学过好多次了,但每一次都会忘记,因此打算在这里借着这一道模板题记录下自己对kmp算法的理解kmp算法的核心思想可以理解为:利用目标串自身的信息,来减少匹配次数提高效率next数组的引入next数组就是用来帮助利用目标串自身的信息的。我们这里定义next数组表示的是字符串的最长公共前后缀长度。那么对于字符串ABABABAC来说,求得其next数组就如下所示...
2020-03-28 23:36:49
395
原创 codeforce 161D Distance Tree
A tree is a connected graph that doesn't contain any cycles.The distance between two vertices of a tree is the length (in edges) of the shortest path between these vertices.You are given a tree with n...
2018-07-03 20:31:58
323
原创 POJ 1286 Necklace of Beads
Burnside引理百度百科的定义: 设G=a1,a2,…ag是目标集[1,n]上的置换群。每个置换都写成不相交循环的乘积。 是在置换ak的作用下不动点的个数,也就是长度为1的循环的个数。通过上述置换的变换操作后可以相等的元素属于同一个等价类。若G将[1,n]划分成l个等价类,则: 其中c(ai) 就是对应不动点的个数Polya定理假设一个置换有k个循环,易知每个循环对应的所有位置颜色需一致,而...
2018-06-25 17:19:56
316
原创 01简单背包问题&十四届华中科技程序设计竞赛总决赛F题(背包简单变形)&超大背包
一 最简单的背包问题(重量比较小)重量和价值分别为w[i],v[i]的n个物品,从这些物品中挑选总重量不超过W的物品,求所有挑选方案中价值总和的最大值用dp[i][j]表示前i个物品放进容量为j的最大价值有状态方程 dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])降低空间复杂度:我们发现dp[i][j]是由dp[i-1][j]推出来的,循环中我们以j=j....
2018-06-21 12:14:21
280
原创 poj1041(某数阶乘尾数0的个数)
题意很简单这里就不赘述了-----------------------这里主要讲一下一些知识点唯一分解定理,概念;任意一个大于0的正整数都能被表示成若干个素数的乘积且表示方法是唯一的;整理可以将相同素数的合并;可以得到公式————n = P1^a1 * P2^a2 * …………* (P1 < P2 < ……Pn);(这就是标准分解式)但还有一个关于阶乘的分解式例如;求29阶乘的标准分解...
2018-04-10 21:28:57
282
原创 poj 2186(Popular Cows)
题目链接:http://poj.org/problem?id=2186题目大意:有N只牛,给你M个对(A,B),表示A牛仰慕B牛。现在求几只牛特别受欢迎被其他所有牛仰慕题目思路:可以想到强连通来做,缩点后出度为0的点只有一个才满足除非整个图都是强连通图,否则一旦出现出度和入度为0的点就是不存在这样的牛#include<iostream>#include<cstring>...
2018-04-08 23:58:33
130
原创 poj1273 Drainage Ditches(最大流入门题)
题目链接:http://poj.org/problem?id=1273题意:1是水坑,m是河流。给你n条边表示两点间的流量。现在求1到m的最大流 --------------------http://www.cnblogs.com/zsboy/archive/2013/01/27/2878810.html参考了这篇博客,写的非常详细!#include<iostream>#incl...
2018-04-08 23:51:08
139
原创 poj 1236 Networks of school(详细)
题目链接:http://poj.org/problem?id=1236题目大意:有n台电脑,现在给你这些电脑之间的传送数据关系(有向的),(1)问你至少需要几台电脑就可以把资料传到所有电脑 (2) 至少加几条边(一条边表示两台电脑传送数据)可以使得任意两台电脑都可互传东西题目思路:基本概念:强连通分量:有向图的极大强连通图最高强连通分量:缩点后入度为0的点!最小点基:每个最高强连通分量取一个元素组...
2018-04-08 20:35:26
117
原创 hdoj1269迷宫城堡(强连通分量入门题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269题目大意:判断是否为强连通图题目思路:Tarjan 算法模板题,只需判断强连通分量个数是否为1#include<iostream>#include<cstdio>#include<cstring>#define min(x,y) x>y?y:x#d...
2018-04-08 19:56:29
361
原创 poj 2446(二分图匹配-通俗易懂)
题目链接:http://poj.org/problem?id=2446题目大意:给出一个N*M的棋盘,棋盘有些格子是不能放东西的。现在要判断在所以可以放东西的格子上是否能用1*2的小方块填满题目思路:小木块有两个格子,对于棋盘上的每一个格子,如果可以放东西,那么小木块的另一个格子一定在棋盘上这个格子的上下左右。那么对于整个棋盘,从上到下从左到右给它编号1到n*m,并将每一个格子(如果可以放东西)与...
2018-03-31 13:18:00
584
原创 poj-1797 heavy transportation(最短路变形)
题目链接:点击打开链接题目大意:有n个街道,分别标号为1到n。我要从街道1到街道n,现在输入m次两两街道间的距离。每条从1到n的路径中最小值,然后在所有的路径中这些最小值的最大值#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define maxn ...
2018-03-29 23:50:10
165
原创 HDOJ1083(二分图匹配第一题)
题目链接点击打开链接题意:有N(<=300)个学生和p(<=100)门课程,每门课程可能有0个到N个学生去选。现在我们判断是否可以找到p个学生,使得每个学生分别对应一门不同的课程!思路:我现在对每一门课程去找到相匹配的学生,只要有一门课程找不到相匹配的学生,就说明不能找到满足条件的p个学生#include<iostream>#include<cstdio>#...
2018-03-29 23:40:11
196
原创 hdoj1892 see you~ (二维树状数组)
题目Problem Description Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algorithm and Programming, and I met so many good friends. I want to say sorry to Mr,...
2018-03-18 16:26:45
310
原创 hdoj1875&hdoj1162 最小生成树(二道题目相似,分别用prim算法和kruskal算法)
hdoj1875题目:Problem Description 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,...
2018-03-18 16:16:38
326
原创 HDU 1811 Rank of Tetris(并查集&拓扑排序)
题意:Problem Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人的RP从高...
2018-03-17 14:59:29
186
2
原创 HDU 2094(产生冠军)
这一道题目使用c++stl中的map(映射)和set(集合)就特别的简单题目链接:点击打开链接题意特别简单这里就不说了题意是有冠军产生,那么我反向建图,只需要判断入度为0的选手如果为1个,那么有冠军,否则没有冠军#include<iostream>#include<cstring>#include<cstdio>#include<map>#i...
2018-03-03 23:34:31
247
原创 HDU 2647(拓扑排序)
Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewards. The workers will...
2018-03-03 23:01:27
141
原创 poj 3254 Corn Fields
Corn FieldsTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 17862Accepted: 9407DescriptionFarmer John has purchased a lush new rectangular pasture compo
2018-02-05 19:57:50
126
原创 poj 1185
这是状态压缩dp的典型题目,作为一个刚入坑的小白来说还是花了很多时间才搞懂这道题目的orz.-------------------------------------------------------这道题目刚开始看觉得信息量很多,一下子不知道如何下手了,还是太菜了呀。首先我们想到预处理所有合法的状态,然后每一种合法的状态我们用一个数组记录其可以放的炮兵数目。然后烦人的还是每一行的炮
2018-02-05 14:32:50
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人