【幂次方 洛谷——分治算法 P1010】教程文章相关的互联网学习教程文章

算法设计与分析 5.5 真-白给题【代码】

★题目描述给定1-n的一个排列,要求你将它们重排,使得任意两个相邻的数的和为质数。★输入格式一个正整数n。n<=20。★输出格式输出一行一个1-n的排列,满足相邻的两个数相加为质数。如果有多组解,输出字典序最小的那一个。如果无解,输出-1。★样例输入2★样例输出1 2★样例输入3★样例输出1 2 3★提示无★参考代码/* 优化:满足要求的数列必定是一积一偶排列的 */#include<bits/stdc++.h> using namespace std; int n; int res...

C++ 顺序栈基本算法实现【代码】

C++ 顺序栈基本算法#ifndef SeqStack_h #define SeqStack_h #include <iostream> usingnamespace std; constint StackSize = 1024; template <class T> class SeqStack{ public:SeqStack(){top = -1;}SeqStack(T a[], int n);void Push(T x);T Pop();T GetTop();bool Empty();int GetLength();void PrintSeqStack(); private:T data[StackSize];int top; }; template<class T> SeqStack<T>::SeqStack(T a[], int n){top = -1;if(n...

1033. To Fill or Not to Fill (25) -贪心算法【代码】

题目如下:With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You are asked to carefullydesign the cheapest route to go.Input Specification:Each input file contains one test case. For each case, the first line contai...

算法:(四)栈和队列

(一)栈和队列的基本性质栈是先进后出的队列是先进先出的栈和队列在实现结构上可以有数组和链表两种形式数组结构实现较容易用链表结构较复杂,因为牵扯很多指针操作(二)队列和栈的基本操作pop操作(栈尾弹出一个元素)push操作(栈/队列尾加入一个元素)shift操作(队头弹出一个元素)栈和队列的基本操作,都是时间复杂度都为O(1)的操作(三)深度优先遍历(DFS)和宽度优先遍历(BFS)深度优先遍历可以用栈实现宽度优先遍历可以...

最短路径-dijkstra算法【代码】

dijkstra大神发明的算法朴素的dijkstra算法时间复杂度为O(nn),只能处理包含正权边的图。 使用优先级队列或堆优化过的dijkstra算法时间复杂度为O(Nlog(N))下面是优先级队列优化的dijkstra代码源码/* input:点数 N,边数 M,起点S,终点T,以及M组路线(起点 终点 终点) */ #include <iostream> #include <queue> #include <cstdio> #include <cstring> using namespace std; #define maxN 1024 #define maxM 10240 int n, m, s, t; ...

IOS 九宫格算法【代码】

@interface ViewController ()@property (nonatomic,strong) NSArray *apps; //获取.plist数据@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];//九宫格的总列数int totalColumns=5;//1.1个格子的尺寸CGFloat appW=50;CGFloat appH=60;//2.计算间隙 =(控制器view的宽度 -5*应用宽度)/应用宽度+1CGFloat margin=(self.view.frame.size.width-totalColumns*appW)/(totalColumns+1);//3.要的应用个数...

Java学习资料-Java常用算法-堆排序

/** * 堆排序 * * @param array * @param length */public void heapSort(int[] array, int length) {// 调整为大根堆的形式// 存储根堆的元素个数int currentSize = length;int start = (currentSize - 2) >>> 1;while (start >= 0) {siftDown(array, start, currentSize - 1);start--;}int end = array.length - 1;while (end > 0) {swap(array, 0, end);end--;siftDown(array, 0, end);}}原文:http://my.oschina.net/ysh3940/...

MD5算法【代码】【图】

MD5是一种散列算法 是不可逆的publicstaticstring GetMD5(string sDataIn){MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();byte[] bytValue, bytHash;bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);bytHash = md5.ComputeHash(bytValue);md5.Clear();string sTemp = "";for (int i = 0; i < bytHash.Length; i++){sTemp += bytHash[i].ToString("X").PadLeft(2, ‘0‘);}return sTemp.ToLower();}原文...

最小生成树 Kruskal算法【代码】【图】

<SPAN style=‘font-family: "comic sans ms", sans-serif;‘>Kruskal算法<SPAN style=‘font-family: "comic sans ms", sans-serif;‘> <SPAN style=‘font-family: "comic sans ms", sans-serif;‘>1.概览 <SPAN style=‘font-family: "comic sans ms", sans-serif;‘>Kruskal算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应...

RSA加密算法java简单实现

简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。package security; import java.security.*; import java.security.spec.*; import java.security.interfaces.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*; import java.io.*; import java.math.*; public class RSADemo {public RSADemo() {}public static vo...

银行家算法

银行家算法是资源和死锁避免的算法,由艾兹格·迪杰斯特拉(Edsger Dijkstra) 设计的算法用于测已确定总数量的资源分配的安全性,在决定是否该分配应该被允许并进行下去之前,通过“s-state”校验码测试资源分配活动期间产生死锁条件的可能性。 该算法是为为THE操作系统设计并且最在在EWD108描述。当一个新的进程进入系统时,进程必须声明所需每个资源实例最大的数量和类型。显然,资源数量不不能超过系统最大的资源数。与此...

算法笔记_164:算法提高 最小方差生成树(Java)【代码】【图】

目录1 问题描述2 解决方案 1 问题描述问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。样例输入4 51 2 12 3 23 4 24 1 12 4 34 61 2 12 3 23 4 34 1 12 4 31 3 30 0样例输出Case 1: 0.22C...

给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:

X1=1/2(x0+a/x0)例如,a为2时,平方根值:1.414214 #include <stdio.h>#include <math.h>double fun(double a, dounle x0){ double x1, y; x1=(x0+ a/x0)/2.0;if( fabs(x1-x0)>=0.00001 ) y=fun(a,x1); else y=x1; return y;}main( ){ double x; printf("Enter x: "); scanf("%lf",&x); printf("The square root of %lf is %lf\n",x,fun(x,1.0));}原文:http://www.cnblogs.com/lozjl/p/7775045.html

KMP算法【图】

1 // 根据算法引论一书中的说明写的程序 2 #include <stdio.h> 3 #include <string> 4 #define MAX_N 1000 5 using std::string; 6 7 int next[MAX_N]; 8 9 void generate_next(const string& pattern) {10 next[0] = -1;11 for(int i = 1; i < pattern.length(); ++i) {12 int j = next[i-1];13 while (j >= 0 && pattern[j] != pattern[i-1])14 j = next[j];15 16 // either patt...

AQI算法(原创)【代码】

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace GETAQI.Resolution {//计算空气aqi的值public class AQI{//中国浓度标准int[] a = new int[] { 0, 35, 36, 75, 76, 115, 116, 150, 151, 250, 251, 350, 351, 500 };//中国AQI标准int[] b = new int[] { 0, 50, 51, 100, 101, 150, 151, 200, 201, 300, 301, 400, 401, 500 };//标准浓度最低值public int CLOW { get; set; }//标...