Algorithms
坚持学习的你
还在学习中...
展开
-
VSCode中Java程序入口的数据输入流的常用形式
编写算法时,往往输入须提前设置好,如果使用输入文件重定向为输入流时,方便调试输入,查看输出。综合两种方法,更喜欢2.1.2命令行外嵌形式和输入文件重定向输入流方式。太爱了~原创 2022-11-21 20:19:39 · 1359 阅读 · 1 评论 -
区间合并题
引言:给定nn个区间[li,ri][li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3][1,3]和[2,6][2,6]可以合并为一个区间[1,6][1,6]。输入格式第一行包含整数nn。接下来nn行,每行包含两个整数ll和rr。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤1000001≤n≤100000,−109≤li≤ri≤109in...原创 2021-11-13 21:47:06 · 402 阅读 · 0 评论 -
PAT A 1046 Shortest Distance
题源:https://pintia.cn/problem-sets/994805342720868352/problems/994805435700199424Ans1:#include <iostream>#include <vector>using namespace std;// 运行超时,,,需优化。int main(){ int n,m;...原创 2020-04-01 18:32:01 · 195 阅读 · 0 评论 -
HDOJ.1203-I NEED A OFFER!
动态规划典型题- 我要offer!DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Spe...原创 2020-03-20 21:25:11 · 195 阅读 · 0 评论 -
多重背包问题
1.多重背包问题问题描述:有一个容积为V的背包,同时有N种物品,有对应种类的体积w和价值v,且每种物品K件;求该背包最多能装下的物品价值总和。分析问题:将完全背包问题转换为0-1背包问题,背包对每种物品能装入min{k,V/wi}件,所以转换为0-1背包问题则物品总数N为状态描述:dp[i][j]表示第i件物品对于当前占用容量为j的价值状态,其中1<=i<=N,0&l...原创 2020-03-20 16:11:58 · 453 阅读 · 0 评论 -
HDOJ.1114-Piggy-Bank
Topic Description: Before ACM can do anything, it must prepare budget and obtain necessary financial support. The main revenue from the move comes from irreversibly binding currencies (IBM). The ...原创 2020-03-18 11:08:30 · 297 阅读 · 0 评论 -
完全背包问题
1.完全背包问题完全背包问题即0-1背包问题的扩展,每个物品都有无穷件,即相同物品可累加放入背包;问题描述:有一个容积为V的背包,同时有n种物品,有对应种类的体积w和价值v,且每种物品有无穷件;求该背包最多能装下的物品价值总和。分析问题:将完全背包问题转换为0-1背包问题,背包对每种物品能装入V/wi件,所以转换为0-1背包问题则物品总数N为状态描述:dp[i][j]表示第i...原创 2020-03-17 10:35:22 · 614 阅读 · 0 评论 -
0-1背包问题
1. 0-1背包问题0-1背包问题模型:一个总容量V的背包和N件物品,每件物品都有其体积w,价值v;每个物品是否在背包中即0-1情况,故称该种问题为0-1背包问题。要求背包能装下价值尽可能多的物品,求最大价值;状态描述:dp[i][j]表示第i件物品对于当前占用容量为j的价值状态,其中1<=i<=n,0<=j<=V;状态分析:第i件物品是否加入背包,...原创 2020-03-16 17:14:19 · 409 阅读 · 0 评论 -
最长公共子序列
1.最长公共子序列(Longest Common Subsequence,LCS)案例:求str1,str2最长公共子串长度状态描述:dp[i][j] 表示str1前i个字符串与str2前j个字符串最长公共子串长度状态分析:(1)当str1[i]=str2[j]时,在取str1的前i-1和str2的前j-1公共子串最长+1 (2) 当str1[i...原创 2020-03-16 14:36:45 · 138 阅读 · 0 评论 -
最长递增子序列
1.最长递增子序列(Longest Increasing Subsequence,LIS)例:{1,4,3,2,6,5}F(1) F(2) F(3) F(4) F(5) F(6) 1 2 2 2 3 3 Longest Increasing Subsequence Example's Code:...原创 2020-03-15 21:12:28 · 1751 阅读 · 0 评论 -
HDOJ-Problems
1.Presentation Error遇到的情况为输出格式问题,输出数列之间有空格,数列尾部输出不能有空格。解决:可输出时逻辑判断并调试。1002 PresentationError-java-感觉没问题的问题import java.io.*;import java.math.BigInteger;import java.util.Scanner;public class M...原创 2019-12-30 15:50:55 · 167 阅读 · 1 评论 -
排序算法
常见的排序算法交换两变量的值swap函数void swap(int *a,int *b){ if(a == b) return; //当两指针指向同一地址时,*a = *a^*a; 1^1==0 ,异或本身为0 //if(*a == *b) return; *a ^= *b; //所有就有这样的疑惑,不同地址但地址所存数值相同,进行以下异或操作也能交换,若*a=1,*b=1,经过...原创 2018-12-20 13:44:02 · 367 阅读 · 0 评论 -
c实现大整数存储x^n
c实现x^n,无符号int(4 byte)类型最大只能存储 值为2^32-1的整形,若是我们在int型或long(8 byte,正max 2^64 -1)型最大之外数我们如何存储,这是我们采取多位数组存储大整数,完成pow函数,并基本类型不能存储的大整数存储。这里仅讨论正大整数,若是需要负大整数可转换为正整数运算再添加负号表示/** * x^n( x=(1,2,...,n) n=(1...原创 2018-12-24 15:38:34 · 707 阅读 · 0 评论 -
AOE网问题和解决
AOE网问题和解决课程设计有这个题目所有将解决AOE网(附代码)做什么都得先构想好,理解到理解好,静下心来思考后再去用代码实现构想。AOE的概念:Activity On Edge.也就是说我们用边代表活动。顶点表示事件。弧头,弧尾都是事件,弧上的权值表示活动的持续时间。因此这样的有向图也被称作活动网。关键路径具有最大路径长度的路径称为关键路径。关键路径上的活动称为关键活动。原创 2018-01-23 22:13:57 · 5012 阅读 · 1 评论 -
算法实现:判断二叉树是否为完全二叉树
1.什么是完全二叉树对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,自左而右。若一棵深度为k的,有n个结点的二叉树,当且仅当其每一个点都与深度为k的满二叉树(2^k - 1 个结点)中编号为1到n的的结点一一对应时称之为完全二叉树。也可以理解为:k-1层为满二叉树,k层所有叶子结点左边靠齐。2.算法的实现在 c实现链式存储二叉树和层次遍历的层次遍历若以NU...原创 2019-01-09 19:55:38 · 15417 阅读 · 4 评论 -
最大子列和问题
将一个问题的算法复杂度O(n^3)干道O(n^2)到O(nlog2n)到O(n)的过程是多么的feel at easy。算法的魅力,解决同一大数量级问题的快与慢,明显体现,请撸码体验测试源码:https://github.com/linrenyao/Algorithm/blob/master/MaxSumSubList.cpp //穷举 O(n^3) int algorithm...原创 2019-05-23 19:08:56 · 147 阅读 · 0 评论 -
大整数加减乘除
用指定位数的数组存储大整数,每一位对应一位,若大整数长度小于数组长度,索引已0开始的称高位,高位补零即int a[10]存储数值为:123456a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 0 0 0 0 1 2 3 4 5 6...原创 2018-12-26 14:14:32 · 706 阅读 · 0 评论