自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SDU-考试模测 T3

题目青蛙去找瓜瓜,青蛙在1号位置,瓜瓜在n号位置。青蛙一次可以走 k 步,走1 ~ k 步耗费的体力不同。问青蛙找到瓜瓜耗费的最小体力是多少?输入第一行输入n、k、op,op = 1时,需要计算耗费最小体力的路径一共有多少条;第二行输入k个数,分别是走 1 ~ k 步耗费的体力 a[ i ]。输出如果op = 0,输出1个数,为最小体力;如果op = 1,输出最小体力后,输出路径数。数据范围n最大到了1e9,好像思路如果想偷点分,不会op = 1的情况,.

2020-06-13 09:24:25 236

原创 csp-m4(TT数鸭子、ZJM抵御宇宙射线、宇宙狗的危机)

A-TT数鸭子题目样例输入6 5123456789 9876543210 233 6661 114514样例输出4题目这道题最大的难点,在于读懂题目!!数位中不同的数字是?比如12345,将每位数字看做独立的,有1个1、1个2、1个3、1个4、1个5,因此有5个不同的数字;233中,有1个2、2个3,有3个不同的数字;666中,有3个6,只有1个不同的数字。然后把整个一串数字当成字符串处理就好了,对每个数位的数进行统计。代码#i..

2020-06-05 16:41:45 264

原创 csp 201809-3元素选择器 C++

思路其实题目很简单,就是很麻烦...要构建一个树形结构,使用结构体对每个节点进行存储。只有直系的父辈才算祖先(伯父不算祖先),在后代选择器中。node:struct node { vector<int> anc;//祖先 string lable; string id; int level;//第多少层孩子... bool operator<(const node&p)const { return level < p.level...

2020-06-03 13:50:54 249

原创 week15(字符串集合:Hash、字典树、KMP)

A - ZJM 与霍格沃兹题目样例输入[expelliarmus] the disarming charm[rictusempra] send a jet of silver light to hit the enemy[tarantallegra] control the movement of one's legs[serpensortia] shoot a snake out of the end of one's wand[lumos] light the wand[ob

2020-06-01 00:02:59 177

原创 week14 模拟 A - 猫睡觉问题

题目题目描述众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○]可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰!现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴!众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过

2020-05-22 20:43:22 214

原创 week14(T1、T2 + 矩阵快速幂专题)

A - Q老师与石头剪刀布题目样例输入231 1 1RPS33 0 0RPS样例输出YESPSRNO思路如果只判断Q老师是否可以赢的话是非常简单的,首先将Q老师赢的时候(比如Q老师出布,对手出石头)的两方对应出拳的数目统计出来,Q老师每个情况最多获胜数(a/b/c - 对方输拳类型的数目)相加,即为Q老师可以获胜的最多盘数。但问题在于,还需要考虑Q老师如何出拳才能赢。那么我们会有这样的思路,Q老师使用a/b/c最大的赢拳,因为有些a/b/c不.

2020-05-21 23:20:53 201

原创 D - TT 的苹果树

题目样例输入711111111 37 42 34 56 43 50 0样例输出5思路就是那个“没有上司的舞会”的问题。首先通过 is_son 布尔类型的数组选择出来这棵树的根,申请 vector<int> 类型的数组,存储每个节点的孩子。从根开始进行递归,状态转移:如果孩子的状态转移没有进行完,就先对孩子进行状态转移。f [ i ][ 0 / 1 ] 表示以 i 为节点的子树所能得到的最大的欢乐值,f [ i ...

2020-05-16 23:57:45 154

原创 week13 必做题(A - TT 的神秘任务1 + B - TT 的神秘任务2 + C - TT 的奖励)

A - TT 的神秘任务1题目样例输入810 3100 48 797 28 83 105 31000000000 9样例输出YES4 2 4YES55 5 5 35NONOYES1 1 1 1 1 1 1 1NOYES3 1 1YES111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111120思路暴力地进行分类.

2020-05-14 23:44:28 263

原创 week12 必做题A/B

A题目样例输入51 3 2 3 3111 1 1 1 1 5 5 5 5 5 571 1 1 1 1 1 1样例输出351思路暴力就完了...声明结构体,统计每个数出现的次数,然后遍历结构体数组,一旦某个数的出现次数大于临界值,跳出循环并输出。代码#include<iostream>#include<cstring>#include<algorithm>using namespace std..

2020-05-11 23:58:53 105

原创 week12 动态规划集合(C- 扫楼 + D-括号 + E-DDL的恐惧)

C-扫楼题目样例输入1 3 1 2 32 6 -1 4 -2 3 -2 3样例输出68思路f[ i ][ j ] 表示在选取第 j 个数字的同时,将前 j 个数字分为 i 种。状态转移时时分成两种情况:①与前面的数字合并分组,因此第 j - 1 个数字必定选取,f[ i ][ j ] = f[ i ][ j - 1 ] + a[ j ];②单独成一个分组,即之前是 i - 1 个分组 f[ i ][ j ] = max{ f[ i − 1 ][ k ] .

2020-05-11 23:44:15 112

原创 week12 csp-m3 T1-瑞神的序列

题目样例输入122 3 3 6 6 6 1 1 4 5 1 4样例输出8思路遍历序列,记录当前段的数字,一旦数字发生改变,段数加1(段数从1开始)。代码#include<iostream>using namespace std;int main(){ int n; cin >> n; int now; ...

2020-05-07 16:37:30 123

原创 week12 csp-m3 T2-消消乐大师——Q老师

题目样例输入14 52 2 3 1 23 4 5 1 42 3 2 1 32 2 2 4 4样例输出12 2 3 0 23 4 5 0 42 3 2 0 30 0 0 4 4样例输入24 52 2 3 1 23 1 1 1 12 3 2 1 32 2 3 3 3样例输出22 2 3 0 23 0 0 0 02 3 2 0 3...

2020-05-07 16:28:46 160

原创 week12 csp-m3 T4-咕咕东学英语

题目样例输入5AABBB样例输出6思路刚拿到这个题目的感觉就是懵,非常懵...题目很简单,但是怎么做呢...我们来分析一下,什么样的字串是满足条件的呢?在一个字串中:①如果字母两边至少其中一个字母与之相同,即出现连续的两个及以上相同的字母,如AA,那么在这种序列中的字母都满足条件。②如果字母两边的均与它本身不同,如对于字母A,BAB使其满...

2020-05-07 12:17:59 310

原创 week11 必做题(A-买房、B-排队、C-解密、D-吃寿司)

A-蒜头君要买房题目样例输入50 10样例输出8思路算就完了,写一个20的循环,每一次算出蒜头君的存款和买房的钱,进行比较。至于怎么算,那是数学问题...把买房的钱类型设成了double,怕万一因为精确度不够导致答案错误...(试了一下,改成int确实wa了)代码#include<iostream>using name...

2020-05-01 13:06:43 259

原创 csp 201609-3 炉石传说(C++)

题目问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:  * 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。 角色...

2020-05-01 12:13:26 516

原创 week11 F-东东开车辣

题目样例输入5 3 1 3 410 4 9 8 4 220 4 10 5 7 490 8 10 23 1 2 3 4 5 745 8 4 10 44 43 12 9 8 2样例输出1 4 sum:58 2 sum:1010 5 4 sum:1910 23 1 2 3 4 5 7 sum:554 10 12 9 8 2 sum:45思路一个0/...

2020-05-01 11:45:02 143

原创 week11 E-东东与ATM

题目样例输入735 3 4 125 6 5 3 350633 4 500 30 6 100 1 5 0 1735 00 3 10 100 10 50 10 10样例输出73563000hint 第一个数据集指定一笔交易,其中请求的现金金额为 735。 机器包含3种面额的纸币:4张钞票 125、6张钞票 5和3张钞票 350。 ...

2020-05-01 11:28:48 161

原创 SDU week10限时模拟 B-团队聚会

题目样例输入2332020 06 28 15 00 00 2020 06 28 18 00 00 TT study2020 06 29 10 00 00 2020 06 29 15 00 00 TT solving problems2020 11 15 15 00 00 2020 11 17 23 00 00 TT play with his magic cat4202...

2020-05-01 00:21:32 192

原创 SDU week10限时模拟 A - 签到题

题目样例Simple Input 13 3 3Simple Output 19Simple Input 22 2 4Simple Output 20Simple Input 35 3 5Simple Output 315思路如果a、b、c有一个数为偶数,红蓝数量就能对半分;如果a、b、c中没有偶数,那对于宽和高一定的长方体来说,绝对值最小时,长...

2020-04-30 23:31:46 136

原创 week10 C - 拿数问题 II

题目样例输入12 1 2 样例输出12 样例输入23 1 2 3 样例输出24 样例输入39 1 2 1 3 2 2 2 2 3 样例输出310 思路预处理:首先统计每一个x与其数量,声明结构体point,记录 x 与 sum。按照 x 的大小对结构体数字进行排序。状态:a[ i ] 表示在到第 i 个...

2020-04-25 18:41:06 176

原创 week10 B - LIS & LCS

题目思路LIS状态:A[ i ] 表示在序列A中位置 i 上的最多元素值,同时存储LIS序列的最大元素初始化:A[0].num = 1, A[0].last = a[0]转移过程:A[ i ] = max{ A[ j ] | j < i 且 A[ j ].last < a[ i ] } + 1输出答案:max{A[ 0 ], A[ 1 ], ... ...

2020-04-25 00:02:36 118

原创 week10 A-签到题

题目样例输入1120 51840样例输出17样例输入242 42样例输出20样例输入348 72样例输出3-1思路我暴力求解了,将算法问题变成了数学问题。如果m == n,直接返回0;如果m与n不能整除,或者不是2或者3的倍数,显然输出-1;然后将m/n的结果循环除以6(相当于除以2又除以3,速度会快一点叭...

2020-04-24 23:41:51 127

原创 week9 B - 东东学打牌

题目样例输入3DongDong AAA109ZJM 678910Hrz 678910样例输出HrzZJMDongDong思路暴力算...首先用map存储不同的牌面和对应的数字,就是10比较麻烦,可以这样处理:因为1输入作'A',因此当输入中有1时只可能是10。所以读到1的时候,转换为10,并跳过一位。为每个人建立结构体,存储name、type...

2020-04-23 00:05:11 94

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

题目样例输入122MKDIR diraCD dirbCD diraMKDIR aMKDIR bMKDIR cCD ..MKDIR dirbCD dirbMKDIR xCD ..MKDIR dircCD dircMKDIR yCD ..SZLSTREERM diraTREEUNDOTREE样例输出OKERROKO...

2020-04-22 23:50:26 256

原创 week9 C - 签到题(公园超级长的凳子)

题目样例输入37161样例输出6 13思路暴力算就可以了。mx显然为a_id的最大值 + y;mn的算法则是,先用y将所有的a_i填充到a_i的最大值,如果y不足以填充所有的a_i,则最大值为a_i的最大值,如果y足够填充a_i,那么将y剩余人数平均分配到每个板凳上,取平均分配后板凳的最大值即为mn。时间复杂度最高的操作就是遍...

2020-04-22 23:17:15 146

原创 week8 C - 班长竞选

题目样例输入24 33 22 02 13 31 02 10 2样例输出Case 1: 20 1Case 2: 20 1 2思路通过逆后序序列序列求出强连通分支,然后再对强连通分支进行dfs计算票数。在存图时,存一个原图与一个反图,然后对原图进行dfs,求出逆后序序列。通过逆后续序列,跑dfs,不再使用vis数组记录该点是否到达,...

2020-04-15 00:15:19 274

原创 week8 B - 猫猫向前冲

题目样例输入4 31 22 34 3样例输出1 2 4 3思路可以使用拓扑排序解决。如果P1赢了P2,则存在一条P1到P2的 单向边,并且计算每个点的入度。如果某个点入度为0,说明当前没有能赢它的猫猫。题目要求输出最小序列,那么可以用优先队列代替队列,存储入度为0的点,这样每次出队列的就是当前赢了的编号最小的猫猫。代码#inc...

2020-04-14 23:27:15 113

原创 week8 A - 区间选点 II

题目样例输入53 7 38 10 36 8 11 3 110 11 1样例输出6思路本题要求需要用差分约束,差分约束的理解是个难点。对于差分约束中的每一个不等式约束 ???????? − ???????? ≤ ???????? 都可以移项变形为 ???????? ≤ ???????? + ????????,对应了最短路问题的松弛操作:即保证了dis[ i ] <= dis[ j ] + ck,根据这个特...

2020-04-14 22:40:10 153

原创 week8 csp模拟 C - 咕咕东的奇妙序列

题目样例输入513203856样例输出12520思路首先,我们来观察一下数据范围:k的上限是一个1e18,暴力枚举显然过不了(甚至都算不出来)......其中,test()函数是暴力枚举的算法,通过枚举找到当前枚举到的数字,再通过除法与取模操作来计算第k位的数字。这个函数是测试优化算法答案是否正确的,不多做说明。优化算法...

2020-04-14 12:24:17 192

原创 week8 csp模拟 B - HRZ 学英语

题目样例输入1ABC??FGHIJK???OPQR?TUVWXY?样例输出1ABCDEFGHIJKLMNOPQRSTUVWXYZ样例输入2AABCDEFGHIJKLMNOPQRSTUVW??M样例输出2-1划重点就是找到输入序列中连续的26个字母,里面要包含从A~Z的每一个字母,不能重复,但是26个字母排列不需要连续(就是不需要A后面必须是B...

2020-04-14 11:29:54 148

原创 week8 csp模拟 A - HRZ 的序列

题目样例输入251 2 3 4 551 2 3 4 5样例输出NONO思路申请了一个大小为3的数组,根据输入,将大小不同的三个数存入数组。如果有大小不同的第四个数,则不能通过加、减k的方法将全部数值化为相同的。如果输入序列中有三个大小不同的数,判断max-mid=mid-min?如果不相等,则也无法实现。若果输入序列中数字大小只有...

2020-04-14 11:08:27 145

原创 CSP201604-3 路径解析(C++实现)

题目输入样例/d2/d3/d2/d4/f1../d4/f1/d1/./f1/d1///f1/d1/////d1/../../d2输出样例/d2/d4/f1/d2/d4/f1/d1/f1/d1/f1/d1//d2思路因为要对每一行输入进行拆分,所以输入方式的确定很重要。注意,因为可以输入空行,所以采用getline()函数而不是c...

2020-04-05 23:58:06 153

原创 程设week7 C - TT 的美梦

题目思路这个题目需要能处理负边的算法,所以我们搬出了SPFA。SPFA:将s点邻接的所有边进行松弛,再松弛s邻接所有点的邻接边....(类比于bfs...由于可能会出现负环,如果任其发展就会陷入死循环(因为走一次负环dis就会减少,最后负环连通的点的dis都趋近负无穷)。因为每条边至多被松弛(n - 1)次,n为点的数目,因此记录一下松弛次数,若松弛次数大于(n - ...

2020-04-05 23:40:09 113

原创 程设week7 B - TT 的旅行日记(Dijkstra算法)

题目样例输入4 1 441 2 21 3 32 4 43 4 512 4 3样例输出1 2 425思路这个题目需要求最短路问题,显然Dijkstra算法可以解决。Dijkstra算法对源点s到达所有点的距离 dis[i] 初始化为inf,将dis[s]标记为0。将s点加入最小堆(堆中按dis[i]排序)选取堆顶元素(即dis[...

2020-04-05 23:18:57 128

原创 程设week7 A - TT 的魔法猫(Floyd)

题目样例输入33 31 21 32 33 21 22 34 21 23 4样例输出004

2020-04-05 22:25:41 103

原创 week6(图、并查集、最小生成树 + CSP201812-4数据中心)

A - 氪金带东题目样例输入51 12 13 11 1样例输出32344思路如果从每个点暴力搜索可能会超时,需要进行n次bfs。因此采用一个比较巧妙的方法:从任意一点起始开始进行搜索,搜索到最远的一个节点x,然后再从x搜索距离x节点最远的节点y(可以不准确的理解为寻找圆上两点,两点连线为过任意点的直径)。那么每一个节点到其他节点的最远距...

2020-03-29 23:15:03 225

原创 week6 限时模拟 掌握魔法の东东 II

题目样例输入15 21 0 3 1样例输出10 8 0 0 0 12 0 36 0样例输入225 40 0 24 3样例输出20 0 0 2 18 1656 644 36432 113344思路我起初看到这道题觉得三重循环暴力判断应该就可以,然后看见限时200ms就放弃了(事实证明不会超时的)。然后,我就采用了一种更简单粗暴的算法!...

2020-03-29 22:07:49 161

原创 week5(单调栈+单调队列+尺取法+差分)

A - 最大矩形题目样例输入7 2 1 4 5 1 3 34 1000 1000 1000 10000样例输出84000思路以单调递增栈来说,就是从栈顶到栈底元素单调递增,元素入栈时如果比栈顶元素大,则将栈顶元素出栈直至栈顶元素比入栈元素大。如果将一个数组依次入栈,对于由于元素入栈而被迫出栈的元素来讲,入栈元素就是第一个比他们大的元素。单调递减栈同理...

2020-03-25 16:11:04 178

原创 CSP201512-3 画图(C++实现)

题目样例输入14 2 31 0 0 B0 1 0 2 01 0 0 A样例输出1AAAAA--A样例输入216 13 90 3 1 12 10 12 1 12 30 12 3 6 30 6 3 6 90 6 9 12 90 12 9 12 110 12 11 3 110 3 11 3 11 4 2 C样例输出2..........

2020-03-22 00:02:16 238

原创 week4(贪心+二分)

A - DDL 的恐惧题目样例输入333 3 310 5 131 3 16 2 371 4 6 4 2 4 33 2 1 7 6 5 4样例输出035思路这是一个贪心算法的问题,贪心策略是将各ddl按照罚分从大到小排列,然后将当前罚分最大的ddl,从他的ddl开始向前找位置插入。这么做的理由在于,目标是罚分最少,那么就要保证把...

2020-03-16 18:44:27 148

空空如也

空空如也

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

TA关注的人

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