自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MrCyilin的博客

重庆市育才中学NOIP信息学竞赛(C++)

  • 博客(67)
  • 收藏
  • 关注

原创 两仪剑法

#include <iostream>using namespace std;long long gcd(long long a,long long b) {   if(b==0){    return a;  }    return gcd(b,a%b);}int main(){  int n;  cin >> n;  while (n--) {    long long...

2018-05-06 17:27:09 526

原创 关押罪犯

#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int MAX_N=1e+5;struct node{    int a,b,c;};int fa[MAX_N];node crime[MAX_N];bool cmp(node a,node b){...

2018-05-05 19:47:19 295

原创 两数之和

给定一个包含n个整数的数组a,保证每个数字不重复,从中取出两个不等数,使得他们的值为s,求一共有几种不同的方案。输入 :n,s输出:满足条件的方案数、#include <iostream>#include <algorithm>using namespace std;const int MAX_N = 1e6+10;long long n,s;long long num[M...

2018-05-01 19:21:04 323

原创 节点最近公共祖先

问题描述树是一种很常见的数据结构。现在蒜头君面临一个问题,在一个有 n 个节点的树上,节点编号分别是1…n。蒜头想知道一些节点之间的最近公共祖先是那些节点。 输入格式 第一行输入一个整数 n(2≤n≤10,000),表示树上有 n 个节点。 接下来的 n−1 行,每行输入俩个整数 a,b(1≤a,b≤n)代表节点 a,b 之间有一条 a 到 b 边,a 是 b 的父亲。 接下来输入一个整数 q,代...

2018-04-23 21:40:02 519

原创 连线问题

问题描述蒜头君和花椰菜君经常出难题考对方。一天,花椰菜君给蒜头君出了这样一道难题:花椰菜君在坐标系上随机画了 N 个点,然后让蒜头君给点之间连线,要求任意两点之间都是连通的,且所连的线段长度之和最小。聪明的你快来帮蒜头君解决一下吧。 输入格式 第一行输入一个整数 N(1≤N≤100),表示花椰菜君一共画了 N 个点。然后输入 N 行,每行输入两个整数 x,y(0≤x,y≤1,000),代表一个点的...

2018-04-23 21:38:18 704

原创 布设光纤

#include <iostream>#include <cstring>using namespace std;const int MAX_N = 1000;const int MAX_M = 100000;struct edge {    int v, next;    int len;} E[MAX_M];int p[MAX_N], eid;bool used[MAX...

2018-04-23 21:36:04 411

原创 穿越雷区

蒜头君最近迷上了一款 RPG 游戏,这次他要去森林里的 nn 个宝藏点收集宝藏,编号从 11 到 nn。森林里有 mm 条道路连接宝藏点,每条道路上都有数量不等的地雷,蒜头君想从中找出若干条道路,使得任意两个宝藏点都是连通的,这样蒜头君都能访问到每个宝藏点了。另外,每当遇到一个地雷,蒜头君会减少一定的血量。现在蒜头君知道了这 mm 条道路上的地雷数,蒜头君希望挑选若干条道路,使得挑选出的道路,地雷...

2018-04-22 20:12:16 363

原创 网络延时

某计算机网络中存在 nn 个路由,每个路由代表一个子网。路由之间有 n - 1n−1 条互通关系,使得这 nn 个网络之间任意两个网络都可以直接联通,或者通过其他网络间接连通。为了测试组建的网路的性能,假设相邻的路由之间的数据传输需要一单位时间,现在需要知道任意两个路由之间传输数据最多需要多长时间。输入格式第一行一个整数 n(2 \le n \le 50000)n(2≤n≤50000) 表示网络中...

2018-04-22 17:53:16 405

原创 昆虫的生活

一天蒜头君正在研究一种稀有昆虫的性行为。他们具有两种不同的性别,他假设他们只与异性昆虫互动。因为他们背上都印有数字,所以他们之间的一起互动,在实验室是很容易识别的。现在给出一些昆虫之间的互动,看看实验是否支持蒜头君的假设--只有异性互动。输入格式第一行输入两个整数 nn (1 \le n \le 2000)(1≤n≤2000) , mm(1 \le m \le 10^6)(1≤m≤106)。其中 ...

2018-04-19 20:52:42 358

原创 判定欧拉回路

你学过一笔画问题么?其实一笔画问题又叫欧拉回路,是指在画的过程中,笔不离开纸,且图中每条边仅画一次,而且可以回到起点的一条回路。蒜头君打算考考你,给你一个图,问是否存在欧拉回路?输入格式第 11 行输入两个正整数,分别是节点数 N(1 < N < 1000)N(1<N<1000) 和边数 M(1 < M < 100000)M(1<M<100000);...

2018-04-08 21:50:55 267

原创 接龙

蒜头君在玩一种接龙的游戏,蒜头君有 3000030000张卡片分别放在 3000030000 列,每列依次编号为 1,2,...,300001,2,...,30000。同时,蒜头君也把每张卡片依次编号为 1,2,...,300001,2,...,30000。游戏开始,蒜头君让让第 ii 张卡片处于第 i(i = 1,2,...,30000)i(i=1,2,...,30000) 列。然后蒜头君会发出...

2018-04-08 20:57:41 280

原创 网络交友

在网络社交的过程中,通过朋友,也能认识新的朋友。在某个朋友关系图中,假定 A 和 B 是朋友,B 和 C 是朋友,那么 A 和 C 也会成为朋友。即,我们规定朋友的朋友也是朋友。现在要求你每当有一对新的朋友认识的时候,你需要计算两人的朋友圈合并以后的大小。输入格式第一行:一个整数 n(n\leq 5000)n(n≤5000),表示有 nn 对朋友认识。接下来 nn 行:每行输入两个名字。表示新认识...

2018-04-08 20:57:02 478

原创 带权并查集

void init(int n) {    for(int i = 1; i <= n; i++)  {        fa[i] = i;        dist[i] = 0;        size[i] = 1;    }}int get(int x) {    if(fa[x] == x) {        return x;            }    int y = fa[...

2018-04-07 17:13:51 143

原创 作文:美好一隅

美好一隅方圆几里内,一片茫茫的草地,一池清凉的潭水,在那平凡的一角,或许,就是美好一隅。和我在老家的街头走一走,初冬的夜晚。漫步在松柏树皮散落下的路上,静静地,聆听,轻缓悠闲的脚步声,我正要到田野的那头去,寻找有什么稀奇古怪地小花小草。透亮的月光,在夜空中打着旋儿,投下一波微光,我的影子,跳出在我身边,我不停地踪蹑着我的影子,却迟迟赶不上它。不知不觉地用衣袖刮到枝叶,回头,在清冷狭窄的一角,我不禁...

2018-04-05 19:43:34 5572 2

原创 美好的邂逅

蒜头君走在校园里,邂逅了一个美女,可是蒜头君胆怯了,并没有上前搭讪。回到宿舍的蒜头君越想越难过,好在室友提出了一个很好的办法,可以通过同学的同学的同学这样的关系,当同学的同学这样的关系叠加到足够大的时候,覆盖的人群也就会足够多,这样就能找到这个美女了,而且蒜头君的室友很肯定的说,最多隔 66 个人,就一定能找到这个美女,蒜头君有点不相信了,想验证一下室友的想法,他和室友一起对 NN 个人展开了调查...

2018-04-03 21:09:47 476

原创 威虎山上的分配

每年过年的时候,座山雕都会给兄弟们分银子,分银子之前,座山雕允许大伙儿发表意见,因为要是没法满足所有人的意见,指不定谁要搞出什么大新闻。不过每个人在提意见的时候只能说:“我认为 A 分的银子应该比 B 多!”。座山雕决定要找出一种分配方案,满足所有人的意见,同时使得所有人分得的银子总数最少,并且每个人分得的银子最少为 100100两。输入格式第一行两个整数 n,m(0<n\leq 10000...

2018-04-01 20:28:45 437

原创 蒜头君的训练室

蒜头君的训练室有 NN 个站点,另外有 MM 条单向边连接这些站点。第 ii 条路从 S_iSi​ 站到 E_iEi​站,有高度为 H_iHi​ 的围栏,蒜头君是需要跳跃的。现在蒜头君们有 TT 个任务要完成。第 ii 个任务,蒜头君要从 A_iAi​ 站到 B_iBi​ 站,蒜头君想要他们路径中最高围栏尽可能小。请你确定这个高度。输入格式第一行输入三个整数 N, M, TN,M,T。(1\leq...

2018-03-28 21:36:38 542

原创 时光机

蒜头君生活的宇宙有 nn 个星球,有 mm 条虫洞。蒜头君发明了时光机,利用虫洞进行时光旅行。这 mm 条虫洞,第 ii 条虫洞能实现星球 a_iai​到 b_ibi​ 的单向旅行。蒜头君发明的时光机不稳定,通过第 ii 条虫洞能够使得时间前进或者倒退 c_ici​(c_i \ge 0ci​≥0 表示前进,c_i < 0ci​<0 表示倒退)。如果通过时光机能够让时间无限倒退,那么将会...

2018-03-25 19:46:05 1157

原创 骑车比赛

蒜头君准备去参加骑车比赛,比赛在 nn 个城市间进行,编号从 11 到 nn。选手们都从城市 11 出发,终点在城市 nn。已知城市间有 mm 条道路,每条道路连接两个城市,注意道路是双向的。现在蒜头君知道了他经过每条道路需要花费的时间,他想请你帮他计算一下,他这次比赛最少需要花多少时间完成。输入格式第一行输入两个整数 n, mn,m(1 \leq n \leq 1,000, 1 \leq m \...

2018-03-25 15:16:46 654

转载 Dijkstra最短路算法

#include <iostream>#include <cstring>using namespace std;const int N = 1e3 + 9;const int M = 1e4 + 9;const int inf = 0x3f3f3f3f;struct edge {    int v, w, fail;    edge() {}    edge(int _v...

2018-03-25 15:14:59 201

原创 蒜头君的城堡之旅

蒜国地域是一个 nn 行 mm 列的矩阵,下标均从 11开始。蒜国有个美丽的城堡,在坐标 (n, m)(n,m)上,蒜头君在坐标 (1,1)(1,1) 的位置上。蒜头君打算出发去城堡游玩,游玩结束后返回到起点。在出发去城堡的路上,蒜头君只会选择往下或者往右走,而在返回的路上,蒜头君只会选择往上或者往左走,每次只能走一格。已知每个格子上都有一定数量的蒜味可乐,每个格子至多经过一次。现在蒜头君请你来帮...

2018-03-20 21:36:02 437

原创 过河

在一个夜黑风高的晚上,有 nn 个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不超过两人通过,他们只有一个手电筒,所以每次过桥后,需要有人把手电筒带回来,第 ii 号小朋友过桥的时间为 a[i]a[i],两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。输入格式第一行输入一个整数 nn (1 \le n \le 1000)(1≤n≤1000) ,表示有 nn...

2018-03-19 21:49:37 539

原创 最长公共子序列

这次我们的问题非常简单,蒜头君有两个字符串 aa 和 bb,蒜头想知道两个字符串的最长公共子序列的长度。输入格式第一行输入一个字符串。第二行输入一个字符串。(字符串只包含字母,每个字符串长度不超过 10001000)输出格式输出二者的最长公共子序列的长度,占一行。#include <iostream>#include <cstring>#include <string...

2018-03-15 20:27:13 200

原创 跳木桩

第一行输入一个整数 nn 代表木桩个数。第二行输入 nn 个整数 h_1,h_2,h_3\cdots h_nh1​,h2​,h3​⋯hn​,分别代表 nn个木桩的高度。(1 \leq n \leq 1000,1 \leq h_i \leq 1000001≤n≤1000,1≤hi​≤100000)输出格式输出一个整数,代表最多能踩到的木桩个数,占一行。#include <iostream&gt...

2018-03-14 21:45:01 582

原创 蒜头君的购物袋1

蒜头君去超市购物,他有一只容量为 VV 的购物袋,同时他买了 nn 件物品,已知每件物品的体积 v_ivi​。蒜头君想知道,挑选哪些物品放入购物袋中,可以使袋子剩余的空间最小。输入格式第一行输入一个整数 VV(1 \leq V \leq 20,0001≤V≤20,000),表示购物袋的容量。第二行输入一个整数 nn(1 \leq n \leq 301≤n≤30),表示蒜头君购买的 nn 件物品。接...

2018-03-11 20:45:50 549

原创 蒜头君的新游戏

工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:nn位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃。蒜头君喊游戏开始,每位手里拿着娃娃的同事可以选择将娃娃传给左边或者右边的同学,当蒜头君喊游戏结束时,停止传娃娃。此时手里拿着娃娃的同事即是败者。玩了几轮之后,蒜头君想到一个问题:有多少种不同的方法,使得从同事 A 开始传娃娃,传了 mm 次之后又回到了同事 A 手里...

2018-03-11 20:44:48 673

原创 杨辉三角

杨辉三角是二项式系数在三角形中的一种几何排列。它的每个数等于它上方两数之和,每行数字左右对称,由 11 开始逐渐变大。1         12       1   1   3     1   2   1   4   1   3   3   1   5 1   4   6   4   1   61   5   10 10 5   1请求出杨辉三角的第 nn 行,第 mm 项的数字是什么...

2018-03-11 20:44:08 274

原创 墙壁涂色

蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。他买了 33 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 nn 个部分,蒜头希望每个相邻的部分颜色不能相同。他想知道一共有多少种给房间上色的方案。例如,当 n = 5n=5 时,下面就是一种合法方案。由于墙壁是一个环形,所以下面这个方案就是不合法的。#include <iostream>using namespace s...

2018-03-11 20:43:07 416

原创 8数码问题

八方块移动游戏要求从一个含 88 个数字(用 1-81−8 表示)的方块以及一个空格方块(用 00表示)的 3 \times 33×3 矩阵的起始状态开始,不断移动该空格方块以使其和相邻的方块互换,直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右 44 个方向可移动,在四个角落上有 22 个方向可移动,在其他位置上有 33个方向可移动。例如,假设一个 3\times 33×3 矩阵的...

2018-03-08 20:43:36 736

原创 单向公路

某地区有许多城镇,但并不是每个城镇都跟其他城镇有公路连接,并且有的公路并不能双向行驶。现在我们把这些城镇间的公路分布及允许的行驶方向告诉你,你需要编程解决通过公路是否可以从一个城镇到达另一个城镇。(我们规定,城镇自己跟自己可互相到达,即 AA 可到达 AA)。输入格式第一行只有一个数 NN ,下面将跟着 2N2N 行数据。在前 NN 行数据中,每行数据开头第一个数字 numbernumber ,表...

2018-03-08 20:42:38 651

原创 魔力值

我们定义一个区间 [l, r][l,r] 的魔力值为下列三个值中的最大值。l \oplus rl⊕r,其中 \oplus⊕ 表示异或,c++ 中是 ^ 这个操作符。如果 l \ne rl≠r,令 mid=int(\frac{l + r}{2})mid=int(2l+r​),[l, mid][l,mid] 的魔力值。如果 l \ne rl≠r,令 mid=int(\frac{l + r}{2})mi...

2018-02-26 21:29:30 656

原创 方程的解数

蒜头君在求解一个 nn 元的高次方程:\displaystyle k_1x_1^{p_1}+k_2x_2^{p_2}+\ldots+k_nx_n^{p_n}=0k1​x1p1​​+k2​x2p2​​+…+kn​xnpn​​=0其中:x_1,x_2,\ldots,x_nx1​,x2​,…,xn​ 是未知数,k_1,k_2,\ldots,k_nk1​,k2​,…,kn​ 是系数,p_1,p_2,\ld...

2018-02-20 21:10:38 498

原创 交叉排序

蒜头君很无聊,现在有 NN 个数,第 ii 个数是 A_iAi​。现在他先将 A_{l_1}, A_{l_1+1}...A_{r_1}Al1​​,Al1​+1​...Ar1​​ 从小到大排序。再将 A_{l_2}, A_{l_2+1}...A_{r_2}Al2​​,Al2​+1​...Ar2​​ 从大到小排序。请输出 AA 的排序结果。输入格式第一行五个整数 N, l_1, r_1, l_2, r...

2018-02-20 21:09:33 334

原创 论前端汽车

大胆的想象总是源于生活中的一点一滴。汽车设计师通过女性与游艇的报告,大部分女性第一次上游艇时,都带有一点恐惧,害怕自己会掉下去。正如我的母亲,快艇还没有航行,就已经开始晕了。设计师主要考虑车子与轮船如何两者结合,还有面积的问题,这需要很多的巧妙的细节让车更可亲近,其中,最大的难点就是如何让汽车与船融合在一起,那么就要考虑它的外观以及引擎是否能够完全匹配,看起来非常协调——便设计出“两栖概念车”。这...

2018-02-20 10:28:59 321

原创 最大的蛋糕块

这一天蒜头君生日,他的朋友们一起来给蒜头君买一个大的蛋糕过生日。游戏做完后到了切蛋糕的时刻了,朋友们知道蒜头君喜欢吃蛋糕,便让蒜头君自己给自己切一块最大的。蒜头君看朋友们这么热情也就不客气了。这块蛋糕是由 R \times CR×C 的网格构成,每个网格上面都放有不同的水果。蒜头君把这些水果分为两类,一类是自己喜欢吃的水果,用'#'来表示;一类是自己不喜欢吃的水果,用'.'来表示。蒜头君对切出的蛋...

2018-02-09 16:13:02 694

原创 合并果子

蒜头君很想吃果子,正好果园果子熟了。在果园里,蒜头君已经将所有的果子打了下来,按照就近原则把果子合成了 nn 堆。蒜头君决定把所有的果子合成一堆。 因为蒜头君比较懒,为了省力气,蒜头君开始想点子了:  每一次合并,蒜头君可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n-1n−1 次合并之后,就只剩下一堆了。蒜头君在合并果子时总共消耗的体力等于每次合并所耗体力...

2018-02-09 16:10:19 241

原创 勤劳的蒜头君

蒜头君是一个勤学俭工的好学生,每天都会在图书馆担任图书管理员整理书籍,来赚取自己的生活费。但是图书馆的书籍实在是太多了,实在是记不过来。于是蒜头君找到了学习编程的你,想让你通过计算机编写一个程序,实现每查询一本书籍,就告诉他这本书对应的编号(每本书的编号对应它字典序的编号,书名相同的话算一本书)。知道了编号。蒜头君就可以轻松地知道这本书的位置了。输入格式第一行有两个整数 n(1 \le n \le...

2018-02-09 16:09:10 326

原创 角谷定理

角谷定理:输入一个自然数,若为偶数,则把它除以 22,若为奇数,则把它乘以 33 加 11。经过如此有限次变换后,总可以得到自然数 11。求一个数 xx 需要经过多少次变换以后可得到自然数 11。输入格式输入一个自然数 n(1 \le n < 2^{31})n(1≤n<231)。输出格式第一行输出变换的次数。接下来一行按照变换顺序输出每次变换以后的值,每两个数中间用一个空格隔开(输出包...

2018-02-09 16:08:03 1296

原创 两数之和

给出一个有 nn 个元素的数列 aa 和一个整数 ss,其中数列 aa 的元素是按照升序排列的。请你在数列中找出两个元素 x,yx,y,使得的 x+y=sx+y=s。输入格式输入第一行一个整数 n(1 \le n \le 10^5)n(1≤n≤105),表示数列中的元素个数。接下来一个输入 nn 个空格隔开的整数,表示输入的数列 aa,保证是升序排列,并且 -10^9 \le a_i \le 10...

2018-02-08 19:51:00 261

原创 罗马数字

我们今日大多数时候习惯于使用阿拉伯数字,但是同时有时候我们还会使用一种数字——罗马数字。传统罗马数字用单个字母表示特定的数值,I表示1,V表示5,X表示10,L表示50,C表示100,D表示500,M表示1000。最多3个同样的I,X,C或M可以连续出现表示一个数字,V,L,D则不在一个数字中连续出现。例如II表示2,CCC表示300。但是要注意,IIII就不能表示4。有时,一个可表示为1

2018-02-06 22:15:19 1011

空空如也

空空如也

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

TA关注的人

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