自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 求最长下降子序列的长度的小技巧

当我们学会了最长上升子序列长度的求法后,只需要改动一点点就可以求出最长下降子序列的长度了:最长上升子序列的所有元素全加上负号不就变成最长下降子序列(LDS)了!如果想求LDS的长度,直接把所有元素加上负号,然后求LIS的长度,求得的就是LDS的长度!int LDSOnlogn(){ dp[1] = -a[1]; int maxlen = 1; int pos; for(int i=2 ; i<=n ; i++) { if( -a[i] &

2021-02-21 17:42:58 523

原创 HDU1025-最长上升子序列(LIS)模板题+O(nlogn)二分查找优化

题目链接题目大意:在两条平行线间连点,要在线不交叉的前提下尽可能多的连线,问最多能连多少条线。这题是最长上升子序列(LIS)模板题,我们先给出最基础的O(n2)O(n^2)O(n2)动态规划算法:设a为一个序列,a[i]为序列a从左往右第i个元素;设dp[i]为----序列a中以元素a[i]结尾的所有子序列中的最大上升子序列状态转移方程: dp[i] = max { dp[j] | j<i 且 a[j]<a[i] } + 1 ,( i从1到n,j从1到i-1 )模板如下:in

2021-02-20 18:20:20 181

原创 POJ 2111 Millenium Leapcow(记忆化搜索+dfs记录路径)

题目链接思路对N*N网格中所有点进行搜索(dfs),搜索过程中对每一步进行记忆化存储,即dp数组保存从当前点开始可获得的最高得分,若后面需要用到前面计算过的数据,直接读取dp数组即可。dp[i][j]表示从点(i,j)出发可获得的最高得分。由于本题需要输出最小的路线,所以在搜索过程中要注意,得分相同的两条路要考虑所在点的数字大小。路径的记录用结构体保存。不要忘了比较得分相同的起点中,哪个点的数字最小!代码:#include <iostream>#include <c

2021-02-16 09:53:23 168

原创 HDU1041 Computer Transformation

A sequence consisting of one digit, the number 1 is initially written into a computer. At each successive time step, the computer simultaneously tranforms each digit 0 into the sequence 1 0 and each digit 1 into the sequence 0 1. So, after the first time s

2021-02-04 09:33:11 72

原创 UVa1593 Alignment of Code (代码对齐)

题目链接:https://vjudge.net/problem/UVA-1593思路:利用stringstream分割字符串,从而除掉空格,保存在vector容器中,与此同时,保存下来每一列字符串的最大长度。输出的时候要控制好空格的数量,不要出错~记得不要再最后一列输出多余的空格。代码:#include <iostream>#include <vector>#include <sstream>#include <cstring>using

2021-01-15 15:49:37 139

原创 4-1例题(Uva1339 - Ancient Cipher)

题意输入两行有由大写字母组成的字符串,第一行为转换过后的密码,第二行为转换前的密码密码转换的方式有两种:Substitution(一个字母对应一个字母)Permutation(打乱字母顺序)原始密码需经过两种转换,变为加密后的密码若能转换,输出YES,否则输出NOSample InputJWPUDJSTVPVICTORIOUSMAMAROMEHAHAHEHEAAAAAANEERCISTHEBESTSECRETMESSAGESSample OutputYESNOY

2020-10-23 20:41:50 83

原创 POJ2407 POJ2478 POJ3090----素数筛&欧拉函数の应用

POJ2407 ---- RelativesTime Limit: 1000MS Memory Limit: 65536KDescriptionGiven n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0

2020-08-03 16:48:29 108

原创 素数筛与欧拉函数(笔记+模板)

素数筛暴力筛法就不说了,容易超时。埃拉托斯特尼筛法 (时间复杂度O(nloglogn) )下面贴上模板,详细内容请参考博客:https://blog.csdn.net/qq_44616044/article/details/107307847ll Make_prime(ll n){ ll cnt=0; memset(vis,0,sizeof(vis)); for(ll i=2; i<=n; i++) { if(!vis[i])

2020-08-03 15:12:53 189 1

原创 计蒜客T3144----受力平衡(乘法逆元应用)

题干有 n 个不同的气球和 m 个不同的重物,每个气球都可以提供 1N 的升力(竖直向上),每个重物都会受到 1N 的重力(竖直向下)。现要选出若干个气球和若干个重物,将他们固定在一起,并且使得固定之后的整体受力平衡,请问共有多少种满足条件的方案?输入格式输入数据第一行一个正整数 T,表示测试数据组数。接下来 T行,每行包含两个空格隔开的正整数 n 和 m输出格式输出 T行,每行包括一个数字,表示答案除以 109+7的余数数据范围对于 20%的数据,m=1对于 60%的数据,1≤n,m≤

2020-08-02 20:40:38 263 1

原创 线段树基础(学习笔记)

什么是线段树呢?它其实是一种用于区间修改、区间求和的工具。本文先讲解单点更新的线段树,比较基础;之后的进阶版会涉及区间更新。首先理解线段树的思想是关键,齐次要学会使用线段树的模板,最后要学会灵活使用线段树。线段树与之前学过的树状数组有些类似,先贴上一张图(百度百科):线段树中每个结点的标号方式与树状数组略有不同:我们记[1,8]为1号,[1,4]为2号,[5,8]为3号,[1,2]为4号,[3,4]为5号,…,[1,1]为8号,…,[8,8]为15号。线段树的建立实际情况下对一个长度为n

2020-07-31 10:43:30 147

原创 前缀和&差分(学习笔记)

前缀和&差分(学习笔记)1. 前缀和前缀和其实就是高中数学里面学过的数列an的前n项和Sn理解起来很好理解,但是想用的熟练就要多做题了对于前缀和的储存,推荐使用STL模板 mapmap简介定义方式:map<数据类型1 , 数据类型2> 变量名;数据类型1相当于数组中的下标数据类型2相当于数组中的元素详解请查阅微软文档:https://docs.microsoft.com/zh-cn/cpp/standard-library/map-class?view=vs-2019

2020-07-28 17:39:55 364

原创 字典树&AC自动机(学习笔记)

字典树&AC自动机(学习笔记)字典树中可以存储一系列字符串,当这些字符串有公共前缀时,可以快速找出。字典树模板题HihoCoder 1014 Trie树 题目链接#include <iostream>#include <cstdio>#include <string>#include <string.h>using namespace std;struct node{ //为节省空间,不把每个字母放在结构体里面

2020-07-27 21:10:56 501

原创 拓扑排序例题(学习笔记)

拓扑排序算法例题1. HDU 3342 ---- 有向图判环Problem DescriptionACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many “holy cows” like HH, hh, AC, ZT, lcc, BF, Qinz and so on chat on-line

2020-07-23 18:52:14 673

原创 最短路径问题------Dijkstra算法(学习笔记)

最短路径问题------Dijkstra算法(学习笔记)算法思想:选取一个点作为起点遍历其他与起点构成通路的点,搜寻权值最小的道路,然后把这个点与起点连接,更新标记,更新其他点到起点的权值;接着遍历除了已选道路之外的点,进行,… … ,遍历仍然是n-1次(和最小生成树很像)。Dijkstra算法和最小生成树中的Prim算法的主要区别:Dijkstra算法中,要保存每个点到起点的总权值;而在Prim算法中,保存的是每个点到最小生成树的权值其他的步骤类似例题 HDU 2544 ---- 最短路

2020-07-22 20:14:20 418

原创 最小生成树 (学习笔记)

最小生成树 (学习笔记)什么是最小生成树呢??一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用Kruskal(克鲁斯卡尔)算法 或 Prim(普里姆)算法求出。(源于百度百科)Kruskal算法基本思想:假设 WN=(V,{E}) 是一个含有 n 个顶点的连通网,则按照克鲁斯卡尔算法构造最小生成树的过程为:先构造一个只含 n 个顶点,而边集为空的子图,若将该子图中各个顶点看成是各棵树上的根结点,则它是一个含有 n

2020-07-21 17:36:32 237

原创 并查集(学习笔记)

并查集(学习笔记)并查集是一种用来管理元素分组情况的数据结构整体上分为两个部分:合并集合:合并元素a和元素b所在的组查找集合:查询元素a和元素b是否属于同一组模板:/*初始化: 增添一个parent数组,存储每个元素对应的根结点*/ for(int i = 0; i < MX; ++i) parent[i] = i; //初始化 //查找: int findset(int x) { if(parent[x] == x) return x; int rt =

2020-07-20 20:31:45 142

原创 Breadth First Search(BFS)----广度优先搜索(学习笔记)

Breadth First Search(BFS)----广度优先搜索基础知识:广度优先搜索是一种分层的搜索过程,每向前走一步可能访问一批顶点,不像深度优先搜索那样有回退的情况。因此,广度优先搜索不是一个递归的过程,其算法也不是递归的。实现过程简图:应用范围:(目前已知)连通块模型问题,最短路径或时间问题例题1. POJ 1562 ---- Oil DepositsDescriptionThe GeoSurvComp geologic survey company is responsi

2020-07-19 21:17:26 296

原创 Depth First Search(DFS) ---- 深度优先搜寻 (学习笔记)

Depth First Search(DFS) ---- 深度优先搜寻 (学习笔记)首先,什么是DFS呢?DFS是一种用于遍历或搜索树或图的算法。过程如下(1)从图(树)中某个顶点v出发,访问v;(2)找出刚访问过的顶点的第一个未被访问的邻接点,访问该结点。以该结点为新结点,重复此步骤,直至刚访问过的顶点没有未被访问的邻接点为止;(3)返回前一个访问过且仍有未被访问的邻接点的顶点,找出该顶点的下一个未被访问的邻接点,访问该顶点;(4)重复(2)和(3),直至图(树)中所有顶点都被访问过,搜

2020-07-18 20:38:41 215

原创 快速幂算法(学习笔记)

快速幂算法(学习笔记)快速幂----即“模平方重复计算法”对于指数位置上比较大的数,直接用pow函数可能会超时,因为要计算很多次。这里直接给出实例,容易理解:例题1:HDU 2035 ---- 人见人爱A^BProblem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。Out

2020-07-16 20:53:23 250

原创 STL----栈的初步应用

STL----栈的初步应用(学习笔记)栈的模型如下栈就像一个装满衣服的桶,要想往里面放衣服,只能放在最上面;而要想取出衣服,则必须先从上面去取。简称为上进上出。应用实例1. HDU 5479 ---- Scaena FelixTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Problem DescriptionGiven a parentheses sequence cons

2020-07-14 21:05:42 150

空空如也

空空如也

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

TA关注的人

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