自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Number Sequence

给定两个数字序列 a[] 和 b[],b[] 有可能整体作为一个连续子序列出现在了 a[] 中,现在请你找出 b[] 在 a[] 中第一次出现的位置(起始位置从 1 开始计数),如果一次都没有出现,请输出 -1。输入格式第一行包含一个数字 T,表示测试用例的个数。对于每组测试用例,第一行包含两个数字 n m ( 1<= n <= 1000000, 1 <= m <= 10000 ),表示 a[] 和 b[] 的长度。接下来的一行包括 n 个数字,依次表示 a[1], a[2]

2022-04-30 19:30:15 228 1

原创 Girls‘ research

作为一名情报工作人员,你现在需要破解一段只由小写字母组成的密文,密文到原文的破解规则如下:将每个字母破解成它们在字母表中 x 个字母之前的字母(将字母表视为一个环)。例如:若 x=1,则 b 应破解成 a,a 应破解成 z,z 应破解成 y,以此类推。密文中有大量的为加密而设计的无效信息,真正的有效信息是密文中出现的第一个最长回文。现在给你一段密文,和这段密文在解密时哪个字母应该被破解为 a,请你破解出这段密文的有效信息,有效信息的长度至少应为 2,否则就认为这段密文无效,输出 “No solutio

2022-04-30 19:23:50 209 1

原创 [蓝桥杯2016初赛]有奖猜谜

小明很喜欢猜谜语。最近,他被邀请参加了X星球的猜谜活动。每位选手开始的时候都被发给777个电子币。规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币, 扣完为止。小明一共猜了15条谜语。战果为:vxvxvxvxvxvxvvx其中v表示猜对了,x表示猜错了。请你计算一下,小明最后手里的电子币数目是多少。输出格式请填写表示最后电子币数目的数字。思路:这个就是一个长度为15的字符串所以直接一个一个判断就可以了,赢了就让当前的翻倍输了-555;代码:#include<stdio

2022-04-06 20:27:38 127 1

原创 [蓝桥杯2016初赛]煤球数目

有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),…如果一共有100层,共有多少个煤球?输出格式请填表示煤球总数目的数字。思路:我们从题中可以看出第一层比第二层多2个第三层比第二层多3个第四层比第三层多4个我们就可以发现规律了,第一层与第二层的差是2,第二层往后每一层比上一层多的都是实际上就是2每往下一层就加1一直加到这一层。代码:#include<stdio.h>#include<

2022-04-06 20:23:09 406

原创 [蓝桥杯2016初赛]网友年龄

某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”请你计算:网友的年龄一共有多少种可能情况?思路:这个题范围比较小是一个两位数所以直接暴力判断就可以了代码:#include<stdio.h>#include<algorithm>using namespace std;int main(){ int ans=0; for(int i=10;i<=99;i++)//一个两

2022-04-06 19:51:51 377

原创 求两行字符串的和与差

我们有两个字符串集合 A 和 B,A 和 B 中均没有重复元素 ,我们定义这两个字符串集合的和为不重复的字符串的数目 ,定义集合 A 减去集合 B 的差为集合 A 中字符串去掉与集合 B 中重复的字符串的数目,例如 集合 A = { “George”, “Jim”, “John”, “Blake”, “Kevin”, “Michael” } ,集合B = { “George”, “Katie”, “Kevin”, “Michael”, “Ryan” } ,集合 A 与 B 的和为 8, 因为一共有{ “Ge

2022-04-06 19:45:18 189

原创 结果填空:倍数

一天蒜头君在想,[l,r][之间有多少个数字是 d 的倍数呢?但是区间 [l,r]是 d 的倍数的数字太多,于是聪明的蒜头君便找到了你。当 l = 1032,r = 12302135942453,d = 234,d的倍数有多少个呢?思路:如何我们一次加1一个一个的去找234的倍数显然是不可能的因为它的范围太大了,然后我们就去想我们只要找到区间内第一个是234的倍数的数,然后在它的基础上依次加234的倍数那它肯定还是234的倍数所以我们只要求出第一个234的倍数与r之间还包含多少个234就可以了答案就是

2022-04-06 19:30:11 315

原创 普通平衡树

您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1.插入数值 x。2.删除数值 x(若有多个相同的数,应只删除一个)。3.查询数值 x 的排名(若有多个相同的数,应输出最小的排名)。4.查询排名为 x 的数值。5.求数值 x 的前驱(前驱定义为小于 x 的最大的数)。6.求数值 x 的后继(后继定义为大于 x 的最小的数)。注意: 数据保证查询的结果一定存在。输入格式第一行为 n,表示操作的个数。接下来 n 行每行有两个数 opt 和 x,opt 表示操作的序

2022-01-21 17:15:02 567

原创 求不超过N的反素数

对于任何正整数 x,其约数的个数记作 g(x),例如 g(1)=1、g(6)=4。如果某个正整数 x 满足:对于任意的小于 x 的正整数 i,都有 g(x)>g(i),则称 x 为反素数。例如,整数 1,2,4,6 等都是反素数。现在给定一个数 N,请求出不超过 N 的最大的反素数。输入格式一个正整数 N。输出格式一个整数,表示不超过 N 的最大反素数。数据范围1≤N≤2∗109输入样例:1000输出样例:840思路:这个题我们就是要求出[1-n]中约数最多的最小的那个数,

2022-01-21 16:43:27 340

原创 Prime Distance

给定两个整数L,R ,求闭区间[L,R] 中相邻两个质数差值最小的数对与差值最大的数对。当存在多个时,输出靠前的素数对。输入格式多组数据。每行两个数 。输出格式详见输出样例。样例输入2 1714 17输出2,3 are closest, 7,11 are most distant.There are no adjacent primes.1<=L<R<2^31R-L<=10^6思路:这个题数据范围很大所以直接求是不可能的,但是R-L的范围小每一个数都含有

2022-01-21 15:46:36 397

原创 Fibonacci 第 n 项

题目描述大家都知道 Fibonacci 数列吧,。现在问题很简单,输入n 和mod ,求fn%mod 。样例输入5 1000输出5思路:这一题的数据范围比较大,所以直接求是肯定不行的,一定会炸,然后我们看一下有没有其他的方法我们知道f[i]=1f[i-1]+1f[i-2],f[i-1]=1f[i-1]+0f[i-2]根据这两个式子我们可以发现进一步可以得到这样我们最后求出矩阵第一行的结果就行了代码:#include<stdio.h>#include<st

2022-01-21 12:04:34 348

原创 树上操作-树上剖分

题目描述有一棵点数为 的树,以点 为根,且树有点权。然后有 个操作,分为三种:把某个节点 的点权增加 。把某个节点 为根的子树中所有点的点权都增加 。询问某个节点 到根的路径中所有点的点权和。输入格式第一行包含两个整数 。表示点数和操作数。接下来一行 个整数,表示树中节点的初始权值。接下来 行每行两个正整数 , 表示该树中存在一条边 。再接下来 行,每行分别表示一次操作。其中第一个数表示该操作的种类(1-3) ,之后接这个操作的参数(x 或者 x a) 。输出格

2022-01-20 18:40:26 282

原创 快速幂模板

#include<stdio.h>int quick(int a,int b,int c){ int ans=1; while(b) { if(b%2) ans=ans*a%c; a=a*a%c; b/=2; } return ans;}int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("%d\n",quick(a,b,c));}

2022-01-18 20:34:25 246

原创 校门外的树

校门外有很多树,学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两种操作:K=1,读入 l,r表示在 l 到 r之间种上一种树,每次操作种的树的种类都不同;K=2,读入 l,r表示询问 l 到 r 之间有多少种树。注意:每个位置都可以重复种树。输入格式第一行 n,m 表示道路总长为 n,共有 m 个操作;接下来 m 行为 m 个操作。输出格式对于每个 k=2 输出一个答案。样例Input5 41 1 32 2 51 2 42 3 5output

2022-01-05 20:45:19 360

原创 点的距离-LCA

给定一棵 n 个点的树,Q 个询问,每次询问点 x 到点y 两点之间的距离。输入格式第一行一个正整数 n,表示这棵树有 n 个节点;接下来 n−1 行,每行两个整数 x,y 表示 x,y 之间有一条连边;然后一个整数 Q,表示有 Q 个询问;接下来 QQ 行每行两个整数 x,y 表示询问 x 到 y 的距离。输出格式输出 Q 行,每行表示每个询问的答案。思路:LCA模板题代码:#include<stdio.h>#include<string.h>#includ

2022-01-04 19:19:36 428

原创 花神游历各国

花神喜欢步行游历各国,顺便虐爆各地竞赛。花神有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花神对每个国家都有一个喜欢程度(当然花神并不一定喜欢所有国家)。每一次旅行中,花神会选择一条旅游路线,它在那一串国家中是连续的一段,这次旅行带来的开心值是这些国家的喜欢度的总和,当然花神对这些国家的喜欢程序并不是恒定的,有时会突然对某些国家产生反感,使他对这些国家的喜欢度开根号​(可能是花神虐爆了那些国家的 OI,从而感到乏味)。现在给出花神每次的旅行路线,以及开心度的变化,请求出花神每

2022-01-03 19:48:40 527

原创 拯救行动-bfs

公主被恶人抓走,被关押在牢房的某个地方。牢房N×M(N,M≤200)的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。英勇的骑士(r)决定孤身一人去拯救公主(a)。我们假设拯救成功的表示是 “骑士到达了公主所在的位置”。由于在通往公主所在位置的道路中可能遇到守卫,骑士一旦遇到守卫,必须杀死守卫才能继续前进。现假设骑士可以向上、下、左、右四个方向移动,每移动一个位置需要1个单位时间,杀死一个守卫需要花费额外的1个单位时间。同时假设骑士足够强壮,有能力杀死所有的守卫。给定牢

2021-10-06 20:34:36 129

原创 Tram-最短路模板

Tram network in Zagreb consists of a number of intersections and rails connecting some of them. In every intersection there is a switch pointing to the one of the rails going out of the intersection. When the tram enters the intersection it can leave only

2021-10-04 07:27:03 90

原创 蜘蛛牌-深搜

蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么这些牌也跟着一起移动,游戏的目的是将所有的牌按同一花色从小到大排好,为了简单起见,我们的游戏只有同一花色的10张牌,从A到10,且随机的在一行上展开,编号从1到10,把第i号上的牌移到第j号牌上,移动距离为abs(i-j),现在你要做的是求出完成游戏的最小移动距离。Input第一个输入数据是T,表示数据的组数。每组数据有一行,10个输入数据,数

2021-09-19 19:00:56 196

原创 The Accomodation of Students-最大匹配+判断二分图

There are a group of students. Some of them may know each other, while others don’t. For example, A and B know each other, B and C know each other. But this may not imply that A and C know each other.Now you are given all pairs of students who know each o

2021-09-18 20:12:07 153

原创 Round Numbers-数位dp

The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, Paper, Stone’ (also known as ‘Rock, Paper, Scissors’, ‘Ro, Sham, Bo’, and a host of other names) in order to make arbitrary decisions such as who gets to be milked first

2021-09-18 15:03:59 70

原创 MIN-MEX Cut

A binary string is a string that consists of characters 0 and 1.Let MEX of a binary string be the smallest digit among 0, 1, or 2 that does not occur in the string. For example, MEX of 001011 is 2, because 0 and 1 occur in the string at least once, MEX of

2021-09-17 08:56:58 158

原创 线段树+懒惰标记

In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length.Now Pudge wants to do some operations on the hook.Let us number the

2021-08-25 11:15:07 117

原创 强连通算法模板

#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;vector<int>vec;const int N=1e5+10;int head[N],book[N],cnt,rcnt,rhead[N],cmp[N];struct l{ int next,to;}dis[N],rdis[N];void ad

2021-08-08 08:07:32 82

原创 Highways-最小生成树

DescriptionThe island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of public highways. The Flatopian government is aware of this problem and has already constructed a number of highways connecting some of the most i

2021-08-06 16:59:57 153

原创 Roadblocks-dijkstra优化

DescriptionBessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. She does not want to get to her old home too quickly, because she likes the scenery along the way. She has decided to take the second-shortest rat

2021-08-05 17:53:04 47

原创 Invitation Cards-spfa算法

DescriptionIn the age of television, not many people attend theater performances. Antique Comedians of Malidinesia are aware of this fact. They want to propagate theater and, most of all, Antique Comedies. They have printed invitation cards with all the n

2021-08-05 17:44:14 87

原创 二分图匹配-棋盘游戏

题目小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题注意不能放车的地方不影响车的互相攻击。所以现在Gardon想让小希来解决一个更难的问题,在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可以保证尽量多的“车”被放下。但是某些格子若不放子,就无法保证放尽量多的“车”,这样的格子被称做重要点。Gardon

2021-08-01 10:02:59 100

原创 并查集-食物链

题目动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。1) 当前的话与前面的

2021-08-01 09:53:52 35

原创 01背包- 饭卡

题目电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。输入多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第二行包括n个正整数,表示每种菜的价格。价格不超过50。第三行包括一个正整数m,

2021-08-01 09:42:24 79

原创 记忆化搜索-FatMouse and Cheese

Problem DescriptionFatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid location Fatmouse has hid between 0 an

2021-08-01 09:24:50 53

原创 贪心-Watering Grass

题目链接:[https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1323]思路:这是一道贪心题 ,我们首先要算出每一个水龙头能够灌溉的浇水水区间,并把一些直径小于灌溉地宽的忽略掉,然后把得到的区间按右界从小到大进行排序,基本就这些,剩下的让我们来看代码。代码:#include<stdio.h>#include<math.h&gt

2021-08-01 09:11:54 103

原创 广搜-A计划

可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验。魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老。年迈的国王正是心急如焚,告招天下勇士来拯救公主。不过公主早已习以为常,她深信智勇的骑士LJ肯定能将她救出。现据密探所报,公主被关在一个两层的迷宫里,迷宫的入口是S(0,0,0),公主的位置用P表示,时空传输机用#表示,墙用*表示,平地用.表示。骑士们一进入时空传输机就会被转到另一层的相对位置,但如果被转到的位置是墙的话,那骑士们就会被撞死。

2021-08-01 08:50:00 32

原创 动态规划-Milking Time

Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-1) so that she produces as much milk as possible.Farmer John has a l

2021-07-27 09:39:25 63

原创 蓝桥杯2018决赛调手表

**小明买了块高端大气上档次的电子手表,他正准备调时间呢。在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 。如果当前的数是 n - 1,按一次后会变成 0 。作为强迫症患者,小明一定要把手表的时间调对。如果手表上的时间比当前时间多1,则要按 n - 1 次加一按钮才能调回正确时间。小明想,如果手表可以再添加一个按钮,表示把当前的数加

2021-06-02 20:38:13 51

原创 找一个数的约数-非暴力

#include<stdio.h>int book[10100],bk[101010],b[101010];int main(){ int i,j,n,k=0; scanf("%d",&n); for(i=2;i<=n;i++)//素数打表 { if(bk[i]==0) { book[k++]=i; for(j=i*2;j<=n;j=j+i) { bk[j]=1; } } } int cnt=0; for(i=0

2021-06-02 19:54:46 119 1

原创 2019蓝桥杯国赛-路径计数

从一个 5×5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的路线有多少种?总长度不超过 12;最后回到左上角;路线不自交;不走出 5×5 的方格矩阵范围之外。代码#include<stdio.h>int next[4][2]={{0,1},{0,-1},{1,0},{-1,0}},ans=0,book[1010][1100];void dfs(int x,int y,int step){ int tx,ty,k; if(step>=4&&s

2021-06-01 19:47:01 150

原创 第十一届蓝桥杯c++B组国赛——玩具蛇

思路:这一题思路很简单就是一个普通的深搜,玩具蛇总共有十六节,所以可以遍历初始位置坐标如果能走16步#include<stdio.h>#include<string.h>int ans=0,book[1010][1010];int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};void dfs(int x,int y,int step){ int tx,ty,k; if(step==16) { ans++; return;

2021-05-28 21:26:52 87

原创 第十一届蓝桥杯c++B组国赛——扩散

思路:广搜提示:如果直接从给的四个初始坐标开始搜的话可能会得到负数所以我们把坐标都加上2020;#include<stdio.h>#include"string.h"#include<algorithm>#include<queue>using namespace std;struct l{ int x,y,s;}tail,head;int book[10000][10000];int main(){ memset(book,0,sizeof(

2021-05-28 21:15:03 399

原创 滑雪(动态规划)

Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑

2021-05-14 20:29:11 91

空空如也

空空如也

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

TA关注的人

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