自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 兔子问题(Rabbit problem)

兔子问题Description有一种兔子,出生后一个月就可以长大,然后再过一个月一对长大的兔子就可以生育一对小兔子且以后每个月都能生育一对。现在,我们有一对刚出生的这种兔子,那么,n 个月过后,我们会有多少对兔子呢?假设所有的兔子都不会死亡。Input输入文件仅一行,包含一个自然数 n。Output输出文件仅一行,包含一个自然数,即 n 个月后兔子的对数。Sample Input 1...

2019-02-13 20:33:40 1052

原创 YCOJ过河卒C++

#过河卒过河卒是一道~~较简单 ~~的问题,用递归或者动态规划都可以完成,但今天主要不是递归或者动态规划,而是用深度优先搜索做的。虽然会有两组TLE深搜是一种向下搜索的算法(如图所示)它能有效的统计中点到起点的所有路径,与BFS不同的是,BFS(广搜)是一层一层的搜索,而DFS(深搜)是往下搜,直到边界然后回溯,再搜另一边。所以,BFS用于找最短路,而DFS用于统计路径总数。现在,再来看看...

2019-01-26 20:12:19 2565 2

原创 优先队列

优先队列,是,一个跟单调队列一样的神奇的数据,结构。手写优先队列不会,只能用STL库自带的priority_queue。声明priority_queue的头文件#include<queue>或#include<bits/stdc++.h>定义priority_queue<int,vector<int>,less<int>> ...

2019-09-28 09:11:42 223 1

原创 单调队列

单调就是指一直增或一直减,例如1,2,3,4就是单调增,4,3,2,1就是单调减。而单调队列就有这种性质。数据结构队列是先进先出,相当于数列3,7,5,9,现在有一个数2要进队,那么,按队列的操作应该将数列变为7,5,9,2。然而单调队列就不一样。假设有一条队列7,6,3,4,现在又有一个数5要进队,却看见3,4都比5要弱~~(类似MYJ在某STAR中将LYH打爆的行为)~~,所以就有了一种...

2019-09-28 09:10:54 230

原创 铺瓷砖

铺瓷砖Description今天小信装修新家,给家里买了一种 1×2的长方形(如图1)新瓷砖。小信是个懂得审美的人,毕竟人生除了金钱,还有诗和远方。这个时候小信就在想,这种长方形的瓷砖铺到一个 n×m 的地面上有多少种方案(如图2:是 4×4 地面的一种方案)?Input输入两个整数 n,m,(1≤MIN(n,m)≤10, 1≤MAX(n,m)≤100)。Output输出方案总数(最...

2019-08-05 08:41:28 1279

原创 P1616 疯狂的采药

P1616 疯狂的采药题目背景此题为NOIP2005普及组第三题的疯狂版。此题为纪念LiYuxiang而生。题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身...

2019-08-05 08:40:03 221

原创 P1352 没有上司的舞会

P1352 没有上司的舞会一道树形DP的模板题。树形DP一般用递归实现,将节点从小到大的顺序作为动态规划的阶段,先递归子节点,再回溯从子节点到另一节点转移。#include<bits/stdc++.h>using namespace std;vector son[1010010];int dp[10001][101],vis[100001],tree[100101];int...

2019-07-31 14:56:00 147

原创 P1044 栈

P1044 栈一道组合数学的卡特兰数,代码也要不了几行。#include<bits/stdc++.h>using namespace std;int f[1001];int n;int main(){ cin >> n; f[0]=f[1]=1; for(int i=2;i<=n;i++){ for(int j=0;j<i;j++){...

2019-07-29 16:50:44 186

原创 最小乘车费用

Description某条街上每隔一公里就有一汽车站,乘车费用如下表:公里数 1 2 3 4 5 6 7 8 9 10费用 12 21 31 40 49 58 69 79 90 101而一辆汽车从不行驶超过 10 公里。某人想行驶 n 公里,假设他可以任意次换车,请你帮他找到一种乘车方案使费用最小(10 公里的费用比 1 公里小的情况...

2019-07-29 16:43:29 715

原创 Image Perimeters[BFS]

Description给出一张由"x"和".“组成的矩阵。每个"x"可以向上下左右及两个斜对角进行连通,请问由某个点开始的"x”,它所连通的图形的周长为多少。Input整个测试有多组数据,整个测试以四个零代表结束。对于每个数据,第一行给出整个图形的大小(长度小于50),再给出开始点的坐标。接下来若干行用于描述这个图形。Output如题Sample Input2 2 2 2XXX...

2019-07-17 10:04:02 204

原创 细胞

Description一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。Input整数m,n(m行,n列)1<=N,M<=100Output细胞的个数Sample Input4 100234500067103456050020456006710000000089Sample Outp...

2019-07-16 20:24:39 261

原创 [BFS]营救&营救铁达尼号-C++

Description铁塔尼号遇险了!他发出了求救信号。距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里。通过侦测,哥伦比亚号获取了一张海洋图。这张图将海洋部分分化成n*n个比较小的单位,其中用1标明的是陆地,用0标明是海洋。船只能从一个格子,移到相邻的四个格子。为了尽快赶到出事地点,哥伦比亚号最少需要走多远的距离。Input第一行为n,下面是一个n*n的0,1矩阵,表示海洋地...

2019-07-16 12:51:42 538

原创 过河卒-2-C++

以前写了过河卒的DFS做法,但只能过一些小数据,数据一大就会炸,所以又写了过河卒的正解。题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0,0)、B点(n,m)为不超过20的整数,同样马的位置坐标是需要给出的。现在要求你计...

2019-07-15 13:17:03 620

原创 [Noip模拟题]博览购票

Description博览馆正在展出由世上最佳的M位画家所画的图画。人们想到博览馆去看这几位大师的作品。可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字,a和b,代表要看展览中的第a幅至第b幅画(包含a和b)之间的所有图画,而门票的价钱就是一张图画一元。人们希望入场后可以看到所有名师的图画(至少各一张)。可是又想节省金钱……请你写一个程序决定购买门票时的a值和b值。...

2019-07-15 13:00:39 357

原创 [Noip2010]机器翻译-C++

Description小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。...

2019-07-15 12:15:54 2009

原创 [DFS]排队(间隔排列)-C++

Description小Q是班长。在校运动会上,小Q班要进行队列表演。小Q要选出2*N名同学编队,每人都被编上一个号,每一个从1到N的自然数都被某2名同学佩戴,现在要求将他们排成一列,使两个编号为1的同学中间恰好夹1名同学,两个编号为2的同学中间恰好夹2名同学,……,两个编号为N的同学中间恰好夹N名同学,小Q希望知道这样的排法能否实现。Input输入文件仅包括一行,即要处理的N。N<=...

2019-07-14 09:54:25 646

原创 火力网-C++

Description给你张NN的地图,地图上有墙,用"X"表示,有空地,用” . "表示。空地上可以放兵,每个兵可以攻击他的上下左右四条直线范围(不能穿墙)问在防止互相误伤的前提(任何一个兵不在其他兵射程之内),最多摆放多少个兵。Input第一行给出一个数字n以下n行是NN的地图(0<=n<=8)Output对应每组数据最多能放多少兵,每组数据占一行。Sample I...

2019-07-11 17:16:57 468

原创 导游 - C++

Description宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已知镇海中学内共有n处景点。现在有n位该校的学生志愿承担导游和讲解任务。每个学生志愿者对各个景点的熟悉程度是不同的,如何将n位导游分配至n处景点,使得总的熟悉程度最大呢?要求每个景点处都有一个学生导游。Input有若干行:第一行只有一个正整数n(1≤n≤17),表示有...

2019-07-10 18:48:22 603

原创 递归求组合数加强版本

Description编一递归程序,求组合数 C(n,m)已知 C(n,m)=C(n-1,m)+C(n-1,m-1);Input一行两个数字N,M,其值小于等于5000Output 方案数%1000000007 Sample Input1 1Sample Output1既然是加强版本,肯定与一般的不一样,而这道题就是普通递归过不了,需要用记忆化搜索。记忆化搜索实际上就是开...

2019-07-09 20:31:46 512

原创 图论问题总述

最短路1.DijkstraDijkstra用于计算一个顶点到其他所有顶点的最短路径。Dijkstra 算法的主要特点是以起点为中心,逐层向外扩展一个点,每次都会取一个最近点继续扩展,直到取完所有点为止。但Dijkstra 算法要求图中不能出现负权边。//模板#include<bits/stdc++.h>using namespace std;int n,m;str...

2019-06-09 15:57:33 814

原创 P3366 【模板】最小生成树

题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式:第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式:输出包含一个数,即最小生成树的各边的长度之和;如果该图不连通则输出orz输入输...

2019-06-09 14:39:40 118

原创 P1894 [USACO4.2]完美的牛栏The Perfect Stall

题目描述农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶)。一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶。给出奶牛们的爱好的信息,计算...

2019-06-08 19:58:42 200

原创 P2239 螺旋矩阵

题目描述一个nnn行n nn列的螺旋矩阵可由如下方法生成:从矩阵的左上角(第111行第111列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1,2,3,…,n1, 2, 3, … , n1,2,3,…,n,便构成了一个螺旋矩阵。2下图是一个n=4n = 4n=4 时的螺旋矩阵。1 2 ...

2019-06-01 16:25:28 630

原创 小信的微信好友

Description小信最近看了看自己的微信,发现自己的微信多了好多好友,想要找个人太不容易了(朋友太多也是错^_^)。于是想给自己的好友排个序,他给出了两个值,一个是好友亲密度,一个是认识时间(单位年)。首先按照好友亲密度排序(亲密度大的排在前面),如果亲密度相同再按照认识时间排序(认识时间长的排在前面)。Input第一行输入一个整数 n(1 < n ≤ 10^5),表示好友个数...

2019-06-01 16:13:34 218

原创 弹簧板

Description有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方。假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a[i] 代表代表第 i 个弹簧板会把小球向前弹 a[i] 个距离。比如位置 1 的弹簧能让小球前进 2 个距离到达位置 3。如果小球落到某个弹簧板后,经过一系列弹跳会被弹出弹簧板,那么小球就能从这个弹簧板弹...

2019-06-01 16:11:38 683

原创 蒜头君吃桃

Description蒜头君买了一堆桃子不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到 n 天只剩下一个桃子了。蒜头君想知道一开始买了多少桃子。Input输入一个整数 n(2 <= n <= 30)。Output输出买的桃子的数量。Sample Input 12Sample Output 14Sample Inpu...

2019-06-01 16:10:37 137

原创 完全图判定

Description输入一个无向图,判断这个图是不是一个完全图。Input输入第一行两个整数 n(1 <= n <= 100) 和 m(1 <= m <= 20000),表示输入点数和边数。接下来 m 行,每行输入两个整数 u, v(1 <= u, v <= n),表示 u 和 v 之前有一条无向边。输入中不存在自己到自己的边,但是可能会有重复的边。...

2019-06-01 16:07:19 4562 1

原创 水果店

Description小信经营着一个不大的水果店。他认为生存之道就是经营最受顾客欢迎的水果。现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了。小信告诉你每一笔销售记录的水果名称,产地和销售的数量,请你帮他生成明细表。Input第一行是一个整数 N(0 < N <= 1000),表示工有 N 次成功的交易。其后有 N 行数据,每行表示一次交易,由水果名称...

2019-06-01 16:06:22 201

原创 小信学英语

Description小信快要考托福了,这几天,小信每天早上都起来记英语单词。小白时不时地来考一考小信:小白会询问小信一个单词,如果小信背过这个单词,小信会告诉小白这个单词的意思,不然小信会跟小白说还没有背过。单词是由连续的大写或者小写字母组成。注意单词中字母大小写是等价的。比如You和you是一个单词。Input首先输入一个 n(1 <= n <= 100000) 表示事件数。...

2019-06-01 16:04:49 157

原创 计算集合的并

Description给你两个集合,计算其并集,即 {A} + {B}。注:{A} + {B} 中不允许出现重复元素,但是 {A} 与 {B} 之间可能存在相同元素。Input输入数据分为三行,第一行有两个数字 n, m(0<n,m<= 10000),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间...

2019-06-01 16:03:56 260

原创 YCOJ5月26日赛

1.因数的个数Description给定正整数N,求N的阶乘N!的因数的个数。由于答案可能非常巨大,只需要输出模109+710^9+7109+7后的余数。Input第1行:1个整数,表示NOutput第1行:1个整数,表示答案。注意,答案要模1000000007Sample Input 13Sample Output 14Sample Input 21000Sample ...

2019-06-01 15:52:41 149

原创 6月1日YCOJ测试

儿童节欢乐赛1.单向公路好水Description某地区有许多城镇,但并不是每个城镇都跟其他城镇有公路连接,并且有的公路并不能双向行驶。现在我们把这些城镇间的公路分布及允许的行驶方向告诉你,你需要编程解决通过公路是否可以从一个城镇到达另一个城镇。(我们规定,城镇自己跟自己可互相到达,即 a 可到达 a)。Input第一行只有一个数 N ,下面将跟着 2N 行数据。在前 N 行数据中,...

2019-06-01 15:24:45 168

原创 并查集(Disjoint Set Union)

1.并查集在一些有N个元素的集合问题中,我们通常是在开始让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。然而可以知道,这样空间时间复杂度极高,无法通过题目的时限,这个时候,就可以用到并查集来解答。并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。2.初始化初始化很简单,将每个点所在集合初始化为它自己。如...

2019-05-31 20:11:09 2218

原创 差分约束(Difference constraint)

差分约束1.差分约束系统(system of difference constraints)如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。求解差分约束系统,可以转化成图论的单源最短路...

2019-05-17 20:52:05 1648

原创 最短路【模板】

Dijkstra算法和SPFA算法用于求最短路。(Floyd的话,还是算了吧)最短路就是求两点之间的最短路径。最短路径怎么求呢?更新就是了(松弛)。先赋予厚望(先假设无穷大)然后依次更新通过起点1来比较哪条路到终点20最短暂时选择这条绿色的路继续比较所以蓝色的路是最短的。然后看一道纯模板题。骑车比赛Description小信准备去参加骑车比赛,比赛在 n 个城市间...

2019-04-19 20:37:11 1196

原创 P1993 小K的农场(差分约束)

小K的农场题目描述小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b至少多种植了c个单位的作物, 农场a比农场b至多多种植了c个单位的作物, 农场a与农场b种植的作物数一样多。但是,由于小K的记忆有些偏差,所以他想要知道存不存在一种情况,使得农场的种...

2019-04-13 11:45:09 290

原创 P3371 【模板】单源最短路径(弱化版)

因为太蒟了,所以只写了弱化版题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入输出格式输入格式:第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和长度。输出格式:一行,包含N个用空格分隔的整数,其中第i个整数表示从点S出发到点i的最短路径长...

2019-04-13 10:42:35 98

原创 洛谷P1076 寻宝

P1076 寻宝题目描述传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下:藏宝楼共有N+1层,最上面一层是顶层,顶层有一个房间里面藏着宝藏。除了顶层外,藏宝楼另0有N层,每层M个房间,这M个房间围成一圈并按逆时针方向依次编号为0——M−1。其中一些房间有通往上一层的楼梯,每层楼的楼梯设计...

2019-03-30 11:39:18 243

原创 C++第一章:入门

c++是一种类似于c的编程语言。首先,c++有几种基本的数据类型:bool(布尔型),int(整型),char(字符型), double(双浮点型),long long(长整型)。其他的在以后会接触到。对于数据类型的作用如下: int a; char b; long long c; double d; bool e;这样,就开设了五个不同的数据类型。...

2019-03-30 10:36:12 200

原创 P1190 接水问题

题目描述学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。现在有 n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1到 n编号,i号同学的接水量为 w_i 。接水开始时,1到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j完成其接水量要求 w_j 后,下一名排队等候接水的同学 k马上接替 j 同学的位置开...

2019-03-29 19:15:43 319

空空如也

空空如也

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

TA关注的人

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