自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Prime me的博客

学习OR健身,总有一个在路上

  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 图论小结(超详细)

文章目录1:最短路2:最小生成树3:最近公共祖先(LCA)1:最短路2:最小生成树3:最近公共祖先(LCA)

2022-02-09 21:27:56 749

原创 算法:求逆序对个数(暴力&&归并排序&&树状数组&&权值线段树)

算法:求逆序对个数四种方法。1,暴力2,归并排序3,树状数组4,权值线段树

2021-12-08 18:59:21 3124

原创 2023-2-06随堂小记

听课笔记

2023-02-07 10:11:12 295

原创 图像处理--OpenCV学习笔记

OpenCV

2023-02-04 22:01:56 3266

原创 拓扑排序详解及例题

对一个有向无环图 ( Directed Acyclic Graph 简称 DAG ) G 进行拓扑排序,是将 G中所有顶点排成一个线性序列,使得图中任意一对顶点 u 和 v ,若边 < u , v > ∈ E ( G ),则 u 在线性序列中出现在 v之前。通常,这样的线性序列称为满足拓扑次序 ( Topological Order )的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。(若图中存在环路则不可能排出一个线性次序)总结起来.

2022-02-21 20:08:01 1014

原创 算法:正整数划分问题

将一个正整数n表示成一系列正整数的和,如:N=n1+n2+…+nk (其中n1≥n2≥…≥nk≥1, k≥1)正整数n的一个这种表示成为正整数n的一个划分。现在给出一个正整数n(80≥n≥1),求n的不同划分一共有多少种。Input输入数据包含多组测试数据,每组测试数据只有一行,仅包含一个正整数n。Output对每组输入数据,输出一行,输出n的不同划分的种类数。input:16output:111我们定义f(n,m),为正整数最大加数x为不大于m的划分,由x=m和x=m-.

2021-12-31 20:08:20 884

原创 算法实验4:棋盘覆盖

Description在一个2k x 2k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。Inputk,dr,dc。k定义如前,dr,dc分别表示特殊方格所在的行号和列号 1= < k < =Output按照左上,右上,左下,右下的顺序用分治法求解。特殊方格标0,其他位置按上述顺序依次标记。input2 .

2021-12-31 11:52:18 416

原创 算法:线性时间选择(随机快排与STL)

算法:线性时间选择给定线性序集中n个元素和一个整数k,n<=2000000,1<=k<=n,要求找出这n个元素中第k小的数。做法 :每次对数组进行随机选择一个数(此处我的选择是数组中间点),将其作为节点对其左右两边的数组进行划分,使其左边的部分数组小于其右边的数组,然后返回该数现在的坐标,作为quicksort返回值,然后比较该返回值与题目要求的第k值,如果恰好为该点则返回主函数并输出,若是大于k就在左边数组进行下一次划分,反之则进入右边进行。#include <stdio

2021-12-08 20:39:39 763

原创 捡苹果(贪心加背包)

题目如下:以前,有个神秘的院子里面有三种苹果,每个苹果的数量是无限的。有一个小姑娘带了一个大袋子来到院子,她从来没见过这么多的苹果。每种苹果都有大小以及出售的价格,小姑娘想获得最大的利润,但是她不知道怎么才能做到。于是她来向你寻求帮助,你能告诉她能获得的最大价值吗?第一行一个整数T(T <= 50),表示测试数据的组数。每组测试数据有四行组成,前三行每行有两个整数S和P,分别表示每种苹果的大小(1 <= S <= 100)和价格(1 <= P <= 10000)第四行

2021-12-07 17:05:36 692 1

原创 N皇后问题(暴力DFS&&回溯DFS)

在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。方法一:暴力递归法;暴力递归法即为将所有方案全部计算出,当一种方案计算出结果后,将此时的vis数组与s输出循环计算一遍,判断此种情况下是否可以满足题目要求的不在同一行,同一列以及是否在期盼的45°斜边上。若是满足条件则加一,不然则退出。#include<iostream>using namespac.

2021-12-07 16:34:12 444

原创 还是畅通工程(prim&&kruskal)

prime和kruskal两种算法适用于解决最小生成树的两种算法。但是两种算法思想方式所以可以用于解决不同的连通图问题。下面分别详细介绍两种算法的算法思想以及实现过程,最后会分析两种算法的不同适应情况。kruskal此方法可以称为加边法。即将边的权值大小排好序之后按照从小到大的顺序依次将n-1条边加入到生成树中。做法如下:1,先将边的权值将边从小到大进行排序。2,将所有的点看作n棵独立的树组成的森林。3,按排好的顺序依次将边连接到树上,注意的一条筛选条件是每次选择的边的两个点都必须是相互独立的,即

2021-11-29 16:14:44 286

原创 完全背包问题

完全背包问题与01背包问题主要区别在于,01背包只是在一个物品的选与不选之间做决定,即数量为0或1,而完全背包则是0,1,2,3等。完全背包状态方程为f[i][j]=max(f[i-1][j],f[i][j-kv[i]]+kw[i])#include<iostream>#include<cstring>#include<algorithm>using namespace std;int f[1010][1010];int v[1010],w[101.

2021-11-26 21:36:29 228

原创 最短路算法

今天重新学习贪心,对单源最短路径有了新的认知,迪杰斯特拉算法就是我们常用的最短路算法,该算法本质是在贪心的基础上进行的图论延申。单源最短路径即为从一个点到其他点的最短路。该算法主要通过以下几步来完成。1:初始化最短路数组,dis[1]=0,dis[i]=+1000000000;2:循环n次,每次找出所有点中距离起点最近的那个点,将该点标记后,用该点更新其他的点的最短路距离。以下即为迪杰斯特拉算法的朴素算法代码模板。#include<stdio.h>#include<cstri

2021-11-26 20:24:30 138

原创 优先队列(priority_queue)详解版(C++)

头文件#include 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先队列和队列的特性有许多不同之处,包括数据结构底层实现和存储顺序,因为这基础上添加了内部的一个排序,它本质是一个堆实现的。常用的基本操作为:top 访问队头元素empty 队列是否为空size 返回队列内元素个数push 插入元素到队尾 (并排序)emplace 原地构造一个元素并插入队列pop 弹出队头元素priority_queue<Type, Container,

2021-11-22 20:35:42 1096

原创 邻接矩阵,邻接表,链式前向星

邻接矩阵,邻接表,链式前向星1,邻接矩阵:n*n的数组;书写简便,直观高效但存储量小。int a[100][100];cin>>n>>m;//n个点,m条边for(int i=1;i<=m;i++)//存储方式{ int u,v,w; cin>>u>>v>>w; //无向边两次,有向一次 a[u][v]=w; a[v][u]=w;}for(int i=1;i<=n;i++)//遍历

2021-11-19 21:52:29 832

原创 Fight against involution(第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南))

区间贪心问题,在不减少自己的分的前提下,将自己写作的字数降到最低。要求是尽可能的少写字,但是前提是不能降低自己的得分。先按照上限降低排序,上限相同按照下限相等排序。#include <iostream>#include<algorithm>#include <cstdio>#include<cmath>#include<cstring>using namespace std;const int M = 1e5 + 1;struc

2021-11-19 21:04:01 623

原创 Xor Transformation(第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南))

MianKing has one integer XX, he wants to perform some operations to transform XX to YY (Y<X)(Y<X).In each operation, MianKing can choose one integer 0\leq A<X0≤A<X and let X=XxorAX=X xor A.It’s noticed that after an operation, the upper boun.

2021-11-19 19:58:36 560

原创 Nearest Common Ancestors(LCA)(最近公共祖先LCA)

题目链接:http://poj.org/problem?id=1330这个问题做法比较多,记录下自己的写法。1,首先将数据存储在邻接表里,先将数据按照并查集存储,然后将叶子节点的深度全部神深搜出来,存储到深度数组中。2,然后就是具体做法:先判断两个数是否在一棵树的同一层上,若不是先调整到同一层上。然后将两个数据在并查集内,同时向上搜寻,直至fath[a]==fath[b];#include<stdio.h>#include<iostream>using names

2021-11-12 18:51:48 329

原创 小希的迷宫(并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=1272题目描述比较复杂,简言之就是要构造一棵无向树,在最后并查集完全构造好了之后只要将全部点遍历一遍,找到父节点是本身且被访问过的点后,若只有一个点则可以构造成功该迷宫。#include<stdio.h>#include<iostream>using namespace std;int pre[100010],visited[100010],qq;int find(int x){.

2021-11-09 21:23:16 250

原创 背包问题(01背包)

01背包:动态方程j<w(i) V(i,j)=V(i-1,j)j>=w(i) V(i,j)=max{V(i-1,j),V(i-1,j-w(i))+v(i)}模板题:在值与体积不同的石头中选择背包能承载的最大值问题,每个石头只能用一次01背包模板#include<iostream>#include<algorithm>#include<cstring>using namespace std;int v[1001],w[1001],dp[1

2021-11-09 20:04:14 143

原创 Monopoly(ccpc大学生程序竞赛补题)(前缀和加二分)

http://acm.hdu.edu.cn/showproblem.php?pid=7130第一步先求出前缀和和总和。判断sum值在不同情况下的处理情况。当sum==0,所有的数据只会在第一轮中出现一次。即若不在第一次中出现就不会出现。当sum<0时,将前缀和全部反转,并标记已翻转。将前缀和存入对应的取模后的map中进行存储,按照前缀和大小进行排序。然后二分查找若能找不到对应的取模值则输出-1,找到对应取模值后将前缀和值在数组中的位置取出。若取出值为最后,即为找不到对应值(只是对应的取模.

2021-11-08 19:03:37 306

原创 Nun Heh Heh Aaaaaaaaaaa(CCPC网络赛补题)(线性dp+后缀和+思维)

Problem DescriptionVasily Tadokorov is a stringologist. He thinks a string is fragrant if it can be divided into two parts — nunhehheh as the prefix and a number of (excluding 0) a as the suffix. For example, nunhehhehaaaaaa is fragrant, but nunhehheh an.

2021-11-05 20:58:31 228

原创 I I love you(求子序列个数)

链接:https://ac.nowcoder.com/acm/contest/3947/I来源:牛客网输入描述:共一行:一封若干个字符的情书(大小写不敏感)。情书不会超过684594个字符(大写、小写字母)。输出描述:共一行:包含一个整数,即iloveyou在情书中作为子序列出现的次数。由于答案可能很大,请输出对20010905取模后的值。IloveyouNotonlyforwhatyouareButforwhatIamWhenIamwithyouIloveyouNotonlyforwh.

2021-11-05 19:11:24 350

原创 算法实验8:划分问题(DP)

Description给定一个正整数的集合A={a1,a2,….,an},是否可以将其分割成两个子集合,使两个子集合的数加起来的和相等。例A = { 1, 3, 8, 4, 10} 可以分割:{1, 8, 4} 及 {3, 10}Input第一行集合元素个数n  n <=300 第二行n个整数Output如果能划分成两个集合,输出任意一个子集,否则输出“no”直接递推出所有结果,判断是否可以到达一半元素和,然后输出。#include <iostream>#include.

2021-10-29 10:25:49 739

原创 A - The Sports Festival (CodeForces - 1509C)(DP)(记忆化搜索)

https://codeforces.com/problemset/problem/1509/C对 a 数组排序,我们考虑最后一步,增加的价值必然是 sn - s1,那这一步之前只有两个状态只可能是两个状态:区间(1, n-1)或者区间(2, n)。对于区间(1, n-1),他的价值必然也是 sn-1 - s1 + 区间(1, n-2)或者区间(2, n-1)。当 l = r 时,区间(l, r) 的代价为 0。直接记忆化搜索即可。动态方程是:dp[l][r]=s[r]-s[l]+min(df.

2021-10-25 20:33:48 153

原创 E - The Triangle POJ - 1163(DP)

http://poj.org/problem?id=1163初始化dp[i][j]=f[i][j],然后将下一次运算时加上max(f[i-1][j],f[i-1][j-1])动态方程为dp[i][j]=f[i][j]+max(f[i-1][j],f[i-1][j-1]).#include<iostream>#include<cstdio>using namespace std;int f[101][101],dp[101][101];int main(){ .

2021-10-25 19:57:01 106

原创 C. Woodcutters

https://codeforces.com/problemset/problem/545/C砍树问题:在树被砍倒时不能压倒旁边的树,若被砍到则可以。求最多可以砍倒多少棵树。dp问题:判断是否。典型的动态规划题,一棵树到底砍不砍,取决于倒下来的时候是否与其他树重合,为了保证被砍的树尽可能多,应该判断两棵树之间的距离和两棵树的高度关系,距离较大,则可以砍。做法:优先向左砍,若不行则向右。#include <iostream>#include <cstdio>using .

2021-10-25 17:18:58 212

原创 棋盘覆盖问题(分治)

在一个 2 ^k × 2 ^k 个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有4^k 种情形.因而对任何k≥0,有4^k种不同的特殊棋盘.输出按照排序顺序来涂黑的数字和顺序,最后将棋盘输出用上述四个L型骨牌将棋盘覆盖做法:将该棋盘从中间分开,分成四部分,若每次分别覆盖没有棋子的其他三个棋盘每次传值包括起点坐标,目标点坐标和棋盘大小#include<iostream>using namespace.

2021-10-20 20:42:23 258

原创 最大字段和(分治&&动态规划)

给定有n个整数(可能为负整数)组成的序列a1,a2,…,an,求该序列连续的子段和的最大值。 如果该子段的所有元素和是负整数时定义其最大子段和为0。分治:时间复杂度:nlogn#include <iostream>using namespace std;int a[100005];int maxnum(int l,int r){ int sum=0; if(l==r) { if(a[l]>0) sum= a.

2021-10-20 19:03:33 120

原创 Shuffle Cards(伸展树STL)()

#include<bits/stdc++.h>#include<ext/rope>using namespace std;using namespace __gnu_cxx;rope<int>c,b;int num;signed main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { c.push_back(i);

2021-10-14 20:44:36 102

原创 最短Hamilton路径(数位DP)

给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。输出格式输出一个整数,表示最短 H.

2021-10-09 16:41:00 68

原创 快速幂&&快速乘模板

//快速幂#include<iostream>using namespace std;#define ll long longint main(){ ll a,b,n; cin>>a>>b>>n; ll res=1&n; while(b) { if(b&1) res*=a%n; res%=n; a*=a%n;

2021-10-09 15:23:11 89

原创 J Leaking Roof

Grandpa Are lives in an old house. Now it is the heavy rain that occurs only once in a hundred years, but the roof of Grandpa Are’s house leaks. His roof can be viewed as a n×n grid, and each square has a height. Denote the height of the square with coord.

2021-10-09 14:45:43 172

原创 1001 A+B Format (20 分)

Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test case. Each case contains a pair of .

2021-10-09 12:38:48 80

原创 A Busiest Computing Nodes

You have a computing cluster with a total of k computing nodes, labelled from 0 to k−1. The cluster can handle multiple requests at the same time, but each node can process at most one request at the same time.The rules for request assignment to computin.

2021-09-24 16:47:31 144

原创 K Segment Routing

Segment Routing over IPv6 is a next-generation IP bearer protocol.In traditional IP routing, an IP packet sent from a source host goes through multiple routers and then reaches the destination host. Each router checks the destination IP address inside th.

2021-09-23 22:02:03 163

原创 H Mesh Analysis

In computer graphics (CG), it is general to use a triangle mesh to represent the surface of an object.The 3-D points in a CG program form multiple connected line segments and triangles, which are in turn organized as a triangle mesh. You are asked to fin.

2021-09-23 20:36:53 179

原创 F Land Overseer

The role of Keqing, Yuheng of the Liyue Qixing, is to manage real estate and construction in Liyue.Today Keqing decides to leave her office, and visit two places - Chasm, and Jueyun Karst - to make sure the building progress there is at a reasonable pace.

2021-09-23 19:54:49 164

原创 B. Combinatorics Homework

You are given four integer values a, b, c and m.Check if there exists a string that contains:a letters ‘A’;b letters ‘B’;c letters ‘C’;no other letters;exactly m pairs of adjacent equal letters (exactly m such positions i that the i-th letter is equ.

2021-09-21 20:27:02 302

原创 C. Slay the Dragon

Recently, Petya learned about a new game “Slay the Dragon”. As the name suggests, the player will have to fight with dragons. To defeat a dragon, you have to kill it and defend your castle. To do this, the player has a squad of n heroes, the strength of t.

2021-09-21 18:49:54 599

生词本程序答辩PPT(1).pptm

生词本程序答辩PPT(1).pptm

2022-11-24

c++实验要求.zip

c++实验要求.zip

2021-06-08

空空如也

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

TA关注的人

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