自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 网易笔试——小易喜欢的数列

n=2的数列就是在n=1的满足题意的数列后再加上一位数(我们把n=1末位的数叫A,新加的这位数则是B),B在1,…当n = 4, k = 7时,那么对于{1,7,7,2},它的长度是4,所有数字也在1到7范围内,并且满足第三条性质,所以小易喜欢这个数列。3、对于位置相邻的两个数A和B(A在B前),都满足(A <= B)或(A mod B!到这里看出来这是一个动态规划问题,长度为i的数列数是可以由子问题——长度为i-1的数列数计算而来的。考虑数列长度=i-1的情况,设数列的第i-1位数为。

2023-11-12 21:15:08 241

原创 BM65 最长公共子序列(二)

题目要求获取最长公共子序列,我们要先求最长公共子序列的长度,然后根据这个长度倒推从而获取这个子序列。注意:子序列不是子串,子串要求所有字符在原字符串中的位置必须连续,子序列不要求连续,只要求相对位置不变。同时满足如下3个条件,才能说明字符s1[i-1]和s2[j-1]都属于最长公共子序列,将s1[i-1]或s2[j-1]添加进序列。第4步得到的序列其实是最长公共子序列的逆序,将其逆转就得到了题目所求的最长公共子序列。根据dp数组转移的方向,不断往前组装字符。的字符串中,最长公共子序列的。

2023-11-12 21:07:54 272

原创 (平衡)kd树的创建与搜索

本文介绍了普通kd树(非平衡kd树)的创建方法

2022-10-13 16:04:43 1037 1

原创 感知机算法的python实现

本文介绍了利用pthon实现二维空间下的感知机算法

2022-10-11 20:08:07 1548

原创 【模板】线性筛素数题解

这里附上题目链接:【模板】线性筛素数。 ~~手动分割~~ 题目思路解析欧拉筛法模板题AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.h>bool visit[100000000];//visit[i]=false说明i不是素数int n,q,k[1000002],prime_permutation[5780

2021-02-24 14:51:53 232

原创 [USACO1.5]Superprime Rib题解

这里附上题目链接:[USACO1.5]特殊的质数肋骨 Superprime Rib。

2021-02-23 16:37:41 352

原创 CF230B T-primes题解

这里附上题目链接:CF230B T-primes。 ~~手动分割~~ 题目思路解析只有质数的平方有三个不同的因数。先判断某数是不是完全平方数。若是,再判断其平方根是不是质数。若是,输出YES;否则输出NO。因此此题解法的主要区别在于所使用的素数筛法。1.欧拉筛法AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.

2021-02-23 12:06:11 262 1

原创 CF937B Vile Grasshoppers题解

这里附上题目链接:CF937B Vile Grasshoppers。 ~~手动分割~~ 题目思路解析AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.h>int p,y;bool sign=true;//sign=1表示存在符合要求的最大值int main(){ int i,j; //输入数据

2021-02-22 21:36:57 100

原创 [USACO08DEC]Patting Heads S题解

这里附上题目链接:[USACO08DEC]Patting Heads S。 ~~手动分割~~ 题目思路解析AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#define max(A,B) ((A)>(B)?(A):(B))int n,a[100002],m;//共有n头奶牛int occurrence_number[1000002];//数字i出现了occ

2021-02-22 16:14:07 233

原创 CF776B Sherlock and his girlfriend题解

这里附上题目链接:CF776B Sherlock and his girlfriend。 ~~手动分割~~ 题目思路解析其实这题的叙述就是在故弄玄虚。由题,所有价格为质数的珠宝颜色都可以相同,所有价格为合数的珠宝颜色都可以相同。因为任意合数都不为其他所有合数的质因数。所以,当1≤n≤2时,k=1;当3≤n时,k=2即最多使用两种不同颜色。因此,定义一个全局数组color[ ]存储每件珠宝的颜色。该数组初始化时所有元素皆为0。使用筛法将区间[2,n+1]中所有的合数筛

2021-02-22 15:10:16 198

原创 (P3912)素数个数题解

这里附上题目链接:P3912 素数个数。 ~~手动分割~~ 题目思路解析选用合适的素数筛法筛出区间[ 1,n ]的质数并计数,最后输出计数结果即可。使用筛法需要开一个标记数组visit[ ]。因为题目有125.00MB的内存限制且此题数据范围较大,所以若将数组visit[ ]设为int型,将不能通过测试数据的最后两个点#9和#10。在使用int型时,所耗内存100000000*4byte = 400000000 byte = 390625 kb = 381.46 Mb。

2021-02-21 21:51:15 442

原创 (P1865)A % B Problem题解

这里附上题目链接:P1865 A % B Problem。 ~~手动分割~~题目AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int visit[10000000],n,sum;//visit[i]=1说明i不是素数int prime_permutation[10000000];//数组prime_permutatio

2021-02-21 14:36:57 154

原创 素数筛法详解

在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数称为素数,也叫质数。注意1.算术基本定理:任何一个大于1的自然数 n,如果n不为质数,那么n可以唯一分解成有限个质数的乘积。2. 若一个数 n 可以进行因数分解,则得到的两个数一定是有一个>=sqrt(n),另一个<=sqrt(n)。以下介绍3种常见的素数筛法。朴素筛法此方法一般用于判断单个数是否为素数。时间复杂度为O(√n) 。现设要判断n是否为素数,枚举从2到√n的所有自然数,若这些数都不是n的因数,则n为质数。

2021-02-20 22:35:40 514

原创 血色先锋队题解

这里附上题目链接:血色先锋队。 ~~手动分割~~ 题目思路解析1.BFS这是此题的标准解法。先将给定的a个感染源入队,并将其所在格的感染时间设为0。 //先将a个感染源所在的结点入队 for(i=0;i<a;i++) { queue[i].x=infection_source[i][0]; queue[i].y=infection_source[i][1]; visit[infection_sou

2021-02-18 21:13:13 234

原创 CF377A Maze题解

这里附上题目链接:CF377A Maze。 ~~手动分割~~ 题目思路解析正向解法设给出的地图中共有initial_field个空地,从其中任选k个空地并将其变为墙(X),共有在这么多种选法中选择一种能使剩下的空地成为四连通块的选法作为结果输出。显然,正向解法过于暴力,耗时过长。其思路虽然简洁,但不易写出代码。因此不考虑这种解法。逆向解法1.DFS题目要求在将地图中k个空地变为墙后剩下的(initial_field-k)个空地依然为四连通块,并且刚开始给出的地图中所有

2021-02-12 17:04:34 141

原创 [NOIP2001 普及组] 求先序排列题解

这里附上题目链接:[NOIP2001 普及组] 求先序排列题解。 ~~手动分割~~ 题目思路解析

2021-02-11 00:28:49 655

原创 二叉树的重构与遍历

重构二叉树的重构是指在已知二叉树的先序遍历,中序遍历,后序遍历中的任意两者的情况下,恢复二叉树的结构。如果已知该二叉树为真二叉树,则即使在不知道其中序排列(即知道先序排列、后序排列)的情况下,也能唯一确定二叉树的结构。否则,必须要有其中序排列才能唯一确定二叉树的结构。以下讨论在给出中序排列的情况下,如何确定二叉树结构。1.前序排列+中序排列由前序遍历定义知,前序排列的结构为根结点(对于子树,就是父结点)、左子树、右子树。对于其中的左子树和右子树,也可以类似地划分。...

2021-02-09 23:17:42 698

原创 算法基础知识:康托展开与康托逆展开

康托展开康托展开是一个全排列到一个自然数的双映射。通俗简介康托展开可以求解一个全排列在所有全排列中的次序,比如:(如果规定)排列12345(在1~5的所有全排列中)次序为1 ,(则)12354次序为2,按字典序增加编号递增,依次类推。康托逆展开可以求解一个次序号对应的全排列是什么。具体原理就不用术语来解释了,直接上栗子。栗子给定一个全排列,计算其字典序。直观起见,我们举例[2, 3, 4, 5,1]来说明康托展开的运算步骤(设其字典序为rank=0):因为[2, 3, 4, 5,1]的

2021-02-04 17:24:15 456

原创 海战题解

这里附上题目链接:

2021-02-03 00:14:43 380

原创 小埋与扫雷题解

这里附上题目链接:小埋与扫雷。 ~~手动分割~~ 题目注:八连通注:打红点的格就是而粗红线覆盖的部分就是“空”。AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>int n,m;//地图有n行m列int number_1,number_2;int visit[1000][1000];//数组visit用于记忆地图某一格是否被访问过int input_m

2021-02-01 17:33:50 517 1

原创 回文质数商店题解

朋友问的一道题……题目AC代码#include <stdio.h>#include <stdlib.h>int if_palindromic_number(int a)//回文数判断{ int reversed_order=0,n=a;//reversed_order代表逆序数 while(n>0) { reve...

2021-01-24 23:46:00 117

原创 [USACO1.5]回文质数 Prime Palindromes题解

这里附上题目链接:Prime Palindromes。 ~~手动分割~~ 题目 ~~手动分割~~思路解析本题考察素数筛法与回文数判断法。1.约数枚举(普通筛法)#include <stdio.h>#include <stdlib.h>int a,b;int if_palindromic_number(int c)//回文数...

2020-04-22 12:08:43 255

原创 棋盘题解

这里附上题目链接:棋盘。 ~~手动分割~~ 题目 ~~手动分割~~ 解法1.DFS思路解析还没来得及写AC代码#include <stdio.h>#include <stdlib.h>int m,n;//棋盘有m行m列;有n个有颜色的棋格int board[101][101],min_gold[101][101],vi...

2020-04-09 23:04:19 738

原创 乒乓球题解

这里附上题目链接:乒乓球。 ~~手动分割~~ 题目 ~~手动分割~~ AC代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int huahua[62503],opponent[62503];//opp...

2020-04-08 00:22:01 511

原创 车站题解

这里附上题目链接:车站。 ~~手动分割~~题目 ~~手动分割~~因为题目并没有给出车在第二站的上下车人数,而第三站以后的所有数据都与其相关,所以我们不妨设第二站上下车人数皆为 y。又因为第一站的上车人数为 a ,所以车在每一站的上下车人数与车从每一站出发时的车载人数都可以表达为参数 a、y的多项式 ma+ny。探索规律以下是每一站的上下车人数与车载人数的系...

2020-04-03 22:01:24 627

原创 铺地毯题解

这里附上题目链接:铺地毯。 ~~手动分割~~题目 ~~手动分割~~思路解析1.倒搜越在后面放入的地毯就越有可能覆盖在所求格子的最上面,所以直接倒搜:若发现所求点在当前地毯的覆盖范围内,则说明当前地毯一定是覆盖在所求点的最上面,输出编号,结束程序;若发现所求点没有被地毯覆盖,输出-1.AC代码:#include <stdio.h>#...

2020-04-03 16:50:12 907

原创 迷宫题解

这里附上题目链接:迷宫。 ~~手动分割~~ 题目 ~~手动分割~~ 思路解析一道十分显然的搜索题!!!从出发点开始向四个方向搜索;每计算一个新点坐标,若坐标未越界且该点既不是障碍也没有被访问过,则访问该点,并将该点标记为已访问;若该点是终点,结果加一;输出结果。陷阱题目只保证出发点不是障碍,并没有保证终点不是障碍。例如以下测试数据...

2020-04-02 20:22:35 522

原创 马的遍历题解

这里附上题目链接:马的遍历。 ~~手动分割~~ 题目解法1.BFSAC代码:#include <stdio.h>#include <stdlib.h>int n,m;//棋盘有n行m列int board[401][401],visit[401][401];//board为棋盘,visit用于标记棋格是否被访问int location[8...

2020-04-01 13:03:37 421

原创 高手去散步题解

这里附上题目链接:高手去散步。 ~~手动分割~~ 题目 ~~手动分割~~ 解法1.DFSAC代码:#include <stdio.h>#include <stdlib.h>int n,m,max_distance;int map[21][21],visit[21];//map为地图,visit用于标记景点是否访问过in...

2020-03-31 17:17:31 238

原创 拯救oibh总部题解

这里附上题目链接:拯救oibh总部。这是一道十分显然的搜索题!!!思路解析题意转换洪水应该是从地图边界向内渗透,但围墙 * 会将洪水挡住。也就是说洪水只能沿着没有围墙 * 的路径向内渗透。我们可以得到如下结论:若一块重要区域0能被洪水渗透,说明该重要区域与地图边界之间至少有1条路径。于是有2种搜索方向:从外向内搜:沿着地图的4条边界向内搜索,将搜索路径上的重要区域全部用围墙...

2020-03-28 00:44:13 419

原创 President's Office题解

List item

2020-03-26 22:13:09 307

原创 洛谷小H回家题解

这里附上题目链接:回家。题目描述小H在一个划分成了n*m个方格的长方形封锁线上。 每次他能向上下左右四个方向移动一格(当然小H不可以静止不动), 但不能离开封锁线,否则就被打死了。 刚开始时他有满血6点,每移动一格他要消耗1点血量。一旦小H的 血量降到 0, 他将死去。 他可以沿路通过拾取鼠标(什么鬼。。。)来补满血量。只要他走到有鼠标的格子,他不需要任何时间即可拾取。格子上的鼠标可以瞬间补...

2020-03-26 16:07:43 1201

原创 DZY Loves Chessboard题解

这里附上题目链接:DZY Loves Chessboard。题目描述一个棋盘上有一些格子是坏的,另一些是正常的。对于每一个正常的格子,都要在上面放上棋子。 请找到一组解使没有两个相同颜色的棋子相邻(两个格子相邻为它们存在共同的边)输入格式第一行为两个数n,m。(1<=n,m<=100) 下面n行,每个格子上的字符为’-‘或’.’,’-‘表示坏掉的格子,’.'表示正常的格子。...

2020-03-26 14:59:36 438

原创 [USACO10MAR]The Rock Game S题解

题目链接:[USACO10MAR]The Rock Game S。题目描述在奶牛回家休息和娱乐之前,Farmer John 希望它们通过玩游戏获得一些智力上的刺激。游戏板由 NNN 个相同的孔组成,这些孔最初都是空的。一头母牛要么用石头盖住一个洞,要么揭开一个先前被盖住的洞。游戏状态的定义是哪些洞被石头覆盖,哪些洞没有覆盖。游戏的目标是让奶牛准确地到达每个可能的游戏状态一次,然后返回到所有洞...

2020-03-24 17:22:32 495 12

原创 失踪的7题解

这里附上题目链接:失踪的7。题目描述远古的Pascal人也使用阿拉伯数字来进行计数,但是他们又不喜欢使用7,因为他们认为7是一个不吉祥的数字,所以Pascal数字8其实表示的是自然数中的7,18表示的是自然数中的16。下面计算一下,在正整数n范围以内包含有多少个Pascal数字。思路解析根据题意,显然此题就是让我们计算在1到n的所有整数中有多少个不含7的数。我们只需要计算出含7数字的数目,...

2020-03-22 19:02:59 1160 1

原创 并查集详解

举个栗子有一个庞大的传销组织,成员之间有着上线和下线的关系(上线可以理解为上级)。如下是这个组织的关系图(黑色姓代表一级上线)可见该组织有5个一级上线(赵、钱、孙、张、孔),分别下辖若干级下线。张某只有一个下线,而孔某一个下线也没发展到。现在该组织面临一个难题。组织虽然人数众多,可每个成员只认识自己的直接上级,除此之外谁也不认识。这给他们之间的信息传递带来了极大的困难。因为每个一级上线以...

2020-03-20 15:30:57 186

原创 洛谷New Reform题解暨计算无向图的环数与非环数

这里先行附上题目链接CF659E New Reform。题意:有n(1<=n<=100000)个城市,m(1<=m<=100000)条双向道路,没有一个城市存在自己到自己的道路,两个不同的城市间,最多有一条道路,也不能保证能从一个城市到达任意一个其他城市。现在需要对每一条道路定向,使之成为单向道路,当然需要尽可能少地产生孤立的城市。当其他所有城市都不能到达某个城市,则...

2020-03-12 22:36:56 338

原创 利用深度优先搜索进行图的遍历

显然,图分为两种:无向图和有向图。无向图示例:如图,任意两个相连的结点是可以互相通达的。例如,V1与V2相连,那么从V1可以到达V2,从V2也可以到达V1(所有路径都是双向的).有向图示例:对于任意两个相连的结点U、V,若存在存在从U到V的路径,即不存在从V到U的路径(所有路径都是单向的)。在利用邻接矩阵描述图的情况下,我接下来阐释如何利用深度优先搜索进行两种图的遍历。无向图的深度...

2020-03-08 17:55:45 1781

原创 八皇后题解

我大一上听老师提过这道题,最近有幸在在洛谷看到这道题,恰好自己刚学DFS(深度优先搜索算法),尝试做了一下。 题意:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?...

2020-03-04 15:35:41 583

原创 C语言单链表的逆序重排

声明:本人最开始在也是在看了博主**Hustudent20080101**的文章后百思才得其解。 这是我用来展示单链表逆序所定义的结构体(结点):struct node { int data; struct node* next; //后继指针 };data为整型数据。初始链表如下: 这里要特别说明下,在建立单链表时,我个人习...

2020-03-01 16:10:45 1088

空空如也

空空如也

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

TA关注的人

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