自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PAT甲级真题1171 Replacement Selection(置换选择) 双解法 带注释

解法一:手写小根堆 模拟。解法二:双数组存储模拟。

2023-02-10 20:42:27 1955 1

原创 P2052 [NOI2011] 道路修建 带注释

例如,在下图中,虚线所示道路两端分别有 2 个、4 个国家,如果该道路长度为1,则费用为1×|2-4|=1x2=2。图中圆圈里的数字表示国家的编号。要注意的是 求的是道路两边的国家个数之差绝对值,我以为是kruskal做呢。哼哧哼哧求连通块半天,百思不得其解绝对值为0的情况怎么处理。设两端分别为a,b son数组记录以a为根的子树节点数量 另一端的节点数量就为n-son[a]如何求道路两端的国家数。所以每一条边的花费就为。

2023-01-06 21:05:57 339

原创 获取浏览器页面中的Cookie

【代码】获取浏览器页面中的Cookie。

2022-09-09 23:24:46 4304

原创 第十二届蓝桥杯C/C++ B组 E题:路径题解 两种dijkstra的做法

一个点最少有21条边 稠密图 邻接矩阵存法一:dijkstra的朴素做法#include <iostream>#include <cstring>#include <algorithm>#include <cmath>#include <vector>#include <queue>#define x first#define y secondusing namespace std;typedef pair&lt.

2022-02-09 17:13:24 582

原创 测试0014

1#include <iostream>#include <cmath>#include <queue>#include <vector>#include <cstring>#include <algorithm>#include <unordered_set>#include <unordered_map>using namespace std;typedef long long ll;c

2021-11-23 18:43:35 321

原创 测试0013

1#include <iostream>#include <cstring>#include <algorithm>#include <vector>#include <queue>#define f first#define s secondusing namespace std;int n,m;int dx[]={1,0,0,-1},dy[]={0,-1,1,0};int g[1010][1010],d[1010][101

2021-11-18 22:19:26 208

原创 测试0012

1#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>#include <cmath>using namespace std;bool st[10000000];int main(){ int mxa,mni; int u; scanf ("%d\n",&amp

2021-11-12 12:28:51 411

原创 测试0011

1394#include <iostream>#include <cstring>#include <algorithm>#include <cstring>#include <vector>#include <queue>using namespace std;int n;int main (){ while (cin>>n,n){ int a[110]; for

2021-11-09 14:48:55 110

原创 测试0010

1#include <iostream>using namespace std;int n;int main (){ scanf("%d", &n); long long sum,i; sum=0; for (i=1;sum<n;i++){ sum+=i*i*i; } printf ("%lld\n",sum==n?i-1:i-2);}2#include <iostream>#inclu

2021-11-04 19:57:48 292

原创 测试0009

1#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>#include <cmath>#include <set>#define x first#define y secondusing namespace std;typedef pair<int, int>

2021-11-02 19:55:23 122

原创 测试007

1#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>#include <cmath>using namespace std;int n,a[10];int main(){ scanf("%d", &n); while (n--){ for (in

2021-10-26 20:44:37 144

原创 测试006

1#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>#include <cmath>using namespace std;int n;int main(){ scanf("%d\n", &n); string s; while (n -- ){

2021-10-26 16:51:06 124

原创 测试005

A#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>#include <cmath>using namespace std;int main(){ string s; cin>>s; for (int i=0;i<s.size();i++){

2021-10-21 17:45:41 125

原创 测试0004

A#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>using namespace std;int main(){ int a[10]; for (int i=0;i<10;i++){ scanf ("%d",&a[i]); } sort

2021-10-15 16:20:17 107

原创 23sdsd

12345678910

2021-10-14 17:30:28 203

原创 测试0003

A#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string.h>using namespace std;int main(){ int a[3][3]; int n=3; for (int i=0;i<n;i++){ for (int j=0;j<n;j++)

2021-10-13 10:53:53 101

原创 2021-10-08

I#include <iostream>#include <cstring>#include <algorithm>using namespace std;// 总结一下 写一个递归函数就是反推// 首先确定最里面的一层递归如何返回 // 随后 再确定 如何进入到最里面一层的递归// 最后确定 最外层要如何进入递归// 以本题为例 确定当x为1或2是最里层 直接返回对应答案// 再确定 当x为4或2时 会进入最里层// 最后确定 整个递归的过程是每

2021-10-08 13:27:17 120

原创 2021-09-30

A#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int main(){ int x; scanf ("%d",&x); if (x<=100000) printf ("%.0f\n",x*0.1); else if (x<=200000) printf ("

2021-09-30 18:43:57 112

原创 2021-09-30

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-09-30 17:09:23 584

原创 BellmanFord算法 讲解 AcWing 853. 有边数限制的最短路 带注释

题目链接算法:BellmanFord算法 O(n∗m)O(n*m)O(n∗m)存在负权边时使用 特别适合本题这种问不超过k条边的最短路径的情景讲一下算法流程首先将图以结构体数组形式存储 BellmanFord算法特别自由 怎么存都可以struct Edge{ int a,b,c;//ab为起点 终点 c为权重}edge[10010];然后调用bellmanford函数,在函数中 先将存储最短路径的dist数组初始化为正无穷(0x3f3f3f3f)接下来开始一个二重循环 外面的大循

2021-04-10 20:33:23 151

原创 PAT 乙级真题 带注释 1040 有几个PAT (25 分)

1040 有几个PAT (25 分)字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10510^5105​​ ,只包含 P、A、T 三种字母。输出格式:在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。输

2021-03-04 22:23:52 207 1

原创 PAT乙级真题 带注释 1030 完美数列 (25 分)

1030 完美数列 (25 分)给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤105​​)N(≤10^5​​ )N(≤105​​)是输入的正整数的个数,p(≤109​​)p(≤10^9​​ )p(≤109​​)是给定的参数。第二行给出 N 个正整数,每个数不超过 10910^9109。输出格式:

2021-03-03 11:15:55 157

原创 PAT乙级真题 带注释 1020 月饼 (25 分)

1020 月饼 (25 分)题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805301562163200月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45

2021-03-02 21:49:20 241

原创 乙级真题 带注释 1025 反转链表 (25 分)

1025 反转链表 (25 分)原题链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805296180871168给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用

2021-03-01 20:58:52 156

原创 乙级真题 带注释 1015 德才论 (25 分)

1015 德才论 (25 分)宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105​​)N(≤10^5​​ )N(≤105​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取;H(<100)

2021-03-01 19:50:52 499

原创 乙级真题 带注释 1010 一元多项式求导 (25 分)

1010 一元多项式求导 (25 分)设计函数求一元多项式的导数。(注:x​nx​^nx​n​​ (n为整数)的一阶导数为nxn−1nx^{n-1}nxn−1​​ 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:

2021-03-01 10:21:35 285

原创 乙级 带注释 1005 继续(3n+1)猜想 (25 分)

1005 继续(3n+1)猜想 (25 分)原题链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805320306507776卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接

2021-02-28 21:58:27 95

原创 乙级真题 带注释 1090 危险品装箱 (25 分)

090 危险品装箱 (25 分)集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N(≤104​)N (≤10^4​)N(≤104​) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有 N 行,每行给出一对不相容的物品。第二块有 M 行,每行给出一

2021-02-28 16:58:22 186

原创 寒假每日一题_常见错误总结 _更新中~

Compile Error 编译错误可以说是最常见的错误了吧包括但不限于1.头文件打错2.函数或变量类型名字打错 如print(printf) foe(for) inc(int)3.花括号只扩了一般4.忘记加分号;或用了中文分号;5.调用函数不符合规范 如printf (-1) scanf(%d,a)6.定义函数或变量顺序出错 比如int b=a;int a; 再比如void i(int u){ int u=s(2);}int s(int n){ return n*n;

2021-01-15 14:58:44 212

原创 7-9 用天平找小球 (10分)带注释

7-9 用天平找小球 (10分)三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。输入格式:输入在一行中给出3个正整数,顺序对应球A、B、C的重量。输出格式:在一行中输出唯一的那个不一样的球。输入样例:1 1 2输出样例:C#include <stdio.h> #include <math.h>int main (){ int a,b,c; scanf ("%d%d%d",&a,&b,&c

2020-12-31 13:26:49 364

原创 6-9 统计个位数字 (15分) 带注释

6-9 统计个位数字 (15分)本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。#include <stdio.h>int Count_Digit ( const int N, const int D );int main(){ int N, D; scanf("%d %d", &N, &D); printf("%d\n", Count_Digit(N, D)); r

2020-12-31 13:18:00 236

原创 6-7 统计某类完全平方数 (20分) 带注释

6-7 统计某类完全平方数 (20分)本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。#include <stdio.h>#include <math.h>int IsTheNumber ( const int N );int main(){ int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; f

2020-12-31 13:08:57 324 1

原创 7-6 混合类型数据格式化输入 (5分) 带注释

7-6 混合类型数据格式化输入 (5分)本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。输入格式:输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。输出格式:在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。输入样例:2.12 88 c 4.7输出样例:c 88 2.12 4.70#include <stdio.h>int main (){ double

2020-12-31 12:58:13 515

原创 6-6 求单链表结点的阶乘和 (15分) 带注释

6-6 求单链表结点的阶乘和 (15分)本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。#include <stdio.h>#include <stdlib.h>typedef struct Node *PtrToNode;struct Node { int Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNod

2020-12-31 12:23:12 716

原创 7-8 超速判断 (10分) 带注释

7-8 超速判断 (10分)模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。输出格式:在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。输入样例1:40输出样例1:Speed: 40 - OK输入样例2:75输出样例2:Speed: 75 - Speeding#inc

2020-12-31 12:05:37 347

原创 6-8 简单阶乘计算 (10分) 带注释

6-8 简单阶乘计算 (10分)本题要求实现一个计算非负整数阶乘的简单函数。#include <stdio.h>int Factorial( const int N );int main(){ int N, NF; scanf("%d", &N); NF = Factorial(N); if (NF) printf("%d! = %d\n", N, NF); else printf("Invalid input\n");

2020-12-31 11:58:44 598 1

原创 7-7 12-24小时制 (15分) 带注释

7-7 12-24小时制 (15分)编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。输出格式:在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6

2020-12-29 22:27:47 297

原创 6-5 求自定类型元素的最大值 (10分) 带注释

6-5 求自定类型元素的最大值 (10分)本题要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。#include <stdio.h>#define MAXN 10typedef float ElementType;ElementType Max( ElementType S[], int N );int main (){ ElementType S[MAXN]; int N, i; scanf("

2020-12-27 21:23:46 372

原创 7-5 表格输出 (5分) 带注释

7-5 表格输出 (5分)本题要求编写程序,按照规定格式输出表格。#include <stdio.h>int main (){ printf ("------------------------------------\nProvince Area(km2) Pop.(10K)\n------------------------------------\nAnhui 139600.00 6461.00\nBeijing 16410.54

2020-12-27 21:20:10 938

原创 7-4 BCD解密 (10分) 带注释

7-4 BCD解密 (10分)BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换

2020-12-26 10:30:54 191

空空如也

空空如也

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

TA关注的人

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