
C
文章平均质量分 58
zjsru_Beginner
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
主脑提示( Master-Mind Hints )
主脑提示( Master-Mind Hints )原创 2022-08-03 17:46:15 · 1056 阅读 · 0 评论 -
浴谷P1141 01迷宫
题目描述有一个仅由数字00与11组成的n \times nn×n格迷宫。若你位于一格00上,那么你可以移动到相邻44格中的某一格11上,同样若你位于一格11上,那么你可以移动到相邻44格中的某一格00上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入格式第11行为两个正整数n,mn,m。下面nn行,每行nn个字符,字符只可能是00或者11,字符之间没有空格。接下来mm行,每行22个用空格分隔的正整数i,ji,j,对应了迷宫中第ii行第jj列的一个格子原创 2022-02-23 21:30:39 · 395 阅读 · 0 评论 -
复数除法算法
问题描述已知两个复数a和ba = a.rmz + ja.imzb = b.rmz + jb.imz求这两个复数的商cc = c.rmz + jc.imz = a / b函数名:c_comp_divide.c建模思想(1)计算除数的模的平方(2)调用复数乘法的算法计算(3)最终计算结果为代码#include<stdio.h>#include<stdlib.h>#include<math.h>#in原创 2022-02-21 00:00:00 · 1177 阅读 · 0 评论 -
力扣 19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示: 链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node.val <= 100 1 <= n <= s...原创 2022-02-18 16:28:22 · 220 阅读 · 0 评论 -
复数乘法算法
问题描述已知两个复数a和ba = a.rmz + ja.imzb = b.rmz + jb.imz求这两个复数的乘积cc = c.rmz + jc.imz函数名:c_comp_product.c建模思想(1)计算变量.p = a.rmz * b.rmzq = a.imz * b.imzs = (a.rmz + a.imz)(b.rmz + b.imz)(2)计算c.rmz = p - q , c.imz = s - p - q(3)最终计算结果为.原创 2022-02-16 20:54:30 · 583 阅读 · 0 评论 -
浴谷P1012 拼数+P1019 单词接龙 (字符串)
题目一(拼数)设有 nn 个正整数 a_1 \dots a_na1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入格式第一行有一个整数,表示数字个数 nn。第二行有 nn 个整数,表示给出的 nn 个整数 a_iai。输出格式一个正整数,表示最大的整数输入输出样例输入 313 312 343输出 34331213输入 47 13 4 246输出7424613解题思路该题相对来说比较简单,是一个字符串原创 2022-02-13 13:46:40 · 250 阅读 · 0 评论 -
浴古P1020导弹拦截(二分查找)
题目某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是\le 50000≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式1行,若干个整数(个数\le 100000≤1原创 2022-02-12 20:48:42 · 250 阅读 · 0 评论 -
set-hdu2094“产生冠军”
set容器:set 容器内的元素会被自动排序,set 与 map 不同,set 中的元素即是键值又是实值,set 不允许两个元素有相同的键值。不能通过 set 的迭代器去修改 set 元素,原因是修改元素会破坏 set 组织。当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。题目:Description有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A..原创 2022-02-12 18:17:41 · 131 阅读 · 0 评论 -
力扣 12. 整数转罗马数字
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通...原创 2022-02-06 10:36:29 · 215 阅读 · 0 评论 -
Acm真题-优先队列(木棍连接问题)
队列队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点:(1)队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构;(2)在队尾添加元素,在队头删除元素。优先队列1.可进行升降序的排序的队列排序:升序:priority—queue<int,vector,greater >q降序:priority—queue<int,vector,less >q2.利用结构体自定义优先级顺序利用operator进行原创 2022-01-30 13:27:19 · 1383 阅读 · 0 评论 -
力扣 55. 跳跃游戏
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达原创 2022-01-30 10:20:12 · 1078 阅读 · 0 评论 -
poj2421修建道路
题目有N个村庄,编号从1到N,你应该建造一些道路,这样每两个村庄就可以相互连接。我们说两个村庄A和B是相连的,当且仅当A和B之间有一条路,或者存在一个村庄C,使得A和C之间有一条路,C和B是相连的。我们知道,一些村庄之间已经有一些道路,你的工作是修建一些道路,使所有村庄都连接起来,并且所有道路的长度都是最小的。输入第一行是整数 N (3 <= N <= 100),这是村庄的数量。然后是N条线,其中第i条包含N个整数,这些N个整数的j是村庄i和村庄j之间的距离 < <原创 2022-01-23 19:21:59 · 1619 阅读 · 0 评论 -
洛谷p1230 智力大冲浪 (贪心问题)
题目描述小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则:首先,比赛时间分为n个时段(n≤500),它又给出了很多小游戏,每个小游戏都必须在规定期限ti前完成(1≤ti≤n)。如果一个游戏没能在规定期限前完成,则要从奖励费m元中扣去一部分钱wi,wi为自然数,不同的游戏扣去的钱是不一样的。当然,每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须.原创 2022-01-22 22:59:39 · 492 阅读 · 0 评论 -
力扣 402. 移掉 K 位数字
给你一个以字符串表示的非负整数num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。示例 1 :输入:num = "1432219", k = 3输出:"1219"解释:移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219 。示例 2 :输入:num = "10200", k = 1输出:"200"解释:移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。示例 3 :输入:num.原创 2022-01-22 18:53:56 · 176 阅读 · 0 评论 -
力扣33.搜索旋转排序数组
力扣33.搜索旋转排序数组原创 2022-01-21 20:08:22 · 627 阅读 · 0 评论 -
poj—2488骑士的旅程(深搜)
题目:骑士厌倦了一次又一次地看到相同的黑白方块,并决定环游世界。每当骑士移动时,它都是一个方向上的两个正方形和一个垂直于此方向的正方形。骑士的世界就是他所生活的棋盘。我们的骑士住在一个棋盘上,这个棋盘的面积比普通的8 * 8棋盘小,但它仍然是矩形的。你能帮助这个冒险的骑士制定旅行计划吗?问题 找到一条道路,使骑士访问每个方块一次。输入:输入以第一行中的正整数 n 开头。以下行包含 n 个测试用例。每个测试用例由一行具有两个正整数 p 和 q 组成,使得 1 <= p * q <原创 2022-01-17 18:08:47 · 1089 阅读 · 0 评论 -
mooc 贪心算法
分配畜栏有n头牛(1<=n<=50000)要挤奶。给定每头牛挤奶的时间区间[A,B](1<=A<=B<=1000000,A,B为整数)。牛需要呆畜栏里才能挤奶。一个畜栏同一时间只能容纳一头牛。问至少需要多少个畜栏,才能完成全部挤奶工作,以及每头牛都放在哪个畜栏里去同一个畜栏的两头牛,它们挤奶时间区间哪怕只在端点重合也是不可以的。解题思路先对所有奶牛开始时间排序然后新开辟一个畜栏(再怎么样至少也有一个畜栏)每一个畜栏就是一个优先队列,按照结束时间(原创 2021-12-04 17:06:48 · 173 阅读 · 0 评论 -
mooc 深度优先搜索
城堡问题图1是一个城堡的地形图。请你编写一个程序,计算城堡一共有多少房间,最大的房间有多大。城堡被分割成mn(m≤50,n≤50)个方块,每个方块可以有0~4面墙。输入程序从标准输入设备读入数据。第一行是两个整数,分别是南北向、东西向的方块数。在接下来的输入行里,每个方块用一个数字(0≤p≤50)描述。用一个数字表示方块周围的墙,1表示西墙,2表示北墙,4表示东墙,8表示南墙。每个方块用代表其周围墙的数字之和表示。城堡的内墙被计算两次,方块(1,1)的南墙同时也是方块(2,1)的北墙。输入原创 2021-12-04 14:47:48 · 142 阅读 · 0 评论 -
HDOJ 2073 无限的路
甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。Input第一个数是正整数N(≤100)。代表数据的组数。 每组数据由四个非负整数组成x1,y1,x2,y2;所有的数都不会大于100。Output对于每组数据,输出两点(x1,y1),(x2,y2)之间的折线距离。注原创 2021-11-30 13:55:48 · 131 阅读 · 0 评论 -
寻找最长子段和(动态规划)c
求最长子段和(动态规划)题目详情输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值,并且要求输出从数组第几个数到第几个数。要求时间复杂度为0(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和 18。输入形式需要输入几个数:6请输入具体数字:-4 11 7 4 -3 -2输出形式最长子段和为:22,从第2个数到第4个数。具体思路原创 2021-11-27 18:58:55 · 923 阅读 · 0 评论 -
慕课 递归(二)
例题3: 放苹果把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?5,1,1和1,5,1是同一种分法。思路想要看多少种分法,就要看盘子和苹果的数量多少。当盘子数量大于苹果数量时(n>m),多的盘子就不需要,等价于把m个苹果放在m个盘子里面。当盘子数量小于等于苹果数量(m>=n),总方法=有盘子为空+没盘子为空。完整代码如下#include<iostream>using namespace std;in..原创 2021-11-07 23:08:27 · 267 阅读 · 0 评论 -
poj1458
原题:DescriptionA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a subsequence of X if there exists a str原创 2021-11-02 10:53:20 · 209 阅读 · 0 评论 -
慕课第二章 递归(一)例题3: N皇后 ,例题4:逆波兰表达式求值
题目皇后问题:输入整数N,要求N个国际象棋的皇后,摆在N*N的棋盘上,互相不能攻击,输出全部方案。思路输入一个正整数N,则程序输出N皇后问题的全部摆法。输出结果里的每一行2都代表一种摆法。行里的第i个数字如果是n,就代表第i行的皇后应该放在第n列。皇后的行、列编号都是从1开始运算。代码编写(1)main()函数首先在所有函数外设置一个一个全局变量N,在定义一个用来存放皇后位置的数组,然后从最简单的主函数main说起,先输入几个皇后,从而确定好一个大概的表格框架,再调用nque..原创 2021-10-31 14:01:08 · 297 阅读 · 0 评论 -
基数算法--桶排序
例子17,13,25,100,72思路五个数字中最大的数字为100,是三位数,首先要将其它的几个数字补到三位数,也就是在前面添0,也就是 017,013,025,100,072。 随后准备0~9十个桶。先看个位,按照个位将他们放入桶中。如图:随后依次将他们倒出,他们的顺序就变为了:100,072,013,025,017,然后看十位将他们倒入桶中。如图:在同一个桶中,先入桶的要先出桶,出桶之后顺序为 100,013,017,025,072 最后看百位,将他们..原创 2021-08-30 06:55:46 · 181 阅读 · 0 评论 -
poj1473到处都是宝藏和 poj1772新围棋
1.到处都是宝藏问题描述:你有一张地图来让你寻找宝藏,但是沿着它给你的路线不一定是最近的方法,你要找到最近的方法并且求出它的最短距离和宝藏的位置,宝藏的位置以开始的坐标为原点,向右为x轴正方向,想上为y轴正方向来相对标注。数据输入:解决思路:根据地图所给的内容,这一串字符告诉我们代表一步一步的步骤,每一行代表一个地图,以句号为结束每一个地图的结束标志,例如3N代表向北走三格的距离,依次类推,直到碰到句号,一个地图就结束了,也就是找到了一个宝藏,但是这个距离有11格远的距离明显..原创 2021-08-29 13:37:57 · 241 阅读 · 0 评论 -
贪心算法-钓鱼问题
题目:约翰有h(1≤h≤16)个小时的时间,在该地区有n(2≤n≤25)个湖,这些湖刚好分布在一条路线上,该路线是单向的。约翰从湖1出发,他可以在任一个湖结束钓鱼。但他只能从一个湖到达另一个与之相邻的湖,而且不必每个湖都停留。已知在最初5分钟,湖i预计钓到鱼的数量为fi(fi≥0)。以后每隔5分钟,预计钓到鱼的数量将以常数di(di≥0)递减。如果某个时段预计钓到鱼的数量小于或等于di,那么在下一时段将钓不到鱼。为简单起见,假设没有其它的钓鱼者影响约翰的钓鱼数量。问题分析:在钓鱼的过程中,访问鱼塘的顺序是单原创 2021-08-29 12:11:38 · 2046 阅读 · 0 评论 -
拨钟问题(枚举)
题目链接http://cxsjsxmooc.openjudge.cn/2021t2summer/002/题目描述有9个时钟,排成一个3*3的矩阵。|-------| |-------| |-------|| | | | | | ||---O | |---O | | O || | | | | ||-------| |-------| |---原创 2021-08-23 00:04:52 · 388 阅读 · 0 评论 -
序列化二叉树
序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6/ \ / \ / \# # # # # #例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写原创 2021-08-22 12:55:41 · 664 阅读 · 0 评论 -
广度优先搜索八数码问题
广度优先搜索:广度优先搜索算法是一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。八数码问题:3×3九宫棋盘,放置数码为1 -8的8个棋牌,剩下一个空格,只能通过棋牌向空格的移动来改变棋盘的布局。要求:根据给定初始布局(即初始状态)和目标布局(即目标状态),如何移动棋牌才能从初始布局到达目标布局,找到合法的走步序列。方案思路:空白棋子用0代替,接受初始节点的信息和目标节点的信...原创 2021-08-22 11:27:17 · 1186 阅读 · 0 评论 -
001:特殊密码锁
题目链接http://cxsjsxmooc.openjudge.cn/2021t2summer/001/题目有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态。输入两行,给出两个由0原创 2021-08-16 07:03:24 · 269 阅读 · 0 评论 -
深度优先搜索之寻路问题
深度优先搜索:其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。例:寻路问题N个城市,编号1到N。城市间有R条单向道路。每条道路连接两个城市,有长度和过路费两个属性。bob只有K钱,他想从城市1走到城市N。问最短共需要走多长的路。数媒202 钱...原创 2021-08-15 12:38:37 · 328 阅读 · 0 评论 -
不重复的字串
题目讲解最长不重复子串就是从一个字符串中找到一个连续子串,该子串中任何两个字符都不能相同,且该子串的长度是最大的。给定一个字符串string,找出string中无重复字符的最长子串题目举例Given"abcabcbb", the answer is"abc", which the length is 3.Given"bbbbb", the answer is"b", with the length of 1.Given"pwwkew", the answer is"wke...原创 2021-08-14 21:24:59 · 346 阅读 · 0 评论 -
Poj 3278 Catch That Cow
题目链接http://poj.org/problem?id=3278题目农夫约翰已被告知一头逃亡母牛的位置,并希望立即抓住她。他从数轴上的点N(0 ≤N≤ 100,000) 开始,而奶牛在同一数轴上的点K(0 ≤K≤ 100,000) 处。Farmer John 有两种交通方式:步行和传送。* 行走:FJ 可以在一分钟内从X点移动到X- 1 或X+ 1点* 传送:FJ 可以在一分钟内从X点移动到 2 ×X点。如果母牛不知道它的追逐,根本不动,农夫约翰需要多长时间才...原创 2021-08-11 07:01:00 · 280 阅读 · 0 评论 -
动态规划2(分蛋糕)
题目:有一块矩形大蛋糕,长和宽分别是整数w、h。现要将其切成m块小蛋糕,每个小蛋糕都必须是矩形、且长和宽均为整数。切蛋糕时,每次切一块蛋糕,将其分成两个矩形蛋糕。请计算:最后得到的m块小蛋糕中,最大的那块蛋糕的面积下限。思路:蛋糕可以横着切,可以竖着切,每隔1个距离可以切一刀;为减小问题规模,需要先确定第一刀的位置;总块数为m,则需要切m-1刀故枚举第一刀的位置,遍历横着切0——w-(m-1)位置,建立三维数组,minmax[i][j][k],表示将ij的蛋糕分为k+1块(切k刀)所得的最.原创 2021-08-08 11:06:54 · 308 阅读 · 0 评论 -
递归de经典
题目如下任何正整数n都可以写成n=n1+n2+n3+……+nk;1<=n1,n2,n3,……nk<=n;这被称为整数n的划分。例如1.正整数3的划分如下:3;2+1;1+1+1;2.正整数6的划分如下:6;5+1;4+2,4+1+1;3+3,3+2+1,3+1+1+1;2+2+2,2+2+1+1,2+1+1+1+1;1+1+1+1+1+1。结题目标:设计一个函数,求出n的划分个数。首先在拿到题目的时候,我们就应该可以知道:n的m...原创 2021-08-07 21:05:19 · 135 阅读 · 0 评论 -
洛谷P-1044 栈
题目:宁宁考虑的是这样一个问题:一个操作数序列,1,2,\ldots ,n1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于nn。现在可以进行两种操作,将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的 push 操作) 将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的 pop 操作)使用这两种操作,由一个操作数序列就可以得到一系列的输出序列,下图所示为由1 2 3生成序列2 3 1的过程。(原始状态如上图所示)你的程序将对...原创 2021-08-04 20:45:50 · 436 阅读 · 0 评论 -
经典枚举mooc例题C++
枚举小结生理周期题目描述人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为 23 天、28 天和33 天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间)。你的任务是给定一个从当年第一天开始数的天数,输出从给定时原创 2021-08-02 00:19:22 · 387 阅读 · 0 评论