- 博客(164)
- 收藏
- 关注
原创 题304.状态机模型-acwing-Q1049--大盗阿福
文章目录题304.状态机模型-acwing-Q1049--大盗阿福一、题目二、题解题304.状态机模型-acwing-Q1049–大盗阿福一、题目二、题解由于根据题意,我们知道偷完当前这一家那么相邻的上一家肯定不会被偷,那么一般定义dp数组时dp[i]表示偷第i家店后可获得的最大价值,它的值应该为dp[i-2]+w[i]与dp[i-1]中的最大值,有什么办法可以直接让状态由上一个状态转移过来呢,因此我们试图使用y式dp分析法的状态机模型(实质是将不好表示的状态分离开)来进行处理。仍然按dp
2022-05-05 16:40:19
586
原创 题284.dp数字三角形模型-acwing-Q1015--摘花生
文章目录题284.dp数字三角形模型-acwing-Q1015--摘花生一、题目二、题解题284.dp数字三角形模型-acwing-Q1015–摘花生一、题目二、题解本题按dp五步法分析如下:1.确定dp数组,明确含义:dp[i][j]表示从左上角走到右下角(i,j)位置时可摘到的最大花生数目2.确定递推公式:采用y式dp分析法由上图可知,公式为:dp[i][j]=max(dp[i-1,j]+w[i,j],dp[i][j-1]+w[i][j])3.初始化dp数组:显然都初始化为0
2022-04-24 14:42:52
126
原创 题275.bfs最短路-acwing-Q188--武士风度的牛
文章目录题275.bfs最短路-acwing-Q188--武士风度的牛一、题目二、题解题275.bfs最短路-acwing-Q188–武士风度的牛一、题目二、题解套bfs最短路模板就好#include <bits/stdc++.h>#define x first#define y secondusing namespace std;typedef pair<int,int> pii;const int maxn=201;const int dx
2022-04-20 21:48:21
201
原创 题270.2022分队天梯赛训练-7-48 最大公约数 (20 分)
文章目录题270.2022分队天梯赛训练-7-48 最大公约数 (20 分)一、题目二、题解题270.2022分队天梯赛训练-7-48 最大公约数 (20 分)一、题目二、题解 记住一个公式:gcd(am-bm,an-bn)=agcd(m,n)-bgcd(m,n)#include <bits/stdc++.h>using namespace std;typedef unsigned long long ull;ull p;ull gcd(ull a,ull b
2022-04-19 09:43:00
124
原创 题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分)
文章目录题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分)一、题目二、题解题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分)一、题目二、题解 本题考察判断一个无向图是否具有欧拉回路,条件是图连通且所有的点度数为偶数。代码如下:#include <bits/stdc++.h>using namespace std;const int maxn=1010;int N,M;int G[maxn][max
2022-04-19 09:21:14
924
原创 题267.2022分队天梯赛训练-7-40 最短工期 (25 分)
文章目录题267.2022分队天梯赛训练-7-40 最短工期 (25 分)一、题目二、题解题267.2022分队天梯赛训练-7-40 最短工期 (25 分)一、题目二、题解 考察关键路径算法的题目,套板子就好。#include <bits/stdc++.h>#define x first#define y secondusing namespace std;typedef pair<int,int> pii;const int maxn=110
2022-04-18 23:37:25
249
原创 题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分)
文章目录题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分)一、题目二、题解题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分)一、题目二、题解 多关键字单源最短路,注意初始化,以及更新操作。#include <bits/stdc++.h>using namespace std;const int maxn=210;const int Inf=0x3f3f3f3f;int N,M;map<int,string> id
2022-04-18 23:28:01
163
原创 题265.2022分队天梯赛训练-7-38 天梯地图 (30 分)
文章目录题265.2022分队天梯赛训练-7-38 天梯地图 (30 分)一、题目二、题解题265.2022分队天梯赛训练-7-38 天梯地图 (30 分)一、题目二、题解 本题其实就是要你解决两个问题,一个是求最快最短的路,,一个是求最短,途经节点数最少的路。说白了就是写两个双关键字的单源最短路算法就好。代码(这里单源最短路算法采用朴素dij)如下:#include <bits/stdc++.h>using namespace std;const int ma
2022-04-18 23:08:25
159
原创 题263.2022分队天梯赛训练-7-24 纸牌排序 (10 分)
文章目录题263.2022分队天梯赛训练-7-24 纸牌排序 (10 分)一、题目二、题解题263.2022分队天梯赛训练-7-24 纸牌排序 (10 分)一、题目二、题解 #include <bits/stdc++.h>using namespace std;map<string,int> order;struct Card{ string name; int num;};bool mycmp(struct Card c1,str
2022-04-18 22:33:20
193
原创 题259.2022分队天梯赛训练-7-11 求n阶乘的值 (60 分)
文章目录题259.2022分队天梯赛训练-7-11 求n!的值 (60 分)一、题目二、题解题259.2022分队天梯赛训练-7-11 求n!的值 (60 分)一、题目二、题解 高精度阶乘运算。写好高精度加法,乘法就好,然后迭代求阶乘(递归后期太深,会进行不下去)。#include <bits/stdc++.h>using namespace std;string add(string a,string b)//模拟竖式计算加法{ string res;
2022-04-18 20:23:39
150
原创 题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪
文章目录题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪一、关于中国剩余定理CRT二、题目三、题解题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪一、关于中国剩余定理CRT1.概述用于求解如下形式的一元线性同余方程组(b1,b2,…,bk两两互质):通俗讲就是可以求一个数x,该数对bi求余等于ai,i从1到k。2.算法步骤设除数为ai,余数为bi,i∈[0,N)且i∈Z。要求的数为res①求出所有除数ai的乘积n②
2022-03-14 23:19:05
855
原创 题255.pat甲级练习-1073 Scientific Notation (20 分)
文章目录题254.pat甲级练习-1073 Scientific Notation (20 分)一、题目二、题解题254.pat甲级练习-1073 Scientific Notation (20 分)一、题目二、题解#include <bits/stdc++.h>using namespace std;int main(){ string A; cin>>A; int sign=1; if(A[0]=='-') {
2022-03-14 13:13:54
266
原创 题253.2022寒假天梯赛训练-7-2 分解质因数 (20 分)
文章目录题253.2022寒假天梯赛训练-7-2 分解质因数 (20 分)一、题目二、题解题253.2022寒假天梯赛训练-7-2 分解质因数 (20 分)一、题目二、题解//直接试除法分解质因数,时间复杂度为O(sqrt(N))#include <bits/stdc++.h>using namespace std;int main(){ int a,b; cin>>a>>b; for(int i=a;i<=b;i+
2022-03-12 21:01:38
192
原创 题252.欧拉函数-ETF - Euler Totient Function
文章目录题252.欧拉函数-ETF - Euler Totient Function一、题目二、题解题252.欧拉函数-ETF - Euler Totient Function欧拉函数φ(n)表示的是小于等于n和n互质的数的个数。比如φ(1)=1 [1],φ(4)=2 [1、3]。一、题目In number theory, the totient φ of a positive integer n is defined to be the number of positive integer
2022-03-12 21:00:54
449
原创 题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程
文章目录题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程一、关于线性同余方程的求解综述二、题目三、题解题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程一、关于线性同余方程的求解综述1.对线性同余方程的解释ax ≡ c (mod b)表示关于x的解集,其中x需满足(a*x)%b=c。求解该问题等价于求解方程ax+by=c,其中只要x的集合能够被求出,那么y的集合也可以通过x求出。2.求解线性同余方程的方法:扩展欧几里得算法
2022-03-12 20:52:55
643
原创 题251.2022寒假天梯赛训练-7-14 汉诺塔问题 (10 分)
文章目录题251.2022寒假天梯赛训练-7-14 汉诺塔问题 (10 分)一、题目二、题解题251.2022寒假天梯赛训练-7-14 汉诺塔问题 (10 分)一、题目二、题解 #include <bits/stdc++.h>using namespace std;void move(char src,char des){ printf("%c-->%c\n",src,des);}void hanoi(int n,char src,char med
2022-03-11 23:46:02
347
原创 题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分)
文章目录题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分)一、题目二、题解题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分)一、题目二、题解 /*//错误代码#include <bits/stdc++.h>using namespace std;const int Inf=0x3f3f3f3f;const int maxn=550;int N,M;int G[maxn][maxn];int team[maxn];
2022-03-11 23:43:08
277
原创 题249.2022寒假天梯赛训练-7-13 拯救007(升级版) (30 分)
文章目录题249.2022寒假天梯赛训练-7-13 拯救007(升级版) (30 分)一、题目二、题解题249.2022寒假天梯赛训练-7-13 拯救007(升级版) (30 分)一、题目二、题解 看这题代码前可以先瞅瞅之前那到非升级版的拯救007,毕竟思路基本一致,只不过这里对于要输出的结果加了点佐料。代码如下:#include <bits/stdc++.h>using namespace std;const int maxn=101;int N;doub
2022-03-11 23:41:21
352
原创 题248.离散化-洛谷P1955 [NOI2015] 程序自动分析
文章目录题248.离散化-洛谷P1955 [NOI2015] 程序自动分析一、题目二、题解题248.离散化-洛谷P1955 [NOI2015] 程序自动分析一、题目二、题解首先推导公式我们可以知道我们要求的系数其实就是a的n次方乘以b的m次方再乘上m,k组合数。对于a的n次方和b的m次方,我们可以使用快速幂直接得出。之后,看k,m组合数,它可作如下推导:则我们把除以(k-m)!分解,其实就是每次去乘i逆元(即倒数),又因为取模是素数,所以可以费马小定理a-1%mod=amod-
2022-03-10 20:17:37
398
原创 题247.2022寒假天梯赛训练-7-10 单身狗 (25 分)
文章目录题247.2022寒假天梯赛训练-7-10 单身狗 (25 分)一、题目二、题解题247.2022寒假天梯赛训练-7-10 单身狗 (25 分)一、题目二、题解 //我要提醒自己,不是有配对的人就一定不落单的,它另一半可能不来啊!!!#include <bits/stdc++.h>using namespace std;const int maxn=1e5+1;int cp[maxn];set<int> s;vector<int>
2022-03-09 23:30:08
213
原创 题246.2022寒假天梯赛训练-7-5 冰岛人 (25 分)
文章目录题246.2022寒假天梯赛训练-7-5 冰岛人 (25 分)一、题目二、题解题246.2022寒假天梯赛训练-7-5 冰岛人 (25 分)一、题目二、题解 这题我前面做的时候一直不带脑子地以为五代以外的要求是只要一方的五代以内的长辈没有另一方的长辈就好,然后就直接去世只对了测试点0。。。后来才发现,原来那个要求是要如果有这个公共祖先那他必须要满足在双方都是五代及以外。也就是说,为No的情况为公共祖先于双方都在五代以内或者一方有五代以内。//五代以外包括五代必须是要满足任何一
2022-03-09 23:27:41
371
原创 题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数
文章目录题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数一、题目二、题解题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数一、题目二、题解首先推导公式我们可以知道我们要求的系数其实就是a的n次方乘以b的m次方再乘上m,k组合数。对于a的n次方和b的m次方,我们可以使用快速幂直接得出。之后,看k,m组合数,它可作如下推导:则我们把除以(k-m)!分解,其实就是每次去乘i逆元(即倒数),又因为取模是素数,所以可以费马小定理a-1%mod=
2022-03-07 17:09:02
551
原创 题236.pat甲级练习-1072 Gas Station (30 分)
文章目录题236.pat甲级练习-1072 Gas Station (30 分)一、题目二、题解题236.pat甲级练习-1072 Gas Station (30 分)一、题目二、题解 本题要求得到一个最好位置的加油站,该加油站到houses的距离中的最短距离需要在所有加油站这方面中是最大的,即求最大最小距离(由题目中的这句话可以看出:A gas station has to be built at such a location that the minimum distance be
2022-03-04 20:35:27
582
原创 题235.pat甲级练习-1067 Sort with Swap(0, i) (25 分)
文章目录题235.pat甲级练习-1067 Sort with Swap(0, i) (25 分)一、题目二、题解题235.pat甲级练习-1067 Sort with Swap(0, i) (25 分)一、题目二、题解 根据题目给的操作示例可知,它是通过以0为基准不断与其他不正确的位置的数(当前0所在的位置应该放与那个位置对应值相同的数)进行交换来使得整体有序的(当然这个排序方式和平常我们的高效率的排序方式很不一样,因为这里刚好是0到N-1的完整整数序列,和位置0开始连续一直到N-1正好
2022-03-04 20:11:19
290
原创 题234.pat甲级练习-1071 Speech Patterns (25 分)(注意测试点2)
文章目录题234.pat甲级练习-1071 Speech Patterns (25 分)一、题目二、题解题234.pat甲级练习-1071 Speech Patterns (25 分)一、题目二、题解 本题要你统计给的语句中出现单词的次数,输出出现次数最大的单词以及次数。需要注意的是本题给出的单词的定义,只有由0-9,a-z,A-Z组成的字符串才叫做单词。所以不妨按如下思路处理:①用while带着cin去每次输入一个不带空格的字符串(当不再输入时即整条语句输入结束)②然后在循环体里面处
2022-03-04 19:07:29
759
原创 题232.pat甲级练习-1059 Prime Factors (25 分)
文章目录题232.pat甲级练习-1059 Prime Factors (25 分)一、题目二、题解题232.pat甲级练习-1059 Prime Factors (25 分)一、题目二、题解 #include <bits/stdc++.h>using namespace std;const int maxn=1000000;int cnt;int p[maxn],vis[maxn];void isPrime(int n)//这里采用线性筛法{ for
2022-03-03 22:35:15
195
原创 题225.2022寒假天梯赛训练-7-15 喊山 (30 分)
文章目录题225.2022寒假天梯赛训练-7-15 喊山 (30 分)一、题目二、题解题225.2022寒假天梯赛训练-7-15 喊山 (30 分)一、题目二、题解 直接bfs就完事了#include <bits/stdc++.h>using namespace std;const int maxn=10010;int n,m;vector<int> G[maxn];int visited[maxn];int main(){ int
2022-02-08 22:13:53
361
原创 题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分)
文章目录题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分)一、题目二、题解题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分)一、题目二、题解 我这个做法其实写的时候自己都容易迷糊(捂脸。基本思路就是统计好每个模块的个数,然后排序。代码如下:#include <bits/stdc++.h>using namespace std;typedef map<vector<int>,int>::iterator P
2022-02-08 16:56:40
571
原创 题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分)
文章目录题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分)一、题目二、题解题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分)一、题目二、题解 要你找最远的那扇门就是bfs到底,然后输出最后一个节点就完事了。要注意的是,开始节点需要你自己去找,也就是没有被进入的那个点,下面代码用flag标记是否下标对应的节点被进入。#include <bits/stdc++.h>using namespace std;vector<int>
2022-02-08 16:22:29
555
原创 题221.2022寒假天梯赛训练-7-10 网红点打卡攻略 (25 分)
文章目录题220.2022寒假天梯赛训练-7-5 福到了 (15 分)一、题目二、题解题220.2022寒假天梯赛训练-7-5 福到了 (15 分)一、题目二、题解 这里是用二维数组存输入的字符,注意输入的问题#include <bits/stdc++.h>using namespace std;char a[100][100],tmp[100][100];int main(){ char ch; int N; cin>>
2022-02-08 16:14:21
767
1
原创 题220.2022寒假天梯赛训练-7-9 简单计算器 (25 分)
文章目录题220.2022寒假天梯赛训练-7-9 简单计算器 (25 分)题目:输入格式:输出格式:输入样例:输出样例:输入样例:输出样例:思路:代码:题220.2022寒假天梯赛训练-7-9 简单计算器 (25 分)题目:本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1存放数字,另一个堆栈S2,存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:1.从S1中弹出两个数字,顺序为n1和n2;2.从S2中
2022-02-08 15:52:34
261
原创 题219.2022寒假天梯赛训练-7-5 福到了 (15 分)
文章目录题219.2022寒假天梯赛训练-7-5 福到了 (15 分)一、题目二、题解题219.2022寒假天梯赛训练-7-5 福到了 (15 分)一、题目二、题解 这里是用二维数组存输入的字符,注意输入的问题#include <bits/stdc++.h>using namespace std;char a[100][100],tmp[100][100];int main(){ char ch; int N; cin>>
2022-02-08 15:46:56
286
原创 题215.2022寒假天梯赛训练-7-15 长城 (30 分)
文章目录题215.2022寒假天梯赛训练-7-15 长城 (30 分)一、题目二、题解题215.2022寒假天梯赛训练-7-15 长城 (30 分)一、题目二、题解 依题意分析我们会发现,你要想监视到长城的每一处你就必须要重点关照那个凹点的位置,从南到北过去,你必须在凹点前(凹点的南方)的第一个凸点处建立烽火台你才能监视到那个凹点,否则要是你在第一个之后的一个位置甚至更后的位置去建,你的视线必定会受到前面的凸点的限制而监视不到那个凹点。由于我们是优先关照凹点之前的第一个凸点,而这个凸点
2022-01-26 21:13:02
527
原创 题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分)
文章目录题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分)一、题目二、题解题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分)一、题目二、题解 开始看这题的时候就没懂啥意思,想好久才知道我们可以把L个M*N的切片叠起来变成一个MNL的三维立体(切片+像素连通“上下左右前后”暗示),之后在三维立体中去bfs找连通集(连通体暗示),只有连通集的点数>=T,才加入到总体积。依上述操作,代码如下:#include <bits/stdc++.h>
2022-01-26 20:43:42
364
原创 题206.2022寒假天梯赛训练-7-8 古风排版 (20 分)
文章目录题206.2022寒假天梯赛训练-7-8 古风排版 (20 分)一、题目二、题解题206.2022寒假天梯赛训练-7-8 古风排版 (20 分)一、题目二、题解 yysy,这道题我第一次做是在去年寒假,到现在这是第四回了,前三回一次都没有满分过,直到这次我才发现输出排版后的字符时,那空着的是空格,所以初始化输出数组时要注意先把它用空格初始化一下。。。#include <bits/stdc++.h>using namespace std;char output
2022-01-21 22:51:54
427
原创 题205.2022寒假天梯赛训练-7-5 一帮一 (15 分)
文章目录题205.2022寒假天梯赛训练-7-5 一帮一 (15 分)一、题目二、题解题205.2022寒假天梯赛训练-7-5 一帮一 (15 分)一、题目二、题解 #include <bits/stdc++.h>using namespace std;int flag[100];struct Student{ int sex; string name; int cp;}S[100];//用一个结构体数组去存该学生的名字,性别以及是否配对
2022-01-21 22:41:43
486
原创 题204.2022寒假天梯赛训练-7-4 大笨钟 (10 分)
文章目录题204.2022寒假天梯赛训练-7-4 大笨钟 (10 分)一、题目二、题解题204.2022寒假天梯赛训练-7-4 大笨钟 (10 分)一、题目二、题解 #include <bits/stdc++.h>using namespace std;int main(){ int hh,mm; scanf("%d:%d",&hh,&mm); if(hh<12||(hh==12&&mm==0))//小于12
2022-01-21 22:32:34
475
原创 题203.2022寒假天梯赛训练-7-13 社交集群 (30 分)
文章目录题203.2022寒假天梯赛训练-7-13 社交集群 (30 分)一、题目二、题解题203.2022寒假天梯赛训练-7-13 社交集群 (30 分)一、题目二、题解 本题要你把有相同兴趣的人搞在一起,求最后形成的群体的个数,以及每个群体的人数。套并查集模板就好。 代码如下:#include <bits/stdc++.h>using namespace std;const int maxn = 1e3 + 1;//1001int parent[maxn];
2022-01-21 21:27:27
226
原创 题201.2022寒假天梯赛训练-7-9 拯救007 (25 分)
文章目录题201.2022寒假天梯赛训练-7-9 拯救007 (25 分)一、题目二、题解题201.2022寒假天梯赛训练-7-9 拯救007 (25 分)一、题目二、题解 本题要抓住几个点。第一,开始起跳出小岛怎么处理:虽然从岸边起跳肯定可以距离鳄鱼更近更有机会跳到但是岸是个曲线,点无数个,你没法处理,因此我们不妨利用这是个圆形的岛,将起跳点直接设置在原点,然后跳的距离多一个岛屿的半径长度即可。第二,如何判断我能不能跳到下一个鳄鱼头上:都是一个个点,我们自然是用两点间距离公式得到距
2022-01-16 23:49:34
445
原创 题197.pat甲级练习-1048 Find Coins (25 分)
文章目录题197.pat甲级练习-1048 Find Coins (25 分)一、题目二、题解题197.pat甲级练习-1048 Find Coins (25 分)一、题目二、题解 本题要你从一堆硬币中找到两枚硬币能够凑成要的钱,可以直接转换成一直一枚硬币的值,去看要凑的钱-这枚硬币值得到的值的硬币是否存在,直接用哈希思想就好了。代码如下:#include <bits/stdc++.h>using namespace std;int value[2001];//开
2022-01-15 23:55:53
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅