自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 元素选择器

题意介绍题意分析模拟题,每一行都处理成一个结构体,包括级别、标签、id。级别为点数量的二分之一,还要把元素名称全部变为小写,处理查询时,如果输入的一行只有一个单词,则遍历所有结构体查找即可,如果有多个单词,则找到查询语句的最后一个单词,并且从后往前遍历找到他的祖先。通过代码#include <iostream>#include <bits/stdc++.h>using namespace std;struct Node{ int num; stri

2020-06-13 00:52:41 323

原创 炉石传说

题意介绍题意分析模拟题,模拟每一种操作后两个英雄及其随从的生命值。最后判断两个英雄的生命值对应输出即可。通过代码#include<bits/stdc++.h>using namespace std;struct S{ int t, h;};S s[2][10];int main(){ s[0][0].h = 30; s[1][0].h = 30; int n, a, b, d; int cnt; char c[20]; scanf

2020-06-12 00:59:23 217

原创 C - TT 的神秘任务 - X

题意介绍TT 的神秘任务系列。这一次,TT 得到了一个长度为 N 的字符串,任务要求在原字符串中至多删去一个字符,使得字符串的字典序尽可能小。字符串字典序的比较优先级如下:从左往右第一个不同字符的 ASCII 值的大小关系字符串长度题意分析找到第一处字符小于它前面的字符的情况,去掉它前面的字符即可。通过代码#include<bits/stdc++.h>using namespace std;int n;string s,ans;bool flag;int mai

2020-06-10 23:26:37 146

原创 B - ZJM 的本领

题意介绍众所周知,ZJM 住在 B 站。这一天 Q 老师来找 ZJM 玩,ZJM 决定向 Q 老师展现一下自己快速看番的本领。ZJM 让 Q 老师任意挑选了一部番,Q老师一眼看中了《辉夜大小姐想让我告白》,已知这部番一共有 N 个精彩片段,每个精彩片段用 [L[i], R[i]] 来表示。ZJM 从第一分钟开始看,每次可以按下快进键,快进 X 分钟,问 ZJM 最快需要多久可以看完这部番。题意分析将所有时间段进行排序,然后观察每一个时间间隔,对快进时间取余的间隔不能快进的时间,然后加上每一个时间

2020-06-10 23:23:10 154

原创 A - Q 老师的记录册

题意介绍Q 老师有 N 个学生,每个学生都有各自独立的编号,且编号范围在 1 ~ N 之间。这一天,所有学生都在不同的时间进入教室。Q 老师记录了当编号为 i 的学生进入教室时,教室中共有 Ai 个学生(包括编号为 i 的学生)。现要求根据这些记录,给出学生进入教室的顺序。题意分析开一个数组,第i个学生在数组中的索引为Ai-1.通过代码#include<bits/stdc++.h>using namespace std;#define maxn 100001int an

2020-06-10 23:19:23 138

原创 C - 宇宙狗的危机

题意介绍在瑞神大战宇宙射线中我们了解到了宇宙狗的厉害之处,虽然宇宙狗凶神恶煞,但是宇宙狗有一个很可爱的女朋友。最近,他的女朋友得到了一些数,同时,她还很喜欢树,所以她打算把得到的数拼成一颗树。这一天,她快拼完了,同时她和好友相约假期出去玩。贪吃的宇宙狗不小心把树的树枝都吃掉了。所以恐惧包围了宇宙狗,他现在要恢复整棵树,但是它只知道这棵树是一颗二叉搜索树,同时任意树边相连的两个节点的gcd(greatest common divisor)都超过1。但是宇宙狗只会发射宇宙射线,他来请求你的帮助,问你能否

2020-06-10 01:13:51 87

原创 B - ZJM要抵御宇宙射线

题意介绍据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上。假设宇宙射线的发射点位于一个平面,ZJM已经通过特殊手段获取了所有宇宙射线的发射点,他们的坐标都是整数。而ZJM要构造一个保护罩,这个保护罩是一个圆形 ,中心位于一个宇宙射线的发射点上。同时,因为大部分经费都拨给了瑞神,所以ZJM要节省经费,做一个最小面积的保护罩。当ZJM决定好之后,东东来找ZJM一起对抗宇宙狗去了,所以ZJM把问题扔给了你~题意分

2020-06-10 01:11:04 173

原创 A - TT数鸭子

题意介绍这一天,TT因为疫情在家憋得难受,在云吸猫一小时后,TT决定去附近自家的山头游玩。TT来到一个小湖边,看到了许多在湖边嬉戏的鸭子,TT顿生羡慕。此时他发现每一只鸭子都不 一样,或羽毛不同,或性格不同。TT在脑子里开了一个map<鸭子,整数> tong,把鸭子变成了 一些数字。现在他好奇,有多少只鸭子映射成的数的数位中不同的数字个数小于k。题意分析开始的做法是将每一个数字看作一个字符串,将字符串中的每一个字符放入set集合,就可以知道每个数字中不同的数字个数,然而,超时了。。。不

2020-06-10 01:08:21 216

原创 A - ZJM 与霍格沃兹(必做)

题意介绍题意分析字符串哈希,对于每一对翻译建立双向映射即可。通过代码#include<bits/stdc++.h>using namespace std;#include<stdio.h>#define maxn 115#define sed 131map<long long, string> m1, m2;char tmp[maxn],s1[maxn], s2[maxn];long long Hash(char s[], int len

2020-06-10 00:50:25 220

原创 A - 猫睡觉问题

题意介绍题意分析首先将每个时刻都转化成分钟,在输入活动时间时,判断每一个活动时间是否超过了B小时,如果超过直接就可输出答案,否则继续进行判断,将每一个时间段进行排序,判断每个时间段之间的间隔是否大于A小时,如果大于则两活动时间之间猫咪就可以休息,并将休息时间记录下来,否则需要将这段时间和下一个活动时间连起来判断是否超过的B小时,如果超过者则不符合条件,否则继续判断某一天的最后一个时间段与之后一天的第一个时间段是否满足条件。通过代码#include<bits/stdc++.h>usin

2020-06-09 00:16:36 100

原创 C - Q老师的考验(必做)

题意介绍Q老师 对数列有一种非同一般的热爱,尤其是优美的斐波那契数列。这一天,Q老师 为了增强大家对于斐波那契数列的理解,决定在斐波那契的基础上创建一个新的数列 f(x) 来考一考大家。数列 f(x) 定义如下:当 x < 10 时,f(x) = x;当 x ≥ 10 时,f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10),ai 只能为 0 或 1。Q老师 将给定 a0~a9,以及两个正整数 k m,询问 f(

2020-06-09 00:04:56 180

原创 B - Q老师与十字叉(必做)

题意介绍题意分析一开始打算开二维数组,结果发现需要的空间太大,不可行,只能将二维数组映射到一维数组,然后求出每一行以及每一列白色格子的数目,然后行列进行两两组合求得符合条件的行和列,注意如果白色格子出现在行列的交汇处,还要减一。通过代码#include<bits/stdc++.h>using namespace std;#define maxn 400001#define inf 0x3f3f3f3fchar c[maxn];int col[maxn], row[maxn

2020-06-08 23:57:59 683

原创 A - Q老师与石头剪刀布(必做)

题意介绍每一个大人曾经都是一个小孩,Q老师 也一样。为了回忆童年,Q老师 和 Monika 玩起了石头剪刀布的游戏,游戏一共 n 轮。无所不知的 Q老师 知道每一轮 Monika 的出招,然而作为限制, Q老师 在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀。如果 Q老师 赢了 Monika n/2(上取整) 次,那么 Q老师就赢得了这场游戏,否则 Q老师 就输啦!Q老师非常想赢,他想知道能否可以赢得这场游戏,如果可以的话,Q老师希望你能告诉他一种可以赢的出招顺序,任意一种都可以。题意

2020-06-08 23:50:43 126

原创 C - TT 的奖励(必做)

题意介绍题意分析动态规划,dp[i][j]表示第i秒第j个位置上猫的数量从最后一秒对每个点的左右两边进行搜索即可。通过代码#include<bits/stdc++.h>using namespace std;int m, a, b;int dp[100001][11];int main() { while (cin >> m && m != 0) { int mn = 0; memset(dp, 0, sizeof(dp));

2020-05-14 21:26:55 356

原创 B - TT 的神秘任务2(必做)

题意介绍在你们的帮助下,TT 轻松地完成了上一个神秘任务。但是令人没有想到的是,几天后,TT 再次遇到了那个神秘人。而这一次,神秘人决定加大难度,并许诺 TT,如果能够完成便给他一个奖励。任务依旧只给了两个数字,分别表示 n 和 k,不过这一次是要求 TT 给出无法被 n 整除的第 k 大的正整数。例如 n = 3,k = 7,则前 7 个无法被 n 整除的正整数为 [1 2 4 5 7 8 10],答案为 10。题意分析如果k小于n的话,答案即为k;如果k大于n,直接上公式:k + (k

2020-05-14 19:48:47 181

原创 A - TT 的神秘任务1(必做)

题意介绍这一天,TT 遇到了一个神秘人。神秘人给了两个数字,分别表示 n 和 k,并要求 TT 给出 k 个奇偶性相同的正整数,使得其和等于 n。例如 n = 10,k = 3,答案可以为 [4 2 4]。题意分析两种情况,假设前k-1个数都为1,看最后一个数是否为奇数;假设前k-1个数都为2,看最后一个数是否为偶数。通过代码#include<bits/stdc++.h>using namespace std;int t,n, k;int main() { cin &

2020-05-14 19:45:40 287

原创 C - 必做题 - 3

题意介绍东东每个学期都会去寝室接受扫楼的任务,并清点每个寝室的人数。每个寝室里面有ai个人(1<=i<=n)。从第i到第j个宿舍一共有sum(i,j)=a[i]+…+a[j]个人这让宿管阿姨非常开心,并且让东东扫楼m次,每一次数第i到第j个宿舍sum(i,j)问题是要找到sum(i1, j1) + … + sum(im,jm)的最大值。且ix <= iy <=jx和ix <= jy <=jx的情况是不被允许的。也就是说m段都不能相交。注:1 ≤ i ≤ n ≤

2020-05-13 21:02:53 157

原创 B - 必做题 - 2

题意介绍zjm被困在一个三维的空间中,现在要寻找最短路径逃生!空间由立方体单位构成。zjm每次向上下前后左右移动一个单位需要一分钟,且zjm不能对角线移动。空间的四周封闭。zjm的目标是走到空间的出口。是否存在逃出生天的可能性?如果存在,则需要多少时间?题意分析用到了bfs,不能逃出的情况有两种,一是由于障碍物到达不了出口,二是在规定时间内到达不了出口,两种都要考虑到通过代码#include<iostream>#include<queue>using name

2020-05-13 18:15:56 129

原创 A - 必做题 - 1

题意介绍给出n个数,zjm想找出出现至少(n+1)/2次的数, 现在需要你帮忙找出这个数是多少?题意分析用到map来存储每个数据出现的个数,然后遍历map,找到出现次数大于等于(n+1)/2的即可。通过代码#include<bits/stdc++.h>using namespace std;int n;long long a, mn, mx;map<long long, int> m;int main() { while (scanf("%d", &amp

2020-05-13 18:12:09 111

原创 咕咕东学英语

题意分析咕咕东很聪明,但他最近不幸被来自宇宙的宇宙射线击中,遭到了降智打击,他的英语水平被归零了!这一切的始作俑者宇宙狗却毫不知情!此时咕咕东碰到了一个好心人——TT,TT在吸猫之余教咕咕东学英语。今天TT打算教咕咕东字母A和字母B,TT给了咕咕东一个只有大写A、B组成的序列,让咕咕东分辨这些字母。但是咕咕东的其他学科水平都还在,敏锐的咕咕东想出一个问题考考TT:咕咕东问TT这个字符串有多少个子串(由原字符串中位置连续的字符构成的字符串)是Delicious的。TT虽然会做这个问题,但是他吸完猫发现

2020-05-13 18:08:01 112

原创 消消乐

题意介绍消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。  请注意:一个棋子可能在某一行和某一列同时被消除。题意分析开一个新数组,依次对棋盘进行行扫描和列扫描,找到符合消去条件的棋子进行标记,最后遍历数组将标记的棋

2020-05-13 18:00:12 392

原创 瑞神的序列

题意介绍求给定序列中有几段段的定义是位置连续的数值相同的最长整数序列题意分析每次遇到与前一个数字不同的数字就加一。#include<iostream>using namespace std;int n, a[1000],ans;int main() { cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; if (n == 0) { cout << 0 <<

2020-05-13 17:56:19 99

原创 D - 必做题11-4

题意介绍题意分析尺取法,对于每一次找到的两个连续序列(前一部分相同,后一部分相同),计算2和1的个数,取个数较小的作为一个可选答案,每次移动取最大的可选答案即可。通过代码#include<bits/stdc++.h>using namespace std;int n, a[100000];int main() { cin >> n; for (int...

2020-05-01 20:03:45 151

原创 C - 必做题11-3

题意介绍题意分析给定密文解密得明文,就是将对应的字母减5得到新的字母即可,要注意A,B,C,D,E这五个字母的转换。通过代码#include<bits/stdc++.h>using namespace std;int main() { string str; getline(cin, str); int s = str.size(); for (int i...

2020-05-01 19:58:53 135

原创 B - 必做题11-2

题意介绍题意分析找到每一种旋转下数组元素下标和不旋转情况下下标的对应关系即可。通过代码#include<bits/stdc++.h>using namespace std;int n, a[20][20], b[20][20];int main() { cin >> n; for (int i = 0; i < n; i++) for (...

2020-05-01 19:55:48 166

原创 A - 必做题11-1

题意介绍题意分析计算出每一年积攒的工资和房子的价格进行比较即可。要注意得到房子的价格可能为小数。通过代码#include<bits/stdc++.h>using namespace std;int n, m, k;int main() { cin >> n >> k; int temp = n; double room = 200; ...

2020-05-01 19:51:50 126

原创 POJ 1960Time Planner

题意介绍TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。题意分析记录下每个人的时间表,并且把每一个时刻由小到大存储起来组成一条时间线,遍历每一个区间看是否满足开会时间。//#include&l...

2020-04-28 20:31:50 140

原创 A - 签到题

题意介绍TT有一个A×B×C的长方体。这个长方体是由A×B×C个1×1×1的小正方体组成的。现在TT想给每个小正方体涂上颜色。需要满以下三点条件:每个小正方体要么涂成红色,要么涂成蓝色。所有红色的小正方体组成一个长方体。所有蓝色的小正方体组成一个长方体。现在TT想知道红色小正方体的数量和蓝色小正方体的数量的差异。你需要找到红色正方体的数量与蓝色正方体的数量差值的绝对值的最小值。即...

2020-04-28 20:26:20 127

原创 C - 拿数问题 II

题意介绍给一个序列,里边有 n 个数,每一步能拿走一个数,比如拿第 i 个数, Ai = x,得到相应的分数 x,但拿掉这个 Ai 后,x+1 和 x-1 (如果有 Aj = x+1 或 Aj = x-1 存在) 就会变得不可拿(但是有 Aj = x 的话可以继续拿这个 x)。求最大分数。题意分析用sum数组记录每一个数出现的次数,dp[i]记录取小于等于i的数时的最大分数。状态转移方程为...

2020-04-24 22:01:31 222

原创 B - LIS & LCS

题意介绍给两个序列,求第一个序列的LIS长度和两个序列的LCS长度题意分析最长上升子序列状态:定义 fi 表示以 Ai 为结尾的最长上升序列的方程。初始化:f1 = 1转移过程输出答案:max{f[i], i=1…n}最长公共子序列设计状态:假设 f[i][j] 为 A1, A2, …, Ai 和 B1, B2, …, Bj 的 LCS 长度初始化:初始 f[1][0] = f...

2020-04-24 21:56:40 227

原创 A - 签到题

题意介绍给定一个数n,目标将他转化为m,每一步可以执行的操作是乘以2或乘以3,输出将n转换成m的操作次数,如果转换不了输出-1。题意分析先将m除以n,看是否为整数,如果是整数再继续判断是否可以被3整除或被2整除,记录相除的次数,如果出到最后为1则可以转换,否则不可以。通过代码#include<bits/stdc++.h>using namespace std;int n...

2020-04-24 21:49:28 123

原创 C - 签到题

题意介绍公园有 x 条长凳。第 i 个长凳上坐着 a_i 个人。这时候又有 y 个人将来到公园,他们将选择坐在某些公园中的长凳上,那么当这 y 个人坐下后,记k = 所有椅子上的人数的最大值,那么k可能的最大值mx和最小值mn分别是多少。题意分析k的最大值就是这y个人都坐在了原来人数最多的一条长凳上,k的最小值,就是将这y个人先分到原来人数不是最多的长凳上,分到所有长凳上的人数都和原来的最大...

2020-04-21 22:14:06 285

原创 B - 东东学打牌

题意介绍给出每个人的一手牌,输出排名。题意分析首先要根据者一手牌得到这手牌对应的标号,标号相同的归为一类,然后写了8个比较函数用于对每一类中的每一手牌进行排序。排序完输出即可。通过代码#include<iostream>#include<algorithm>#include<map>#include<vector>#include&...

2020-04-21 22:06:18 94

原创 A - 咕咕东的目录管理器

题意介绍题意分析创建结构体,然后模拟各个操作的执行过程即可。由于时空限制,在每个节点处都需要记录其孩子节点的数量,以及以自己为根节点前序遍历和后序遍历的数组。在每次添加或删除节点时还要向上更新每个节点的孩子节点数量。添加删除及转移命令用vector保存起来。通过代码//#include<bits/stdc++.h>#include<iostream>#inc...

2020-04-21 22:00:10 132

原创 C - 班长竞选

题意介绍大学班级选班长,N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适,给出M个意见,找到得票最多的人题意分析dfs求出每个点所在的连通分量,然后缩点,并记录缩点之后每个点的入度(要将图反向),遍历得到每个点连通的点数,减去自己即为得票数,而与该点在同一个连通分量内的点都可选。通过...

2020-04-13 16:16:53 715

原创 B - 猫猫向前冲

题意介绍N只猫比赛,给出M个输赢关系,给出符合这些关系的字典序最小的排名题意分析就是求字典序最小的拓扑序列,求出每个点的入度,每次从第一个点开始遍历,找到第一个入度为0的点拿出,并将它到达的各点的入度减一,再次遍历。通过代码#include<iostream>using namespace std;int p[510][510], in_deg[510];int n,...

2020-04-13 15:36:01 137

原创 A - 区间选点 II

题意介绍给定一个数轴上的 n 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai, bi] 里至少有 ci 个点题意分析设sum[i]表示区间[0,i]上点的个数,则对于某个区间[ai,bi],有sum[bi]-sum[ai-1]>=ci,同时要保证sum[i]有意义还需要0<=sum[i+1]-sum[i]<=1,故存在三种边:(a,b+1,c)(i-1,i,...

2020-04-13 15:27:45 191

原创 A - HRZ 的序列

题意介绍给一个序列,问能不能使得序列中的某些数加上一个数K,某些数减去这个数K,余下的数不变,所有的数都相等。题意分析由分析可知,序列中最多有三个大小不等的数,否则肯定不行,因为set可以自动去重,所以用set存放序列,如果set中元素个数大于3,不可以,等于3,如果最大值减中间值等于中间值减最小值则可以,否则不可以。通过代码#include<iostream>#inclu...

2020-04-13 14:37:12 102

原创 B - HRZ 学英语

题意介绍给定一个由大写的26个英文字母以及’?‘组成的字符串,求第一个由连续的26个字母组成的字符串,其中要求每个字母只能出现一次,并且’?'可以代表任意一个字母。题意分析从字符串的第一位开始,每次截取26个字符组成一个字符串,遍历该字符串,如果有一个字符出现不止一次,就停止遍历,否则,遍历完之后将’?'的位置填上一个没有出现过的字符即可。通过代码#include <iostrea...

2020-04-13 14:31:10 95

原创 C - 咕咕东的奇妙序列

题意介绍一个序列:112123123412345123456…即第一部分包含1至1之间的所有数字,第二部分包含1至2之间的所有数字,第三部分包含1至3之间的所有数字,第i部分总是包含1至i之间的所有数字。求第k项数字是多少,注意第56项的数字为0.题意分析由分析可知:第一部分到第九部分相邻部分的数字长度加一;第十部分到第九十九部分相邻部分的数字长度加二;第一百部分到第九百九十九部分相...

2020-04-13 14:23:26 167

空空如也

空空如也

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

TA关注的人

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