随笔分类 - ACM
算法学习
摘要:#include <iostream> #include <cstring> #include <string> #include <algorithm> using namespace std; const int N = 1e4 + 10; //四个正整数和一个字符串,分别是:、、、 和 , i
阅读全文
摘要:#include<iostream> #include<cstdlib> #include<algorithm> #include<vector> using namespace std; const int N = 1010, M = 1e5 + 10, MOD = 1e9 + 7; int n;
阅读全文
摘要:数组中重复的数字 //O n O 1 //元素值与角标值 有明显对应关系 //维护一个指针 class Solution { public: int duplicateInArray(vector<int>& nums) { int n = nums.size(); for (auto x : nu
阅读全文
摘要:二分法 lt+rt >> 2 while(lt < rt) mid < v :: >= 第一个大于等于v mid > v :: ⇐ 第一个小于等于v = mid + 1 OR = mid class Solution { public: /** * 二分查找 待测试 * @param n int整型
阅读全文
摘要:用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错) 不应该用 equal() 来比较来自于无序 map 或 set 容器中的元素序列。 任何两个容器对象,只要它们的类型相同,就可以用 <、<=、>、>=、==、!= 进行词典式的比较运算。 STL
阅读全文
摘要:Prim 算法的时间为:O(V lgV +E lgV )=O(E lgV )。 ➢ 从渐进意义上看,Kruskal和Prim算法具有相同的运行时间。 代码 /* *二维数组graph[V][V]记录图 *通过维护一维数组key[V],其含义为: *当前MST到第i个点的所有边中,权重最小为key[i
阅读全文
摘要:最小生成树(Minimum Spanning Trees) Kruskal算法和Prim算法都是典型的贪心算法。 Kruskal Kruskal算法的时间为:O(ElgE)。 ➢ 如果再注意到|E|<|V|2,则有lg|E|=O(lgV ),所以Kruskal算法的时间可表示为O(ElgV)。 适合
阅读全文
摘要:cin、cout超时怎么办 换scanf、printf 使用cin、cout前添加代码: ios::sync_with_stdio(0); //取消iostream的输入输出缓存 cin.tie(0); //解除cin与cout的绑定 cout.tie(0); //换行用"\n" //不使用endl
阅读全文

浙公网安备 33010602011771号