自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020河南省CCPC 我得重新集结部队

时间限制: 1 Sec内存限制: 128 MB题目描述为了保护科普卢星区的和平,大主教阿塔尼斯每时每刻都在指挥部队抗击肆虐的虫群。最近,阿塔尼斯把目光投向了又一颗布满虫群的星球。在这次行动中,阿塔尼斯计划使用狂热者铲除星球上的虫群威胁。狂热者是星灵的基本近战兵种,每个狂热者有一个攻击力atk和一个攻击范围r。在狂热者发动攻击时,他会冲向距离最近的异虫,在这只异虫处释放3次威力强大的旋风斩。若有多只距离最近的异虫,他会选择最早出现的那只。若当前没有存活的异虫,那么这只狂热者会在原地...

2022-05-08 19:50:00 297 1

原创 2022PTA天梯赛模拟 L2-3 浪漫侧影 (25 分)

“侧影”就是从左侧或者右侧去观察物体所看到的内容。例如上图中男生的侧影是从他右侧看过去的样子,叫“右视图”;女生的侧影是从她左侧看过去的样子,叫“左视图”。520 这个日子还在打比赛的你,也就抱着一棵二叉树左看看右看看了……我们将二叉树的“侧影”定义为从一侧能看到的所有结点从上到下形成的序列。例如下图这棵二叉树,其右视图就是 { 1, 2, 3, 4, 5 },左视图就是 { 1, 6, 7, 8, 5 }。于是让我们首先通过一棵二叉树的中序遍历序列和后序遍历序列构建出一棵树,然后你要...

2022-04-21 19:22:33 869

原创 先序中序遍历构建二叉树

先序的第一个是根节点。中序的节点左边是左子树,节点右边是柚子树。#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<map>#include<vector>#include<set>#include<cmath>#include<deque>#include<qu

2022-04-20 11:41:27 211

原创 中序后序转二叉树

对于后序遍历,最后一个节点是根节点。对于中序遍历,根节点的左边是左子树,根节点的右边是右子树。#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<map>#include<vector>#include<set>#include<cmath>#include<deque>

2022-04-20 11:17:00 197

原创 Dijkstra求最短路 II (邻接表+dij()堆优化模板)

活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/852/AcWing 850#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<map>#include<vector>#includ

2022-04-16 20:40:26 129

原创 L2-001 紧急救援 (25 分)

输入样例:4 5 0 320 30 40 100 1 11 3 20 3 30 2 22 3 2输出样例:2 600 1 3解题思路:本题需要维护两个变量 路径最短前提下救援人数最多,还要求出经过的点数和路径。路径最短用dis去维护这个不用多说,救援人数最多用w[i]来维护,更新方式写在最短路的for循环里,具体的赋值和更新于dis基本上相同,点数也是如次,用sum[i]进行维护。路径这里使用了并查集的思想,只需要记住每个节点的父节点,依次向前搜索即...

2022-04-16 10:20:19 200

原创 2019蓝桥杯B组c/c++初赛 1-8题

[蓝桥杯2019初赛]组队题目描述作为篮球队教练,你需要从以下名单中选出1 号位至5 号位各一名球员,组成球队的首发阵容。每位球员担任1号位至5号位时的评分如下表所示。请你计算首发阵容1号位至5号位的评分之和最大可能是多少?解题思路观察图片,每一列找到最大值,且这个最大值是这一行的最大值,相加即得到答案。注意一个人只能取一次答案:480[蓝桥杯2019初赛]年号字串题目描述小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27以上的数字小明用两.

2022-04-02 10:31:28 2294 1

原创 kruskal模板

原题链接Agri-Net - POJ 1258 - Virtual Judge#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;//#define int long longint f[100100],n;int tt=0;struct node{ int x,y,z;}e[100100];.

2022-03-20 09:03:30 125

原创 字符串匹配(kmp算法)

活动 - AcWing题目链接如上。给定一个模式串 S,以及一个模板串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串 P 在模式串 S 中多次作为子串出现。求出模板串 P 在模式串 S 中所有出现的位置的起始下标。输入格式第一行输入整数 N ,表示字符串 P 的长度。第二行输入字符串 P 。第三行输入整数 M ,表示字符串 S 的长度。第四行输入字符串 S 。输出格式共一行,输出所有出现位置的起始下标(下标从 0 开始计数),整数之间用空格隔开。数.

2022-03-20 08:20:53 193

转载 lower_bound( )和upper_bound( )

lower_bound()和upper_bound()利用“二分”查找在有序数组中进行查找。int a[100],p;lower_bound(a,a+100,p)-a 返回的是在数组a中“大于或等于”p这个数的地址。不存在则返回100(队尾)。upper_bound(a,a+100,p)-a 返回的是在数组a中“大于”p这个数的地址。不存在则返回100(队尾)。lower_bound(a,a+100,p,greater<int>)-a 返回的是在数组a中“小于或等于”这个数的地址

2022-03-18 21:19:21 493

转载 AcWing 253. 普通平衡树 (用vector实现)

您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1.插入数值 x2.删除数值 x (若有多个相同的数,应只删除一个)。3.查询数值 x 的排名(若有多个相同的数,应输出最小的排名)。4.查询排名为 x 的数值。5.求数值 x 的前驱(前驱定义为小于 x 的最大的数)。6.求数值 x 的后继(后继定义为大于 x 的最小的数)。 注意: 数据保证查询的结果一定存在。 输入格式 第一行为 n,表示操作的个数。 接下来 n 行每行有两

2022-03-12 08:29:07 322

原创 石子合并(区间dp)

石子合并设有 N 堆石子排成一排,其编号为 1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有 4 堆石子分别为 1 3 5 2, 我们可以先合并 1、2 堆,代价为 4,得到 4 5 2, 又合并 1,2 堆,代价为 9,得到 9 2 ,再合并得到 11,总代价为 4+9+11=24

2022-03-05 11:24:39 94

原创 牛客xb月赛45知识点总结

登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/11222/CC题中,3和4可以组成除了1 2 5之外的所有的数。登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯

2022-03-05 08:58:30 85

原创 矩阵 A×B (数论)

矩阵 AAA 规模为 n×mn\times mn×m,矩阵 BBB 规模为 m×pm\times pm×p,现需要你求 A×BA\times BA×B。矩阵相乘的定义:n×mn\times mn×m 的矩阵与 m×pm\times pm×p 的矩阵相乘变成 n×pn\times pn×p 的矩阵,令 aika_{ik}aik​ 为矩阵 AAA 中的元素,bkjb_{kj}bkj​ 为矩阵 BBB 中的元素,则相乘所得矩阵 CCC 中的元素cij=∑k=1maikbkjc_{ij}=\sum_{k=1

2022-01-22 16:08:14 1239

原创 反素数 Antiprime

题目描述原题来自:POI 2001如果一个大于等于 111 的正整数 nnn,满足所有小于 nnn 且大于等于 111 的所有正整数的约数个数都小于 nnn 的约数个数,则 nnn 是一个反素数。譬如:1,2,4,6,12,241, 2, 4, 6, 12, 241,2,4,6,12,24,它们都是反素数。请你计算不大于 nnn 的最大反素数。输入格式一行一个正整数 nnn。输出格式只包含一个整数,即不大于 nnn 的最大反素数。样例Input Output

2022-01-22 15:53:44 468

原创 轻拍牛头 (别老想着暴力)

题目描述原题来自:USACO 2008 Dec. Silver今天是 Bessie 的生日,并且现在是聚会的游戏时间。Bessie 让编号为 1∼N1\sim N1∼N 的 NNN 头奶牛围成一个圈坐(所以除了最后一头牛,第 iii 头奶牛与第 i−1i-1i−1 和 i+1i+1i+1 头奶牛相邻,第 NNN 头奶牛和第 N−1N-1N−1 头与第 111 头奶牛相邻)。同时,Farmer John 拿了个桶,在桶里装了十亿张小纸条,每张小纸条上写有某个范围在 [1,106][1,10^6][1,

2022-01-22 12:32:05 526

原创 树型dp(树的直径)

设置状态dp[x][2]dp[x][0]表示距离x的最长距离,dp[x][1]表示距离x的次长距离(与最长距离的节点不在同一颗子树上)然后状态方程为ans=(ans,dp[x][0]+dp[x][1])ans为树的直径答案#include<bits/stdc++.h>using namespace std;const int maxn=100100;struct EDGE{ int v, w, next;}e[maxn];int cnt;int head[ma

2022-01-14 20:33:16 210

原创 不要62(dp)

题目描述原题来自:HDU 2089杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有44或6262的号码。例如:62315,73418,8891462315,73418,88914都属于不吉利号码。但是,6115261152虽然含有66和22,但不是6262连号,所以不属于不吉利数...

2022-01-14 18:06:01 69

原创 石子合并(区间dp)

将 nn 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 nn 及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做n-1n−1次合并得分总和最大。 选择一种合并石子的方案,使得做n-1n−1次合并得分总和最小。输入格式输入第一行一个整数 nn,表示有 nn 堆石子。第二行 nn 个整数,表示每堆石子的数量。输出格式输出共两行:第一行为合并得分总和...

2022-01-14 17:54:24 81

转载 Targan模板代码

#include<cstdio>#include<algorithm>#include<string.h>using namespace std;struct node{ int v,next;} edge[1001];int DFN[1001],LOW[1001];int stack[1001],heads[1001],visit[1001],cnt,tot,index;void add(int x,int y){ edge[++cnt].ne.

2021-11-29 20:12:29 157

原创 manacher马拉车算法核心伪代码

int mx=0,ans=0,po=0;//mx即为当前计算回文串最右边字符的最大值 for(int i=1;i<=len;i++) { if(mx>i) Len[i]=min(mx-i,Len[2*po-i]);//在Len[j]和mx-i中取个小 else Len[i]=1;//如果i>=mx,要从头开始匹配 while(st[i-Len[i]]=...

2021-11-13 20:04:17 253

原创 floyd核心代码

//这里是弗洛伊德算法的核心部分 //k为中间点 for(k = 0; k < n; k++){ //i为起点 for(i= 0 ; i < n; i++){ //j为终点 for(j =0; j < n; j++){ if(D[i][j] > (D[i][k] + D[k][j])){ D[i][j] = D[i][...

2021-11-13 11:16:18 289

原创 dijkstra核心代码

const int n = 4;//点的数量 int dis[n+1];//当前各点到源点的距离 int book[n+1];//各点到源点是否为最小值 //初始化,设源点为n1 for (int i = 1; i <= n; ++i) dis[i] = edge[1][i]; //book数组初始化 memset(book, 0, sizeof(book)); book[1] = 1; int min;//...

2021-11-13 11:10:37 463

原创 平板涂色题(思维+广搜变形)

题目题目描述CE 数码公司开发了一种名为自动涂色机(APM)的产品。它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色。为了涂色,APM 需要使用一组刷子。每个刷子涂一种不同的颜色 C i C_i Ci​。APM 拿起一把有颜色 C i C_i Ci​的刷子,并给所有颜色为 C i C_i Ci​ 且符合下面限制的矩形涂色:在这里插入图片描述为了避免颜料渗漏使颜色混合,一个矩形只能在所有紧靠它上方的矩形涂色后,才能涂色。例如图中矩形 F F F 必须在 C C C 和 D D D 涂

2021-09-30 23:14:16 130

原创 贪心+并查集

老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分。每个作业的截止日期和学分可能是不同的。例如如果一个作业学分为 ,要求在 天内交,那么要想拿到这 学分,就必须在第 天结束前交。每个作业的完成时间都是只有一天。例如,假设有 7 次作业的学分和完成时间如下:最多可以获得 学分,其中一个完成作业的次序为 ,注意可能还有其他方法。你的任务就是找到一个完成作业的顺序获得最大学分。输入格式第一行一个整数 ,表示作业的数量;接下来 行,每行包括两个整数,第...

2021-09-27 14:37:58 65

原创 贪心算法(选择和哈曼夫)

如果问题的最优解包含两个(或更多)子问题的最优解,且子问题多有重叠,我们考虑使用动态规划算法。而如果问题经过贪心选择后,只剩下一个子问题,且具有优化子结构,那么可以使用贪心算法。贪心选择性:每一步贪心选出来的一定是原问题的最优解的一部分最优子结构:每一步贪心选完后会留下子问题,子问题的最优解和贪心选出来的解可以凑成原问题的最优解例子:1.活动选择问题每次贪心地选择结束时间最早的活动,这样经过选择后,只剩下一个具有优化子结构的子问题,即在剩下的时间内选出最多的活动。贪心选择性:每次贪

2021-09-27 14:03:48 218

原创 简单数论题型

Some positive integers can be represented by a sum of one or more consecutive prime numbers. How many such representations does a given positive integer have? For example, the integer 53 has two representations 5 + 7 + 11 + 13 + 17 and 53. The integer 41 h

2021-09-15 21:53:34 184

原创 数论入门(基础定义)

1、整除: 1.定义:  若a%b==0,则称a能被b整除或b能整除a,记作b|a. 2.整除的性质:  (1)0可以被任何非0数整除  (2)若b|a,则b|a  (3)传递性:a|b&&b|c <=> a|c.  (4)如果a、b都能被c整除,那么(a+b)或(a-b)也可以被c整除  (5)几个数相乘,如果其中有一个因数能被某一个整除相除,那么它们的积也能被这   个数整除。 还有几个略实用的性质:  (1)能...

2021-09-15 21:52:13 256

原创 快速幂变形题

给 a,b,每次 a,b 会变为 a+b,a−b ,问 k 次之后变成了哪两个数,对 998244353取模,多组数据。Input第一行一个正整数 T(1≤T≤100000),代表测试组数。接下来 T 行每行三个数 a,b,k(0≤a,b<998244353,0≤k≤109)。OutputT行每行两个整数,代表每一组数据 a,b最后变成了什么。Sample Input22 1 55 5 100Sample Output12 43299

2021-08-15 19:26:07 101

原创 stl习题练习

Vector-EraseYou are provided with a vector of integers. Then, you are given queries. For the first query, you are provided with integer, which denotes a position in the vector. The value at this position in the vector needs to be erased. The next query c

2021-08-15 19:24:19 202

原创 vector+c+++用法

vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。 (2)vector<int> a(10,1); //定..

2021-08-15 19:22:19 1318

原创 2021-08-15

Maps are a part of the C++ STL.Maps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific order.The mainly used member functions of maps are: Map Template: std::map <key_type

2021-08-15 19:14:29 87

原创 You are given a string S[1..N]containing only lowercase letters. Now you need to find the -Substring

You are given a string S[1..N]containing only lowercase letters. Now you need to find the longest substring S[l..r] such that every letter (`a` to `z`) appears no more than K times in the substring. You just need to output the length (r−l+1) of the longest

2021-07-26 21:16:32 869

原创 广搜(模板题)

Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes o

2021-07-26 09:00:17 258

原创 记忆化搜索

We all love recursion! Don't we?Consider a three-parameter recursive function w(a, b, c):if a <= 0 or b <= 0 or c <= 0, then w(a, b, c) returns:1if a > 20 or b > 20 or c > 20, then w(a, b, c) returns:w(20, 20, 20)if a < b and b &

2021-07-25 23:15:19 58

原创 完全背包(模板题)

我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉 USACO 的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛规定的时间里并且总分最大。输入包括竞赛的时间,M(1≤M≤10,000)(不要担心,你要到了训练营中才会有长时间的比赛)和 N,"种类"的数目 1≤N≤10,000。后面的每一行将包括两个整数来描述一个"种类":第一个整数说明解决这种题目能得的分数(1≤point.

2021-07-25 22:55:33 115

原创 背包问题九讲 2.0 beta1.1

背包真的是非常重要的一个知识点,在今后的许多地方都会用得到,我也是从不会一点一点摸索学习,多做模板题,一定要弄懂!

2021-07-25 21:52:22 217

原创 prim 最小生成树模板

The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some years ago. But the jungle overtakes roads relentlessly, so the large road network is too expensive to maintain. Th

2021-06-03 22:56:08 179

原创 次小生成树(kruskal)

In order to prepare the \The First National ACM School Contest" (in 20??) the major of the citydecided to provide all the schools with a reliable source of power. (The major is really afraid ofblackoutsJ). So, in order to do that, power station \Future" an

2021-06-03 22:40:21 252

空空如也

空空如也

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

TA关注的人

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