![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
托马斯,成
这个作者很懒,什么都没留下…
展开
-
字符串~~
读入字符串的几种方法总结:1.cin:cin不能遇到空格或者换行2.getline:不能遇到回车(包括string的getline(cin,s) 和 char的cin.getline(s,100))3.fgets():不能遇到换行。案例一题目:给定一行长度不超过 100 的非空字符串,请你求出它的具体长度。输入:输入一行,表示一个字符串。注意字符串中可能包含空格。输出:输出一个整数,表示它的长度。输入样例:I love Beijing.输出样例:15getline的写法#incl原创 2021-10-18 18:49:45 · 118 阅读 · 0 评论 -
双指针算法
算法-双指针算法一.基本模板#include<bits/stdc++.h>using namespace std;int main(){ for(int i = 0, j = 0 ; i < n ; i ++) { while(j < m && check()) j++; // 具体题目的逻辑应用 }}案例一题目,有一个字符串“abc dhg jaj lll ahin”,要求输出单词,换句话说就是去掉空格。输入:“abc dhg j原创 2021-10-16 23:42:53 · 123 阅读 · 0 评论 -
c++中unique函数实现
#include<iostream>#include<algorithm>using namespace std;const int N = 1010;int a[N];int get_unique(int a[],int n){ int j = 0; for(int i = 0 ; i < n ; i++) { if(a[i] != a[j]) { j++;原创 2021-10-12 20:55:51 · 469 阅读 · 0 评论 -
贪心-最大不相交点集
题目介绍解题思路我们先把区间通过右端点排序,然后设置一个很小的标志位,通过贪心的思想,如果当前的左端点在标志位的右边说明这还是一个独立的区间,而且还是当前右端点离标志位最近的区间,那我们就可以把区间数加一,之后同理代码实现#include <iostream>#include <algorithm>using namespace std;const int N = 100010;int n;struct Range{ int l, r; b原创 2020-08-13 08:37:00 · 161 阅读 · 0 评论 -
贪心-区间选点问题
题目要求主要思路主要采用的就是贪心的思想,首先以每一段的右端点为判断依据,通过重定义排序规则,使得排序规则是以右端点的大小来排序,然后通过遍历整个数组,如果左端点小于当前指定标志位端点,说明这段是在点的内部范围内的,就忽略,如果不是在当前指定标志位端点,那么就记录端点数加一,同时更新标志位端点为当前右端点。源码展示#include<iostream>#include<algorithm>using namespace std;const int N = 10001原创 2020-08-13 08:24:27 · 187 阅读 · 0 评论 -
蚁群算法
最近要数学建模所以查了一些算法。以下为转载内容这是原创博客链接https://blog.csdn.net/fanxin_i/article/details/80380733# -*- coding: utf-8 -*-import randomimport copyimport timeimport sysimport mathimport tkinter # //GUI模块i...转载 2019-09-02 19:07:03 · 403 阅读 · 0 评论 -
蒙特卡洛方法
这个算法是用来求解积分和一些运算的,主要就是通过概率模拟的方法,比如对于Π或者积分import randomdef calpai(): n = 1000000 r = 1.0 a, b = (0.0, 0.0) x_neg, x_pos = a - r, a + r y_neg, y_pos = b - r, b + r count = 0...转载 2019-09-02 19:26:30 · 221 阅读 · 0 评论 -
动态规划之矩阵连乘问题
#include<iostream>using namespace std;const int N = 7; // 这里的p是传入的矩阵的行列数,每个相邻的数字代表行列,// m为最优的运行次数,s为运行的路线,length为矩阵个数,l是矩阵相距的距离。 void MatirxChainOrder(int *p,int m[N][N],int s[N][N],int le...转载 2019-09-20 15:04:37 · 215 阅读 · 0 评论 -
快速排序加生成随机数加二分搜索(分治法)
最近要求做一个算法实验,就是用二分法写快速排序,当然我们还要测试,还需要大量的数据测试,但是我们知道通过rand函数的话,我们最大的函数范围才为30000多,这个rand的原理是通过初等数论中的同余定理而来(我也不太懂,因为没学过初等数论),接下来就是演示代码及解释我对如何产生10万个数字的随机不重复的数组理解。#include"Qsort.h" #include<iostream>...原创 2019-10-02 10:40:49 · 509 阅读 · 0 评论