![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Aurora_U
勇敢向前
展开
-
PTA:L1-002 打印沙漏
PTA:L1-002 打印沙漏原创 2023-09-22 07:18:35 · 107 阅读 · 0 评论 -
309. 最佳买卖股票时机含冷冻期(学习使用)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown给定一个整数数组,其中第i个元素代表了第i天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输...转载 2020-07-10 17:02:00 · 157 阅读 · 0 评论 -
201912-1-CCF-报数(详解)
本题的解题思路:就是使用两个标记(cnt1,cnt),一个用来标记个数,另一个用来标记最终要数到的数,对于甲乙丙丁可以用一个for循环即可,含有7或7的倍数,用STL的string中的find函数即可。如果想验证结果是否正确可以检查cnt1与甲乙丙丁四人跳过数的总和的和即可。具体代码如下:/* Name: Copyright: Author: Joy Description: */#include<bits/stdc++.h>using namespa...原创 2020-05-12 22:08:33 · 557 阅读 · 0 评论 -
算法竞赛代码模板
1.快速幂:相关数学知识:基本性质 若p|(a-b),则a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7) (a % p)=(b % p)意味a≡b (% p) 对称性:a≡b (% p)等价于b≡a (% p) 传递性:若a≡b (% p)且b≡c (% p) ,则a≡c (% p) 运算规则模运算与基本四则运算有...原创 2019-12-09 22:52:56 · 406 阅读 · 1 评论 -
KMP算法代码
代码如下:#include<bits/stdc++.h>using namespace std;int next1[1000];void get_next(string T){ int i = 1; int j = 0; int len = T.length()-1; while(i <= len){ if(j ...原创 2019-10-17 23:42:26 · 188 阅读 · 0 评论 -
#1947 : 推断上下级(hiho coder)
#1947 : 推断上下级时间限制:10000ms单点时限:1000ms内存限制:256MB描述H公司包括CEO在内,一共有N名员工,编号1~N,其中CEO的编号是1。除了CEO之外,其他员工都有唯一一名直接上司,形成了一种树形的上下级关系。现在小Hi知道H公司所有的上下级关系,一共M对。换句话说,只要两名员工A和B之间存在上下级关系(直接或者间接),那么A和B一定在这M对...原创 2019-04-02 17:17:09 · 236 阅读 · 0 评论 -
数塔问题
时间限制: 1Sec 内存限制: 128MB题目描述73 88 1 02 7 4 44 5 2 6 5(图一)图一表示一个5行的数字三角形。假设给定一个n行数字三角形,计算出从三角形顶至底的一条路径,使该路径经过的数字总和最大。每一步只能由当前位置向左下或右下。输入你的程序要能接受标准输入。第一行包含一个整数T,表示总的测试次数。对于每一种情况:第...原创 2019-05-02 00:01:53 · 227 阅读 · 0 评论 -
背包问题(简单回溯)
设有一个背包可以放入的物品重量为S,现有n物品,重量分别为w1,w2,w3……wn。问能否从这n件物品中选择若干件放入背包中,使得放入的重量之和正好为S。如果有满足条件的选择,则此背包问题有解,否则此背包问题无解。【input】20 51 3 5 7 9【output】Yes分析:1.假定可以放入背包的总重量为S,物品总个数为n,当前已放入物品的总重量之和sumWeig...原创 2019-04-29 16:15:05 · 1663 阅读 · 2 评论 -
动态规划1
1.钢条切割问题#include<bits/stdc++.h>using namespace std;const int eps=10e-9;int p1[11]={0,1,5,8,9,10,17,17,20,24,30};int q[10010];//递归求解钢条切割int cut_rod(int *a,int n){ if(n==0) { return ...原创 2019-05-07 17:35:09 · 94 阅读 · 0 评论 -
A.⽐赛(comet-OJ)
题目描述NN只小猫站成一排,第ii只小猫的实力值是a_iai。小猫们要组织一场比赛,对于所有1 \le i < j \le N1≤i<j≤N,第ii只小猫和第jj只小猫之间可以展开一场精彩度为a_i+a_jai+aj的比赛,这样,总共就能展开\frac{N(N-1)}{2}2N(N−1)场比赛。熊老师想知道,这\frac{N(N-1)}...原创 2019-05-13 07:59:43 · 220 阅读 · 0 评论 -
C. Computer Game(codeforces)
Vova is playing a computer game. There are in totalnnturns in the game and Vova really wants to play all of them. The initial charge of his laptop battery (i.e. the charge before the start of the ga...原创 2019-06-27 22:38:00 · 1031 阅读 · 0 评论 -
cometOJ(2019.7.28)
题目描述欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢“唱,跳,rap,篮球”的篮球协会,更奇特的是——让人耳目一新的攀树协会。顾名思义,攀树协会会经常组织大家攀爬一些树,比如李超树,左偏树,带花树,智慧树等等。经过社团组织的一番培训后,同学们已经学会了如何在树上的相邻结点中来回爬动。不过上述的树太没意思了,RegenFallen...原创 2019-07-28 22:40:04 · 305 阅读 · 0 评论 -
Huawei Honorcup marathon 1C. Blood Pressure Estimation(血压估算)(未解决)
任务是通过记录的光电容积描记法(PPG)和心电图(ECG)信号估计给定个体的收缩压(SBP)和舒张压(DBP)。对于每个人,都有几个已知的“校准”记录。也就是说,为每个人提供了包含SBP和DBP值以及相应的PPG和ECG信号迹线的所有记录的大约20%。背景血压是血液施加到特定动脉壁上的压力(相对于大气压力)。由于血流量是脉动的,因此通常用两个值来表征血压:最小(舒张压)和最大(收缩压)血压...原创 2019-09-28 15:17:15 · 555 阅读 · 0 评论 -
递归详解(很实用)
如果有需要请关注下面微信公众号,会有收获;递归的定义:在一个函数中再次调用该函数自身的行为叫做递归,通俗的来说就是自己调用自己,其中的思想本质就是:对这n个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。下面我们来看这段代码;#include<iostream>using name...原创 2018-10-27 18:30:52 · 235 阅读 · 0 评论 -
并查集(详解)
定义:并查集是一种用来管理元素分组情况的数据结构。并查集可以高效的进行如下操作,不过需要注意并查集虽然可以进行合并操作,但是无法进行分割操作。1.查询元素是否在同一组;2.合并元素所在的组;结构:并查集使用树形结构来实现的。不过是二叉树;<1>初始化:准备n个结点表示n个元素<2>合并操作;<3>查询操作;Tips:优化算法,提高...原创 2018-09-17 15:54:11 · 185 阅读 · 0 评论 -
连通分量和FloodFill算法
摘自计蒜客:http://www.jisuanke.com/course/35/7547一、连通分量和FloodFill算法首先,我们来介绍一个概念:子图(subgraph)。若一个图的顶点集和边集分别是另一图的顶点集的子集和边集的子集,则称该图为另一图的子图。换句话说,从一个图里选出一部分顶点和边,只要确保选择的边对应的两个顶点也都被选择,那么所有选出的顶点和边组成的图就是原图的子图。...转载 2018-08-14 00:20:45 · 369 阅读 · 0 评论 -
C++之pair
pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去。。pair<string,int> p;pair<int ,int > p;pair<double,int> p;2、应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct ,但为了方便...原创 2018-06-02 23:02:16 · 132 阅读 · 0 评论 -
codevs 1497 取余运算
1497 取余运算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond题解题目描述 Description输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数(2^31范围内)。输入描述 Input Descriptionb p k 输出描述 Output Description输出b^p...原创 2018-07-23 16:54:04 · 233 阅读 · 0 评论 -
codevs 1002 搭桥
1002 搭桥 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold题解题目描述 Description有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物。现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建,如下图城市1有5栋建筑物,可以搭建4座桥将建筑物联系起来。城市2有两座...原创 2018-07-24 18:51:27 · 110 阅读 · 0 评论 -
1008 选数
1008 选数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold题解题目描述 Description已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部...原创 2018-07-24 18:55:43 · 176 阅读 · 0 评论 -
阶乘优化算法
阶乘算法优化2016年11月28日 10:17:37阅读数:3574原文地址:http://blog.csdn.net/yxnk/article/details/1665052我的感言:首先,有一个概念上的认知,即根据阶乘定义而来的常规算法,如果是long int型只能正确计算到12左右的阶乘,如果用double型只能正确计算170左右的阶乘,当然这些只是大概,需要结合实际平台进行...转载 2018-07-19 18:36:23 · 2058 阅读 · 1 评论 -
getline 详解
本文转自:http://blog.sina.com.cn/s/blog_60263c1c0101ck25.html 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下:int main(){ string line: while(getli...转载 2018-07-19 18:49:42 · 761 阅读 · 0 评论 -
C++ STL 常见算法(比较详细)
有需要可以关注微信公众号:算法那些事儿标准库定义了一组泛型算法:因为它们实现共同的操作,所以称之为“算法”;而“泛型”指的是它们可以操作在多种容器类型上,不但可作用于标准库类型,还可用在内置数组类型,甚至其他类型的序列上大多数算法是通过遍历由两个迭代器标记的一段元素来实现其功能使用泛型算法必须包含头文件算法。: #include <algorithm>标准库还定义了...转载 2018-07-28 17:12:25 · 37792 阅读 · 3 评论 -
全排列问题(函数next_permutation和搜索prev_permutation)
组合数学中会对一组数据或字母进行全排列,下面介绍两种解决方案:1.函数next_permutation:这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<算法>,与之完全相反的函数还有prev_permutation:(与next_permutation排列顺序相反,next从序列最小数开始,prev从最大数开始)具体请看: http://www.c...原创 2018-07-29 18:57:10 · 361 阅读 · 4 评论 -
计蒜客:Adjoin the Networks
计蒜客:ACMOne day your boss explains to you that he has a bunch of computer networks that are currently unreachable from each other, and he asks you, the cable expert's assistant, to adjoin the netwo...原创 2018-07-26 16:42:24 · 199 阅读 · 0 评论 -
高精度整数与小数的大数运算模板收集与总结
高精度整数与小数的大数运算模板收集与总结https://blog.csdn.net/f_zyj/article/details/51996429(普通大数运算,高效的大数运算,加强版大数运算)https://blog.csdn.net/MIKASA3/article/details/43203471(高精度小数加法)https://blog.csdn.net/gray_1566/art...转载 2018-07-22 17:30:20 · 268 阅读 · 0 评论 -
ACM常用经典算法
模板是帮助你学习,但是用太多模板是不好的 ,你需要深入学习内化为自己的。1.埃拉托斯特尼筛法/* |埃式筛法| |快速筛选素数| |16/11/05ztx|*/int prime[maxn]; bool is_prime[maxn];int sieve(int n){ int p = 0; for(int i = 0; i <=...原创 2018-08-05 18:45:32 · 4744 阅读 · 1 评论 -
1002. 二哥种花生(前缀和)
1002. 二哥种花生Description二哥在自己的后花园里种了一些花生,也快到了收获的时候了。这片花生地是一个长度为L、宽度为W的矩形,每个单位面积上花生产量都是独立的。他想知道,对于某个指定的区域大小,在这么大的矩形区域内,花生的产量最大会是多少。Input Format第1行有2个整数,长度L和宽度W。第2行至第L+1行,每行有W个整数,分别表示对应的单位面积上的花生...原创 2018-08-18 19:02:19 · 442 阅读 · 0 评论 -
sort的学习(很好的QAQ)
阅读目录1.sort2.sort简介3.sort扩展1.sort使用:#include <algorithm> using namespace std;作用:排序时间复杂度:n*lg(n)实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法...原创 2018-05-01 16:20:30 · 203 阅读 · 0 评论