- 博客(16)
- 收藏
- 关注

原创 单链表反转(逆置)——(四种方法实现)
链表逆置就是把最后以一个提到坐前面,倒数第二个放到第二个……直到第一个到最后一个。由于链表没有下标,所以不能借助下表来实行数据的逆置,要靠空间的转移来完成链表的逆置 这里采用没有头节点的链表来实现逆置。第一种——头插法算法思想:逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头(即“头插”到逆置链表中),使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。#include <stdio.h>#include <stdli...
2022-04-19 20:49:36
82619
9
原创 区间问题-1
给定 n个一类区间 (l1,i,r1,i)(l1,i,r1,i)。给定 m个二类区间 (l2,i,r2,i)(l2,i,r2,i)。请你从一类区间中挑选一个区间,从二类区间中挑选一个区间。要求,选出的两个区间之间的距离尽可能大。请你输出最大可能距离。关于两区间 (l1,r1) 和 (l2,r2)之间的距离,我们规定:如果两区间存在交集,则区间距离为0。 如果两区间不存在交集,则区间距离为|i−j| 的最小可能值,其中l1≤i≤r1,l2≤j≤r2l。输入格式第一行包含...
2022-05-22 20:58:37
446
原创 子集生成——(二进制法)
#include<iostream>#include<string>using namespace std;string s;//打印输出void print_subset(int n,int i){ for(int j=0;j<n;j++) { if(i&(1<<j)) cout<<s[j]<<" "; } cout<<"\n";}int main(){ cin&g.
2022-04-17 16:53:15
237
原创 acwing 周赛——玩游戏(约瑟夫环问题)
n 个小朋友围成一圈,玩数数游戏。小朋友们按顺时针顺序,依次编号为 1~n。初始时,1 号小朋友被指定为领头人。游戏一共会行进 k 轮。在第 i 轮中,领头人会从他的顺时针方向的下一个人开始,按顺时针顺序数 ai 个人。其中,最后一个被领头人数到的人被淘汰出局,这也意味着该轮游戏结束。出局者的顺时针方向的下一个人被指定为新领头人,引领新一轮游戏。例如,假设当游戏即将开始第 i 轮时,还剩下 5 个小朋友,编号按顺时针顺序依次为 8,10,13,14,16,并且当前领头人为 13.
2022-04-17 16:44:51
293
1
原创 蓝桥杯——全球变暖(dfs)
你有一张某海域 NxNNxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:.
2022-04-05 22:20:24
643
原创 New Online Judge——Radical of N(埃氏筛法)
题目描述定义rad(n)表示n的最大square free number因子。(square free numbe表示无平方数因数的数)换句话说,将n进行素因子分解,rad(n)等于不同素因子的乘积。例如504=(2^3)*(3^2)*(7),rad(504)=2*3*7=42。特别地,rad(1)=1。现在请你求出区间[l,r]所有数字i的rad(i)之和:输入格式输入第一行为数字T,表示存在T组测试数据,T不超过1000。每组测试数据输入一行包含两个数字l,r。(1≤l≤r≤1000.
2022-04-05 14:51:40
307
原创 经典题——n皇后问题(回溯法)
N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击),求共有多少种方案。AC Code:#include<iostream>using namespace std;const long long maxn=100000;int vis[3][maxn];//vis[0][]代表列vis[1][]代表主对角线,vis[2][]代表副对角线 ,0可以走,1不能走 int C[maxn];.
2022-04-05 01:15:28
351
原创 蓝桥杯——无平方因子数(埃氏筛法)
给出正整数n和m,区间[n,m]内的“无平方因子”的数有多少个?整数p无平方因子当且仅当不存在k > 1,使得p是k * k的倍数。1 <= n <= m <= 10 ^ 12,m - n <= 10 ^ 7#include<iostream>#include<cstring>using namespace std;typedef long long ll;const ll maxn=100000000;ll isprime..
2022-04-04 16:49:46
754
原创 蓝桥杯——Huffman(贪心)
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于.
2022-04-03 13:48:06
256
原创 New Online Judge——组合的输出(dfs)
从自然数1,2,…,n,从中任取r个数,输出所有组合。输入格式一行两个自然数n、r(1<n<21,1≤r≤n)。输出格式所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。输入样例 复制5 3输出样例 复制 1 2 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#incl...
2022-04-03 13:22:45
679
原创 蓝桥杯——最长子序列
题目描述我们称一个字符串S包含字符串T是指T是S的一个子序列,即可以从字符串S中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与T完全一样。给定两个字符串S和T,请问T中从第一个字符开始最长连续多少个字符 被S包含?输入描述输入两行,每行一个字符串。第一行的字符串为S,第二行的字符串为T。两个字符串均非空而且只包含大写英文字母。其中,1≤∣T∣≤∣S∣≤1000。输出描述输出一个整数,表示答案。输入输出样例示例输入ABC...
2022-04-01 22:38:38
924
原创 蓝桥杯——人物性格相关分析(滑动窗口)
题目描述小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。更准确的说,小明定义 Alice 和 Bob "同时出现" 的意思是:在小说文本 中 Alice 和 Bob 之间不超过K个字符。例如以下文本:This is a story about Alice and Bob.Alice wants to send a private message to Bob.假设K= 20,则 Alice 和 Bob 同时出现了 2 次,分别是"A...
2022-04-01 19:28:35
576
原创 蓝桥杯——砝码称重(DP求解)
问题描述你有一架天平和N个砝码,这N个砝码重量依次是W1, W2, · · · , Wn。请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数N。第二行包含N个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式输出一个整数代表答案。样例输入31 4 6样例输出10样例说明能称出的1010种重量是:1、2、3、4、5、6、7、9、10、111、2、3、4、5、6、7、9、10...
2022-04-01 12:54:57
1123
原创 蓝桥杯——完全二叉树的权值(简单好理解)
题目描述给定一棵包含NN个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是A1, A2, ··· AN。A1,A2,⋅⋅⋅AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入描述第一行包含一个整数N(1 \leq N \leq 10^5)N(1≤N≤105)。第二行包含NN个整数A_1, A_2, ···...
2022-03-31 21:25:19
528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人