自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P1802 5 倍经验日

5 倍经验日如题 , 该题为01背包变形版,相比于01背包模板的拿不动就不拿,这题多了一个打不过也算进去的情况代码如下#include<bits/stdc++.h>using namespace std;typedef long long ll;ll dp[1002][1002];//前i个好友在j个迷你装药物下所有的最大价值struct A{ ll lose; ll win; ll use;}fight[1002];int main(){ int n,x;

2022-05-06 23:56:16 408

原创 P1657 选书

P1657 选书这篇题解主要是练习一下容器的基本使用(用一些容器简单操作来写)代码如下:思想是全排列 以前有发布的全排列题解 蛮简单的#include<bits/stdc++.h>using namespace std;vector <int> v[22];int n,num;int f[22];set<int> s;void dfs(int depth){ if(depth>n){ if(s.size()==n){ num

2022-04-24 13:52:14 1403

原创 P1577 切绳子

P1577 切绳子二分法解决此问题代码如下#include<bits/stdc++.h>using namespace std;double n,k;double a[100001];char s[100];bool check(double x) { int cnt=0; for(int i=1; i<=n; i++) { cnt+=(int)(a[i]/x); } return cnt>=k;}int main() { cin>&g

2022-04-03 14:58:55 253

原创 2021蓝桥杯直线

直线 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那 么这些点中任意两点确定的直线是同一条。 给定平面上 2 × 3 个整点(x, y)|0 ≤ x < 2, 0 ≤ y < 3, x ∈ Z, y ∈ Z,即横坐标 是 0 到 1 (包含 0 和 1) 之间的整数、纵坐标是 0 到 2 (包含 0 和 2) 之间的整数 的点。这些点一共确定了 11 条不同的直线。给定平面上 20 ×

2022-04-02 20:48:20 612

原创 P1258 小车问题(二分法)

P1258 小车问题该题可以用二分法去做#include<bits/stdc++.h>using namespace std;int main() { double s,va,vb,t1,t2; cin>>s>>va>>vb; double s1=0; double s2=s; do { double mid; mid=(s1+s2)/2.0; double a,b;//临时时间 a=mid/vb;//第一段甲坐车的时间

2022-04-02 13:59:03 1038

原创 P1118 [USACO06FEB]Backward Digit Sums G/S

如题如果直接全排列进行判断是会有数据超时的,观察此题的样例数据可以发现与杨辉三角有关系,如下图所示,以n=4为例,在字母第四层的系数与左边数字的乘积的和即1*3+3*1+3*2+1*4刚好与结果是相等的,故我们可以根据题目输入的n为大小构建一个杨辉三角,然后对递归函数进行剪枝就可以pass了.#include<bits/stdc++.h>using namespace std;int n,sum,b[15],a[15],f[15],w[15];int dd[15][15.

2022-04-01 23:02:58 171

原创 P1507 NASA的食物计划

P1507 NASA的食物计划这题可以类比着一维dp背包的思路来求解先上一维dp背包代码#include<iostream>using namespace std;int dp[1001],w[1001],val[1001];int main(){ int t,m; cin>>t>>m;//t是背包容量 for(int i=1;i<=m;i++){ cin>>w[i]>>val[i]; } for(int.

2022-03-24 00:21:14 214

原创 P1048 [NOIP2005 普及组] 采药

P1048 [NOIP2005 普及组] 采药一道dp背包的模板题 但我也还是不怎么理解输入输出样例输入 #170 371 10069 11 2输出 #13代码如下思路的话就和dp背包的是一样的,每种草药都有拿或者不拿的两种状态#include<bits/stdc++.h>using namespace std;int w[101],val[101]//w为重量(时间),val为价值int dp[1001][1001];//dp数组二维是时

2022-03-23 17:49:43 544 1

原创 P1605 迷宫

P1605 迷宫本题可以用dfs和bfs两种搜索来解决 是一道基础的入门题bfs可以利用不同结构体之间变量相互独立的性质来解决问题 代码如下方法1 :bfs#include<bits/stdc++.h>using namespace std;int n,m,t,sx,sy,fx,fy;int u[4]= {0,0,1,-1},v[4]= {1,-1,0,0};struct A { int x,y,book[6][6];};int vis[50][50];int

2022-03-20 13:45:18 387

原创 P1203 [USACO1.1] 坏掉的项链 Broken Necklace

P1203 [USACO1.1] 坏掉的项链 Broken Necklace想了好一会 想到了循环队列啥的 感觉不怎么合适 在题解区看到的一个方法豁然醒悟233~~~借鉴一下某大佬的思路方法#include<bits/stdc++.h>using namespace std;string s;int compare(int x){ int num=0; char ch1=s[x];//确定断裂处的第一个珠子(头) char ch2=s[x+1];//断裂处的第一个珠子(

2022-03-20 00:27:55 335 1

原创 已知中序后序求前序

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入格式2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式1行,表示一棵二叉树的先序。输入输出样例输入 #1复制BADCBDCA输出 #1复制ABCD说明/提示【题目来源】NOIP 2001 普及组第三题代码如下 根据前中序构造一棵二叉树 然后求前序#include<bits/stdc++.h>usin

2022-03-18 00:08:19 1330

原创 p3367 并查集(模板)

题目描述感觉并查集是一个很神奇的算法代码如下 过程就类似收小弟一样233~~~#include<bits/stdc++.h>using namespace std;#define endl '\n'//很巧妙的一个算法 int f[10005],a[10001][10001],n,m;int find(int x){ if(x==f[x]) return x;//查找老大 找出最终老大 f[x]=find(f[x]); return f[x];}void me

2022-03-17 00:24:27 292

原创 L2-2 排座位 (25 分) (并查集)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询

2022-03-16 22:20:20 185 1

原创 P1130 红牌

题目描述某地临时居民想获得长期居住权就必须申请拿到红牌。获得红牌的过程是相当复杂 ,一共包括N个步骤。每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件。为了加快进程,每一步政府都派了M个工作人员来检查材料。不幸的是,并不是每一个工作人员效率都很高。尽管如此,为了体现“公开政府”的政策,政府部门把每一个工作人员的处理一个申请所花天数都对外界公开。为了防止所有申请人都到效率高的工作人员去申请。这M×N个工作人员被分成M个小组。每一组在每一步都有一个工作人员。申请人可以选择任意一个小组也可

2022-03-15 10:18:54 165

原创 P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles

题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从 7→3→8→7→5 的路径产生了最大输入格式第一个行一个正整数 r ,表示行的数目。后面每行为这个数字金字塔特定行包含的整数。输出格式单独的一行,包含那个可

2022-03-14 23:40:50 244

原创 P1506 拯救oibh总部

如题dfs题解如下#include<bits/stdc++.h>using namespace std;int x,y,u[5]= {1,0,-1,0},v[5]= {0,1,0,-1};int a[501][501];bool flag=true;void dfs(int i,int j) { if(i<0||j<0||i>x+1||j>y+1||a[i][j]) { return ; } a[i][j]=2; for(int k=0

2022-03-12 00:25:43 423

原创 P1157 组合的输出

题目描述排列与组合是常用的数学方法,其中组合就是从n个元素中抽出rr个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你输出所有组合。例如n=5,r=3,所有组合为:12 3 , 1 2 4 , 1 2 5 , 1 3 4 ,1 3 5 , 1 4 5 , 2 3 4 , 2 3 5 , 2 4 5 , 3 4 5输入格式一行两个自然数n,r(1<n<21,0≤r≤n)。输出格式所有的组合,每一个组合占一行且其中

2022-03-11 19:02:47 418

原创 P1030 [NOIP2001 普及组] 求先序排列

题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。输入格式22行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式11行,表示一棵二叉树的先序。输入输出样例输入 #1复制BADCBDCA输出 #1复制ABCD说明/提示【题目来源】NOIP 2001 普及组第三题题解说的非常详细 链接在下面题解 P1030 【求先序排列】 - sunyufei 的博客 - 洛

2022-03-04 21:49:39 128

原创 P1596 [USACO10OCT]Lake Counting S(洛谷)BFS

题目描述Due to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <= 100) squares. Each square contains either water ('W') or dry land ('.'). Farmer John wo

2022-03-04 21:08:01 339

原创 P1219 [USACO1.5]八皇后 Checker Challenge(洛谷)

题目描述一个如下的 6*6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前3个解。最后一行是解的总个数。输入格式..

2022-03-04 08:51:11 228

原创 P1605 迷宫(洛谷)

题目背景给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。题目描述无输入格式第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。输出格式给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。输入输出样例

2022-03-03 21:39:11 492

原创 【洛谷】P1101 单词方阵

题目描述给一n \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着88个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。例如:输入: 8 输出: qyizhong *yizhong gydthkjy gy****** ..

2022-03-01 18:27:32 347

原创 L2-025 分而治之 (25 分)

分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。输入格式:输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两城市的通路条数。随后 M 行,每行给出一条通路所连接的两个城市的编号,其间以一个空格分隔。在城市信息之后给出参谋部的系列方案,即一个正整数 K (≤100)和随后的.

2022-02-24 17:49:50 51

原创 L1-049 点赞狂魔(25 分) PTA

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“NameKF1​⋯FK​”,..

2022-02-22 18:17:14 77

原创 PTA天梯 L2-026 小字辈 (25 分)

L2-026 小字辈 (25 分)本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一

2022-02-22 15:31:51 186

原创 试题 算法训练 车辆放置 c++

资源限制时间限制:1.0s 内存限制:256.0MB问题描述  在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两个车都不能相互攻击,有多少中放法(车与车之间是没有差别的)输入格式  包含一个正整数n输出格式  一个整数,表示放置车的方法数样例输入2样例输出7数据规模和约定  n<=8  【样例解释】一个车都不放为1种,放置一个车有4种,放置2个车有2种。题目意思是车辆放置不能同行且不能同列 因此用数组f来表示列的状态 下标表示

2022-02-13 15:48:26 570

原创 试题 算法训练 粘木棍 c++

#include<bits/stdc++.h>using namespace std;int a[11],b[11],f[9999],n,m;int diff=0x7fffffff;void dfs(int depth){ if(depth>n){ int s1=b[1],s2=b[1]; for(int i=1;i<=m;i++){ s1=max(s1,b[i]);//选出m个组中 最大的和最小的 s2=min(s2,b[i]); } di.

2022-02-13 14:32:48 980 3

原创 表达式求值(数据结构)利用出栈入栈

思路还是很简单的 就是数字与字符的出栈入栈#include<iostream>#include<bits/stdc++.h>using namespace std;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define SElemtype chartypedef struct{ SElemtype *base; SElemtype *top; int stacksize;}Sq...

2022-02-13 13:39:45 482 1

原创 全排列(从大到小排列)

全排列

2022-02-07 13:17:39 530

原创 试题 算法训练 数字游戏 (蓝桥杯 c++)

数字游戏(全排列) c++

2022-02-07 12:54:04 421

原创 pta L2-011 玩转二叉树

pta 天梯赛训练题 L2-011 玩转二叉树 (25 分)

2022-02-06 12:00:45 278

原创 试题 基础练习 分解质因数(蓝桥杯 c++)

#include<bits/stdc++.h>using namespace std;int main(){ int m,n; cin>>m>>n; for(int i=m;i<=n;i++){ int temp=i,z=2; cout<<i<<"="; bool flag=false; while(z<=temp){ ...

2022-01-27 12:07:55 992

空空如也

空空如也

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

TA关注的人

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