自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 Centos下HPL测试工具安装

内容部分来自:Linpack之HPL测试 (HPL Benchmark)并参考mpich+blas+hpl 集群配置安装HPL之前需要配置好:BLAS/CBLAS/ATLAS 库 GCC/Fortran77编译器MPICH 并行环境安装步骤复制文件:sudo cp CBLAS/lib/* /usr/local/libsudo cp BLAS-3.8.0/blas_LINUX.a /usr/local/lib下载 hpl-2.3.tar.gzwget http://www.net

2020-12-13 15:35:43 788

原创 (Centos)HPL安装前环境准备—BLAS/CBLAS/ATLAS库

部分来自 安装向量和矩阵运算库函数安装BLAS之前需要:安装 GCC/GFortran 环境下载 blas-3.8.0.tgz并解压:wget http://www.netlib.org/blas/blas-3.8.0.tgztar -xzf blas-3.8.0.tgzcd BLAS-3.8.0编译生成blas_LINUX.a:make链接.o文件生成libblas.a文件:ar rv libblas.a *.o下载 cblas.tgz:wget http://www.netl

2020-12-13 11:31:36 659

原创 阿里云Centos下HPCG安装和使用

阿里云Centos安装HPCG部分内容来自:MPICH安装 HPCG安装安装HPL之前配置:CXX编译器(检查:c++ -v)MPICH 并行环境MPICH环境配置一般默认安装C++编译器,我们需要安装MPICH并行环境安装fortran77:yum install gcc-gfortran下载 mpich-3.2.1.tar.gz:wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz解压和配置操作

2020-12-13 10:22:28 324

原创 西工大算法实验2020年复习

算法实验DFS堡垒问题#include <iostream>using namespace std;int n;int a[4][4];int mcnt;//Maxint cnt;//nowvoid dfs(int m);bool ok(int i,int j);int main(){ cin>>n; while (n){ char c; for (int i = 0; i < n; ++i) {

2020-12-04 14:51:59 246

原创 ACM算法——组合数学

卡特兰数问题:n对括号有多少种合法的匹配方式?(卡特兰数的常见应用之一)结论:对于n对括号,合法的排列共有C(n,2n)-C(n+1,2n)基本思路:考虑n对括号,有n个(和n个),对于任意一个)其前面必定有一个(跟他对应,如果没有则是非法序列。也就是说,对于),其前面的(的数量必须大于等于)的数量。假设(=1,)=-1。合法的序列是 1 -11 -1 1 -1,不合法的序列是1 -1 -1 1 1 -1。n对括号的全排列数为C(n,2n),减掉那些不合法的排列数就得到了合法的排列数,那么不合法

2020-08-08 23:12:18 285

原创 计算几何相关问题

计算几何是直接可以拿kuangbin的板子进行写的,但是还是需要有自己的一些储备。方法:从平面几何->解析几何首先,我们需要判断浮点数符号。const double eps = 1e-8;//...int sgn(double x) { if (fabs(x) < eps)return 0; if (x < 0)return -1; else return 1;}通过面向对象思想来定义点直线struct Line { //点向式直线

2020-08-08 22:53:25 174

原创 字符串算法的应用

字典树字典树的概念:字典树是一棵树,字符在边上,一条路径上的全部字符构连成一个字符串。字典树是用来处理多串问题的,主要是用来查找,还可以求两个串的lcp(最长公共前缀)。struct Trie{int tot, ch[maxn][26], end[maxn];void init(){while(tot--)cl(ch[tot+1]),end[tot+1]=0;tot=1;}int append(int pos, int c){int &t=ch[pos][c];return .

2020-08-08 22:09:50 145

原创 动态规划优化方法

之前我们学习过动态规划方法,但是并没有对DP进行系统细致的优化。今天来看一下DP的优化方法。一、矩阵优化线性代数教材中可能讲过,通过矩阵进行快速的重复运算(矩阵快速幂)。(以下是矩阵快速幂的写法)直接看题:求斐波那契数列第n项余1e9+7后的值,其中1<=n<263通过使用普通的动态规划(递推)显然会爆掉,矩阵加速就十分使用与这种线性的递推DP,构造矩阵再配上矩阵的快速幂,以logn的时间复杂度求出答案。02 单调队列优化多重背包的时候就可以用到,主要突出的是单调性。

2020-08-08 17:34:05 1582

原创 ACM算法——线性筛

应用:判断是否为素数第一个想法:普通优化,对数字加根号遍历。不够优秀第二个想法:如果我们知道一个数是素数,那么我们可以将这个素数的倍数筛去。我们从2开始,每次循环到一个数,先判断它是否被筛过,如果没有,那么它肯定是素数,就用它去筛它的倍数,否则就跳过。上述的筛法称为:埃氏筛法复杂度大约为nln(n) 这个算法时间主要浪费在一个数字会被重复筛去。比如 6 = 2 * 3。它被2筛了一次, 被3又筛了一次。为了解决这个问题,便出现了一个快速的线性筛法,也称为欧拉筛法。欧拉筛法没有冗余,不会重复筛

2020-08-08 17:11:44 686

原创 ACM数论算法——欧拉函数

欧拉函数:1到N中所有与N互质的数的个数就叫欧拉函数,记做Φ(N)使用方法:性质:1.当p为质数时, φ§ = p – 12.若p为质数,且n=????^????,则φ(n) = ????^???? - ????^(????−1)证明:直接用欧拉函数计算公式可以得出3.欧拉函数是积性函数先介绍一下什么是积性函数,后面将会用到。若当m与n互质时,f(n*m) = f(n) * f(m), 则称为f(x)为积性函数特殊的,当n为奇数时, φ(2 * n) = φ(n)4. 当n&gt

2020-08-08 15:53:14 241

原创 逆元的推理以及应用

当求解公式:(a/b)%m 时,因a,b可能会过大,会出现爆精度的情况,所以需变除法为乘法当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法:设c是b的逆元,则有bc≡1(mod m);则(a/b)%m = (a/b)1%m = (a/b)bc%m = ac(mod m);即a/b的模等于ab的逆元的模;使用方法(采用扩展欧几里得exgcd):ll extend_gcd(ll a, ll b, ll &x, ll &y) { if (

2020-08-08 15:25:29 280

原创 欧几里得算法与扩展欧几里得算法(Gcd and Exgcd)

作用:求最大公约数欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:证明过程:定理:gcd(a,b) = gcd(b,a mod b)证明:a可以表示成a = kb + r,则r = a mod b假设d是a,b的一个公约数,则有d|a, d|b,而r = a - kb,因此d|r因此d是(b,a mod b)的公约数假设d 是(b,a mod b)的公约数,则d | b , d |r ,但是a = kb +r因此d也是(

2020-08-08 14:54:30 324

原创 线段树 树状数组 并查集

利用线段树十分方便的处理区间,线段树是一棵完美的二叉树,树上的每一个节点都维护一个区间,根维护的是整个区间,线段树通常用来计算区间内数据的和或者是修改某处的值。对区间的操作可以再O(logn)的时间内完成。下面我们通过代码实现线段树的构建,修改,区间求和。#include <iostream>#include <cstdio>//线段树#define MAX_LEN 1000//构造线段树void build_tree(int arr[],int tree[],in

2020-08-08 00:07:44 305

原创 动态规划(Dynamic Programming) 背包问题初探

引例:如何计算斐波那契数列?递归记忆化搜索动态规划(递推)动态规划:避免无用的重复计算,提高处理的效率。将一个问题拆成几个子问题,分别求解这些子问题,即可推断出大问题的解。当子问题具有重叠性时 (同一个子问题多次出现),相比于搜索 (递归),利用 dp 就可以避免重复计算,节省时间。适用条件最优子结构:大问题的最优解可以由小问题的最优解推得。无后效性:当前问题的解只与已求得问题 (过去) 的解有关,而与未求得的问题 (未来) 的解无关。解决方法:确定状态状态是比较抽象的,如何正

2020-08-07 15:04:30 160

原创 STL笔记梳理2 常用算法

STL algorithmsort(最常用了)//sort(first,last,cmp);int n;int a[MAX];/*数组 */sort(a, a+n);vector <int> A(n);sort(A.begin(), A.end()); //完美排序二分查找int a[] = {1,2,3,4,4,4,5,6,7};int x = lower_bound(a, a+9,4) - a;cout << x << "\n"; /

2020-08-06 11:26:13 97

原创 STL笔记梳理一STL常用函数

STL 故名思意标准模板库(Standard Template Library)常见使用方式:pairpair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去。(二元结构体)用法如下:pair<int, double> p1;p1 = make_pair(1, 1.2)//以上赋值操作pair<int, double> p1(1, 1.2);pair<int, double> p2 = p1;

2020-08-06 10:54:30 229

原创 洛谷 P1308 统计单词数

str.length();和str.size();本质完全一致思路:通过循环找到每一个单词的开头,再通过一个循环对任何一个字母进行匹配。(先要完成统一的大小写转换)完成之后,注意下标之间的关系。主要易错点:忽略了待匹配的单词在末尾的情况。不会使用大小写转换函数。参考代码:#include <iostream>#include <cmath>#include<algorithm>#include<iomanip>#include&lt

2020-07-30 23:34:11 176

原创 for循环中++i 和 i++ 的区别

for循环中++i 和 i++ 的区别根据上面的for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句3,但是性能是不同的。在大量数据的时候++i的性能要比i++的性能好原因:i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能...

2020-07-30 20:37:51 463

原创 洛谷P1957 口算练习题 sscanf妙用

首先,先说明一下sscanf与scanf的区别sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 … );  int scanf( const char *format [,argument]… );  说明:  **sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。**  其中的f

2020-07-30 20:10:56 238

原创 P1125 笨小猴(哈希方法)

思路,将26个字母按数字顺序存入数组,再逐一搜搜,记录每个数据出现的次数,找出最大值和最小值,然后做差判断素数即可(已经对单词的字母进行排序)代码如下 最重要的是按照创造一个数组存入相应的字母出现的次数#include<iostream>#include<algorithm>#include<iomanip>#include<cstring>#include<cstdio>#include<cmath>#include&

2020-07-29 23:16:02 225

原创 洛谷 P1009 阶乘之和(高精度问题)

P1009 阶乘之和需要考虑大数据的高精度问题#include<iostream>#include<bits/stdc++.h>using namespace std;int a[2000];int c[2000];//这才是正常的代码//代码很妙void pplus(int *a,int *c){ //高精加法 //a、c都是正常传进来的 int jw=0; for(int i=1;i<=1000;i++) {.

2020-07-25 10:23:34 235

原创 洛谷新手村P1055 ISBN号码(Scanf妙用)

错误代码如下,WA声一片片。原因,没有考虑首位数字为0的情况。方法:修改本程序的设计,改为使用数组存储每位数字。一个比较巧妙的解决方法://根据scanf的特性 scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9],&t1);#include <iostream>#include &l

2020-07-24 20:38:36 163

原创 unsigned long long妙用

洛谷 P2181 对角线使用unsigned long long可以防止爆精度以下是各精度的范围#include <iostream>#include <cstdio>using namespace std;int main() { unsigned long long a,b; cin>>a; b=a*(a-1)/2*(a-2)/3*(a-3)/4; printf("%lld",b);// 那为什么这样一定是对的呢?

2020-07-24 17:16:09 2612

西电通院模电大作业3

用一片通用四运放芯片LM324组成电路,实现以下功能:用低频信号源产生ui1=0.1sin2πft(V),f=500Hz的正弦波信号,加至加法器的输入端,加法器的另输入端加入有自制振荡器产生的信号uo1。要求加法器的输出电压ui2=10 ui1+ uo1。ui2经选频滤波器滤除uo1频率分量,选出f信号为uo2,uo2为峰峰值等于9V的正弦信号。uo2信号经比较器后在1KΩ负载上得到峰峰值2V的输出电压uo3。用NI Multisim 打开即可,参数已调好。对应博客:https://blog.csdn.net/weixin_43723423/article/details/90761331

2020-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除