
算法合集
文章平均质量分 50
在这里,我将分享学习到的算法及题解
几度热忱
心中醒,口中说,纸上作,不从身上习过,皆无用也。
展开
-
算法基础课03----双指针算法,位运算,离散化,区间合并例题及题解
算法基础课03----双指针算法,位运算,离散化,区间合并例题及题解原创 2022-08-15 21:17:46 · 196 阅读 · 0 评论 -
算法基础课02----高精度加减乘除,前缀和,差分例题及题解
高精度加减乘除,一维前缀和,二维前缀和,一维差分,二维差分例题及题解原创 2022-08-09 15:49:24 · 196 阅读 · 0 评论 -
算法基础课01----快速排序,归并排序,二分查找模板题目
快速排序,归并排序,二分查找基础模板题目原创 2022-08-05 12:55:27 · 252 阅读 · 0 评论 -
第k个数(快速排序模板题)
题目:给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整数数列。输出格式输出一个整数,表示数列的第 k 小数。数据范围1≤n≤100000,1≤k≤n输入样例:5 32 4 1 5 3输出样例:3代码思想给定一个数组 i指针指向数组的最左端,j指针指向数组的最右端给定一个分界点x,可以是数组的第一个位置的值,也可以是原创 2022-03-30 11:01:15 · 415 阅读 · 0 评论 -
L1-003 个位数统计 2021.03.18
题目描述给定一个 k 位整数 N=d k−1 10 k−1 +⋯+d 1 10 1 +d 0 (0≤d i ≤9, i=0,⋯,k−1, d k−1 >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式: 对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字原创 2021-03-18 22:22:16 · 153 阅读 · 0 评论 -
hdu2021 发工资咯:)2021.03.02
题目描述作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,至少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?这里假设老师的工资是正整数,单位元,人民币一共有100元,50元,10元,5元,2元和1元六种。输入输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n <100),表示老师的人数,然后是原创 2021-03-02 19:34:54 · 299 阅读 · 0 评论 -
hdu2019 数列有序! 2021.03.01
题目描述有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。对于每个测试实例,输出插入新的元素后的数列。Sample Input3 31 2 40 0Sample Output1 2 3 4个人见解看见这道题 第一反应就是使用c++的sort()函数试了一下果然可以 要原创 2021-03-01 08:02:59 · 224 阅读 · 0 评论 -
字符环 2021.02.26
题目描述有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串"ABCEFAGADEGKABUVKLM"的首尾连在一起,构成一个环;字符串"MADJKLUVKL"的首尾连在一起,构成一个另一个环;"UVKLMA"是这两个环的一个连续公共字符串。输入格式一行,包含两个字符串,分别对应一个字符环。这两个字符串之间用单个空格分开。字符串长度不超过 500,且不包含空格等空白符。输出格式输出一个整数,表示这两个字符环上最长公共字符串的长度。Sample Input原创 2021-02-26 20:46:30 · 255 阅读 · 0 评论 -
话题焦点人物 2021.02.26
内容描述原创 2021-02-26 19:37:48 · 542 阅读 · 0 评论 -
雇佣兵 2021.02.25
题目描述雇佣兵的体力最大值为M,初始体力值为0、战斗力为N、拥有X个能量元素。当雇佣兵的体力值恰好为M时,才可以参加一个为期M天的战斗期,战斗期结束体力值将为0。在同一个战斗期内,雇佣兵每连续战斗n天,战斗力就会上升1点,n为当前战斗期开始时的战斗力。一个战斗期结束后,雇佣兵需要用若干个能量元素使其体力恢复到最大值M,从而参加下一个战斗期。每个能量元素恢复的体力值不超过当前的战斗力。每个能量元素只能使用一次。请问:雇佣兵的战斗力最大可以到达多少。说明:只在战斗期结束后可以使用能量元素,可以使用多个原创 2021-02-25 14:17:05 · 320 阅读 · 0 评论 -
开关灯2021.02.24
题目描述假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。输入格式输入正整数 N和 M,以单个空格原创 2021-02-24 20:29:33 · 318 阅读 · 0 评论 -
树根 2021.02.24
题目描述数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得把1和2加起来,最后得到3,这是一个一位数,因此3是39的数根。输入格式一个正整数(小于10^1000)输出格式一个数字,即输入数字的数根个人理解本题的重点在于该原创 2021-02-24 13:18:27 · 560 阅读 · 2 评论 -
变幻的矩阵 2021.02.23
个人理解要判断清楚发生变化的矩阵与原矩阵之间的关系很容易混淆 分情况讨论AC代码#include<bits/stdc++.h>using namespace std;char atrix[11][11],change[11][11],judged[11][11];int n;bool judge(char A[11][11],char B[11][11]){ int o,p; for(o=0; o<n; o++) { for(p..原创 2021-02-23 23:47:07 · 367 阅读 · 0 评论 -
救援 2021.02.23
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、优快云 技术博客 3 篇原创 2021-02-23 15:47:29 · 363 阅读 · 0 评论 -
hdu1312 Red and Black
这里写自定义目录标题问题描述有一个长方形的房间,覆盖着正方形的瓷砖。每个磁贴都被着色为红色或黑色。一个人站在黑色的瓷砖上。他可以从一个图块移动到四个相邻图块之一。但是他不能在红色瓷砖上移动,只能在黑色瓷砖上移动。编写一个程序,通过重复上述动作来计算他可以到达的黑色瓷砖的数量。本题既可以使用深度搜索也可以使用广度搜索注意:<1> 分清变量代表行还是列wx是列 hy是行bfs()函数中 dx是行 dy是列Check()函数中 x是行 y是列<2> 处理过的位置替换为‘原创 2021-02-21 14:35:51 · 168 阅读 · 0 评论