自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速排序 — c++

#include<iostream>using namespace std;const int N = 10005;int a[N], n;void qsort(int le, int ri){ if(le > ri) return; int t = a[le]; int i = le, j = ri; int f; while(i != j) { while(a[j] >= t && i < j) j --;

2022-05-09 16:08:52 359

原创 Acwing93.递归实现组合型枚举

题目:递归实现组合型枚举从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如 1 3 5 7 排在 1 3 6 8 前面)。数据范围n>0 ,0≤m≤n ,n+(n−m)≤25输入样例:5 3输出样例:1 2 31 2 41

2022-04-30 14:33:17 463

原创 Acwing94.递归实现排列型枚举

题目:递归实现排列型枚举把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数 n。输出格式按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1#include<iostream>using namespace std;co

2022-04-30 14:28:13 463

原创 Acwing92. 递归实现指数型枚举

题目: 递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3#include<iostream>using namespace std;

2022-04-30 14:23:49 325

原创 程序设计:找质数

找质数一天蒜头君猜想,是不是所有的偶数(除了 22),都可以用两个质数相加得到呢?于是聪明的蒜头君就找你来验证了。输入格式第一行输入一个整数 tt 表示测试组数。接下来 tt 行,每行一个整数 nn。输出格式输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。SampleInput 34820Output2 23 53 17#include<iostream>using namespace std;const int N

2022-03-19 13:41:53 279

原创 分离各个位数

分离各个位数#include<iostream>using namespace std;const int N = 10;//输入一个N位数int main(){ int x; scanf("%d", &x); int a[N]; for(int i=1; i<=N; i++) { a[N-i]=x%10; x/=10; } for(int i=0; i<N; i++) printf("%d ", a[i]); return

2022-03-07 23:18:54 165

原创 Acwing2058. 笨拙的手指

题目:笨拙的手指奶牛贝茜正在学习如何在不同进制之间转换数字。但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔。每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错。例如,如果她将数字 14 转换为二进制数,那么正确的结果应为 1110,但她可能会写下 0110 或 1111。贝茜不会额外添加或删除数字,但是可能会由于写错数字的原因,写下包含前导 0 的数字。给定贝茜将数字 N 转换为二进制数字以及三进制数字的结果,请确定 N 的正确初始值(十进制表示)。输入格式第一行

2022-01-15 22:22:29 135

原创 Acwing2041. 干草堆

题目:干草堆贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有 N 个空干草堆,编号 1∼N。约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A…B 范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令 10 13,则她应在干草堆 10,11,12,13 中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道 N 个干草堆的中值高度——也就是说,如果干草堆按照高度从小到大排列,位于中间的干草堆的高度。方

2022-01-15 11:54:23 147

原创 数组中和等于k的数对

题目:数组中和等于k的数对51Nod - 1001给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。Input第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K <= 10^9) 第2 - N + 1行:A数组的N个元素。(-10^9 &l

2022-01-11 21:28:58 329

原创 乘积最大——DP

题目:乘积最大计蒜客 - T2151今年是国际数学联盟确定的“20002000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰 9090 周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友 XZ 也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为 nn 的数字串,要求选手使用 kk 个乘号将它分成 k+1k+1 个部分,找出一种分法,使得这 k+1k+1 个部分的乘积能够为最大。同时,为了帮助选手能够正确理解题意,主持人还举了

2022-01-11 19:45:32 213

原创 畅通工程(最小生成树and并查集算法)HDU - 1232

题目:畅通工程某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。注意:两个城市之间

2021-12-19 22:23:04 208

原创 并查集详解 —— 简单且易懂 (C语言实现)

树的神奇用法——并查集下面我将用一道题,一步一步地让你学会并查集。题目:解密犯罪团伙题目大意:给出强盗总数和警方线索,输出共有几个独立的犯罪团伙快过年了,犯罪分子们也开始为年终奖“奋斗”了,小哼的家乡出现了多次抢劫事件。由于强盗人数过于庞大,作案频繁,警方想查清楚到底有几个犯罪团伙实在是太不容易了,不过警察叔叔还是搜集到了一些线索,需要咱们帮忙分析一下:现在有10个强盗。1号强盗与2号强盗是同伙。3号强盗与4号强盗是同伙。5号强盗与2号强盗是同伙。4号强盗与6号强盗是同伙。2号强盗与6号

2021-12-19 22:08:33 1433 2

原创 经典算法——爬楼梯

题目:爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶#include<iostream>using namesp

2021-12-19 13:40:01 420

原创 约瑟夫环(蓝桥杯2018真题)

题目:约瑟夫环题目描述n 个人的编号是 1~n,如果他们依编号按顺时针排成一个圆圈,从编号是1的人开始顺时针报数。报数是从1报起,当报到 k 的时候,这个人就退出游戏圈。下一个人重新从1开始报数。求最后剩下的人的编号。这就是著名的约瑟夫环问题。本题目就是已知 n,k 的情况下,求最后剩下的人的编号。输入输入两个整数n,k(0<n,k<10^6)输出要求输出一个整数,表示最后剩下的人的编号。样例输入10 3样例输出4#include <iostream>u

2021-12-18 22:24:08 2158

原创 阅兵方阵(蓝桥杯2018真题)

题目:阅兵方阵题目描述x国要参加同盟阅兵活动。主办方要求每个加盟国派出的士兵恰好能组成 2 个方阵。x国发现弱小的 y国派出了130人的队伍,他们的士兵在行进中可以变换2种队形:130 = 81 + 49 = 9^2 + 7^2130 = 121 + 9 = 11^2 + 3^2x国君很受刺激,觉得x国面积是y国的6倍,理应变出更多队形。于是他发号施令:我们要派出一支队伍,在行进中要变出 12 种队形!!!手下人可惨了,要忙着计算至少多少人才能组成 12 种不同的双方阵。请你利用计算机

2021-12-15 23:09:57 201 2

原创 C++ pair常见用法详解

C++ pair常见用法详解1,pair的应用pair是将2个数据组合成一组数据,又不想因此定义结构体,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。typedef pair<double, double> abc;//作用同

2021-12-14 13:41:40 9219 2

原创 三角形面积(蓝桥杯2018真题)

题目:三角形面积题目描述已知三角形三个顶点在直角坐标系下的坐标分别为:(2.3, 2.5)(6.4, 3.1)(5.1, 7.2)求该三角形的面积。输出要求精确到小数后3位,如不足3位,需要补零。下面的代码是以正常的输入输出写的。输入三组数据,分别为三角形的三个顶点坐标,输出该三角形的面积。#include<iostream>#include<algorithm>#include<cmath>//蓝桥杯2018决赛,三角形面积 using n

2021-12-13 23:43:17 1201 2

原创 N皇后问题

题目:N皇后问题在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sample Output19210#include<iostream&

2021-12-13 14:18:54 253

原创 水仙花数(sscanf写法)

水仙花数(sscanf写法)#include<cstdio>int main(){ char str[10]; int n, a, b, c; gets(str); //作为一个整数读入 sscanf(str,"%d",&n); //作为三个一位数读入 sscanf(str,"%1d%1d%1d", &a, &b, &c); if(n==a*a*a+b*b*b+c*c*c) printf("YES\n"); else prin

2021-12-12 23:22:29 499

原创 代码超时优化(硬核优化)

代码超时,时间超限的解决办法

2021-12-10 15:00:57 2781

原创 加快cin的读入速度

加快cin的输入,(输入大量数据)ios::sync_with_stdio(false)cin和cout属于C++的概念,调用时涉及输入输出流,而scanf和printf属于C的概念,是C语言的标准输入/输出库中的函数,所以在时效上,scanf和printf优于cin、cout,对于大数据的输入输出,通常情况下应该用scanf、printf。对于普通数据的输入输出,cin和cout比较方便,而在格式化方面,scanf和printf比较容易。

2021-12-06 22:55:22 2182

原创 第几天(c语言实现,两种做法)

题目:第几天题意描述给定一个日期,输出这个日期是该年的第几天。输入数据格式为YYYY-MM-DD组成输出对于每组输入数据,输出一行,表示该日期是该年的第几天。样例输入2000-01-01样例输出1思路根据题目可知,我们要通过给定的日期来计算是该年的第几天,按照要求输入,在年月日之间通过-来分隔,因此在scanf中%d与%d之间需要有“-”。将数据输入后,我们要根据年份来判断该年是否为闰年,在计算二月的天数的时候可以收到正确的数据。代码一#include<stdio.h&gt

2021-12-06 22:22:20 8628 6

原创 爱心代码(c语言实现)

❤ 爱心代码 ❤ (c语言实现) ❤❤ 哈哈,属于我们程序猿的浪漫,快去分享给你心中最可爱的TA吧 ❤❤

2021-12-04 22:19:32 107940 33

原创 Theme Section(主题部分)(kmp经典模板题) HDU - 4763

题目:Theme Section(主题部分)中文大意It’s time for music! A lot of popular musicians are invited to join us in the music festival. Each of them will play one of their representative songs. To make the programs more interesting and challenging, the hosts are going to

2021-12-04 21:35:15 146

原创 Cyclic Nacklace(循环项链)(kmp经典模板题) HDU - 3746

题目:Cyclic Nacklace(循环项链)中文大意:CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left. he is too distressed and thinking about how to tide over the last days.

2021-12-04 21:28:54 378

原创 Simpsons’ Hidden Talents(辛普森一家的隐藏天赋 )(kmp经典模板题) HDU - 2594

题目:Simpsons’ Hidden Talents(辛普森一家的隐藏天赋 )中文大意Homer: Marge, I just figured out a way to discover some of the talents we weren’t aware we had.Marge: Yeah, what is it?Homer: Take me for example. I want to find out if I have a talent in politics, OK?Marge:

2021-12-04 21:02:40 327

原创 Number Sequence(数字序列)(kmp经典模板题) HDU - 1711

题目:Number Sequence(数字序列)中文大意Given two sequences of numbers : a[1], a[2], … , a[N], and b[1], b[2], … , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K which make a[K] = b[1], a[K + 1] = b[2], … , a[K + M - 1] = b[M].

2021-12-04 20:39:33 371

原创 Oulipo(欧力波)(经典kmp模板题) HDU-1686

题目:Oulipo(欧力波)中文大意The French author Georges Perec (1936�C1982) once wrote a book, La disparition, without the letter ‘e’. He was a member of the Oulipo group. A quote from the book:Tout avait Pair normal, mais tout s’affirmait faux. Tout avait Fair norma

2021-12-04 20:26:59 621

原创 Tempter of the Bone(白骨的诱惑者)(dfs经典模板题) HDU - 1010

题目:Tempter of the Bone(白骨的诱惑者)中文大意The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He realized that the bone was a trap, and he tr

2021-12-03 22:43:55 701

原创 取消double的四舍五入

如何取消double的四舍五入double众所周知double 称为双精度浮点数,占八个字节,用%lf输出,默认输出六位小数,不足六位用0补齐,超过六位四舍五入截断。一般来说,我们平时做题的时候较多都是保留两位小数即可,即用%.2lf进行输出,这时double会自动把数据进行四舍五入的,如:#include<stdio.h>int main(){ double a=6.6666; printf("%.2lf",a);}这时输出为6.67,很明显数据经进行了四舍五入的处理

2021-11-22 19:52:55 3269

原创 2021年河南省CCPC大学生程序设计竞赛赛后总结

赛后总结,虽然来的比较迟,但还是来了。比赛已经过去了两周,主要有两方面的原因,一是刚开学不久,作为大二新生,这一个月以来还有很多事情需要做的;二是这次比赛确确实实是发挥的不好。作为一个省级比赛,我是比较看重这次比赛的,赛前也花了一部分时间去恢复自己的手感,毕竟是刚开学不久,而结果却是不尽人意。这次比赛的失利,我前前后后的想了很多,归根结底只有一个原因,自己的实力不足。这次比赛,让我更加深刻地意识到了自己小队的短板,作为队长的我,自然是要更多的考虑小队的做题节奏和各个队员的相对强势的地方,而这次的赛前确实忽

2021-11-14 21:12:33 416

原创 最大公约数(递归法)

最大公约数(递归法)#include<stdio.h> int gcd(int m, int n){ if (n == 0) { return m; } return gcd(n, m % n);} int main(){ int a,b; scanf("%d%d",&a,&b); printf("%d\n",gcd(a,b)); return 0;}

2021-10-28 11:45:38 173

原创 Avoid The Lakes(避开湖泊)(dfs经典模板题) POJ - 3620

题目:Avoid The Lakes(避开湖泊)中文大意Farmer John’s farm was flooded in the most recent storm, a fact only aggravated by the information that his cows are deathly afraid of water. His insurance agency will only repay him, however, an amount depending on the size of

2021-10-20 23:17:11 215

原创 马走日(dfs经典模板题)计蒜客 - T1217

题目:马走日马在中国象棋以日字形规则移动。请编写一段程序,给定 n \times mn×m大小的棋盘,以及马的初始位置 (x, y)(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入格式第一行为整数 T(T < 10)T(T<10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标 n,m,x,yn,m,x,y。(0 \le x \le n-1,0 \le y \le m-1, m < 10, n &l

2021-10-20 22:41:04 445

原创 Prime Ring Problem(素环问题)(dfs经典模板题)HDU - 1016

题目:Prime Ring Problem(素环问题)中文大意A ring is compose of n circles as shown in diagram. Put natural number 1, 2, …, n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note: the number of first circle should always

2021-09-26 20:38:41 138

原创 士兵队列训练问题 (HDU - 1276)

士兵队列训练问题题目题目某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。Input本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。Output共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最

2021-08-15 18:19:08 368

原创 Text Reverse(文本反转)(栈) (HDU - 1062)

Text Reverse(文本反转)中文大意Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.InputThe input contains several test cases. The first line of the input i

2021-08-12 17:03:59 897

原创 Bad Hair Day(坏头发日) (栈和队列) POJ - 3250

Bad Hair Day(坏头发日)中文大意Some of Farmer John’s N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows’ heads.Each cow i has

2021-08-12 11:40:21 347

原创 愚人节的礼物 HDU - 1870

题目:愚人节的礼物四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。Input本题目包含多组测试,请处理到文件结束。每组测试包含一个长度不大于1000,只包含’(’,’)'和’B’三种字符的字符串,代表Vayko设计的礼物

2021-08-09 12:31:49 115

原创 ACboy needs your help again!(栈和队列)HDU - 1702

题目:ACboy needs your help again! 中文大意ACboy was kidnapped!!he miss his mother very much and is very scare now.You can’t image how dark the room he was put into is, so poor : (.As a smart ACMer, you want to get ACboy out of the monster’s labyrinth.But when

2021-08-05 17:56:09 269

空空如也

空空如也

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

TA关注的人

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