1. 堆合并 两个完全二叉堆的合并算法: 1.1 A.insert( B.del_max() ) 完全二叉堆是基于vector实现的,故若采用合并算法,只需将堆A(n)作为一个基本堆,进而不断的将堆B(m)的元素进行删除取出,重新插入A中。 每次迭代为一次删除和一次插入操作,共进行m次迭代。 复杂度 ...
分类:
其他好文 时间:
2020-03-07 13:20:44
阅读次数:
88
"题目" DP 险过。 dp[i][j] :means it need remove at least dp[i][j] characters to get vaild parenthese from position i to postion j in string. vector str[i][ ...
分类:
其他好文 时间:
2020-03-07 12:52:52
阅读次数:
52
这题如果考虑考虑用数组折腾会非常麻烦,如果想到用vector的insert函数和erase函数就会非常舒服的模拟出来。vt.erase(it)之后it就变成了野指针,所以要用it=erase(it),这样it就会自动指向下一个元素。 #include<cstdio> #include<iostrea ...
分类:
其他好文 时间:
2020-03-07 12:37:50
阅读次数:
69
link #include <cstdio> #include <cmath> #include <vector> #include <algorithm> #include <climits> #include <unordered_map> #include <cstdio> #include ...
分类:
其他好文 时间:
2020-03-07 09:43:40
阅读次数:
61
基本思想: 无; 关键点: 无; #include<iostream> #include<vector> #include<string> using namespace std; int charge(string a, string b) { int cnt=0; for (int i = 0; ...
分类:
其他好文 时间:
2020-03-07 09:35:02
阅读次数:
64
快速幂可以通过算式化简来有效的减少计算量; 例如8^5,如果不采用任何化简方式,则是8*8*8*8*8; 快速幂思想就是将指数进行分解,从而减少计算次数,参照的是二级制下的指数分离思想; 对于5,可以化为101二级制串,所以5=2^0+2^2; 所以8^5=8^1*8^4,从而有效地从五次计算化为了 ...
分类:
其他好文 时间:
2020-03-07 09:17:54
阅读次数:
62
题目链接:https://www.luogu.com.cn/problem/P1434 想法: 记忆化搜索板子题: #include <algorithm> #include <string> #include <string.h> #include <vector> #include <map> ...
分类:
其他好文 时间:
2020-03-07 00:14:39
阅读次数:
91
Problem Description 作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师 ...
分类:
其他好文 时间:
2020-03-06 21:38:34
阅读次数:
71
基本摘抄自百度百科 1,使用条件 头文件 <vector> 和 using namespace std; (因为他是属于 C++ 的) 2, 定义:简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。(度娘) 3,使用 : vector <int> c; // 长度未知,未初 ...
分类:
其他好文 时间:
2020-03-06 19:12:44
阅读次数:
55
#include <iostream> #include <vector> using namespace std; int binarySearch(vector<int>&vec, int target) { int left = 0; int right = vec.size() - 1; i ...
分类:
编程语言 时间:
2020-03-06 17:43:43
阅读次数:
50