
算法
无所求者无能
还是挺不错的了
展开
-
武汉大学2020年新生程序设计竞赛(同步赛)D仓鼠更有精神
这一题考虑单调栈,我们用x[i]表示前i个字符串全部变成元音字母的代价,然后枚举以每一个字符开头,看其能够扩展的那个地方。我们比如说henghengeaaaa 3x[ ]={1,1,2,3,4,4,5,6,6,6,6,6,6}以第5个字符开始,不算上自己,因为可能自己就需要用掉一次修改的机会。所以其最远能扩展的就是第一个大于x[5-1]+k的下标减去5这个起始字符,在加一。#include <iostream>#include <algorithm>#include.原创 2020-11-23 19:16:19 · 527 阅读 · 2 评论 -
并查集的一个简单运用
链接:https://ac.nowcoder.com/acm/contest/39/D来源:牛客网加边的无向图时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~输入描述:第一行两个正整数 n 和 m 。接下来的m行中,每行两个正整数 i 、 j ,表示点i与点j之间有一条无向道路。输出描述:输出一原创 2020-11-18 17:54:04 · 141 阅读 · 1 评论 -
栈和排序
链接:https://ac.nowcoder.com/acm/contest/58/B来源:牛客网题目描述给你一个1->n的排列和一个栈,入栈顺序给定你要在不打乱入栈顺序的情况下,对数组进行从大到小排序当无法完全排序时,请输出字典序最大的出栈序列输入描述:第一行一个数n第二行n个数,表示入栈的顺序,用空格隔开,结尾无空格输出描述:输出一行n个数表示答案,用空格隔开,结尾无空格示例1输入复制52 1 5 3 4输出复制5 4 3 1 2说明2入栈;1入栈;5入栈;原创 2020-11-17 18:08:33 · 336 阅读 · 1 评论 -
小y的游戏
链接:https://ac.nowcoder.com/acm/contest/7780/D来源:牛客网题目描述小y是一个喜欢打游戏的女孩子,但是Alan就从来玩游戏,然后小y在游戏里遇到了问题在游戏中有n只怪物,其中第i只怪物的血量是blood[i]。然后操作手柄的你有一种攻击武器,称为“三连冲击波”,每使用一次这个攻击武器,你都可以选择三只怪物被杀伤,它的杀伤力是这样的:一、首先被冲击的那只怪物的能量会减少 9。二、其次被冲击的那只怪物的能量会减少 3。(N>=2 时有效)三、最后被原创 2020-11-17 11:04:58 · 400 阅读 · 1 评论 -
收集纸片
链接:https://ac.nowcoder.com/acm/contest/4462/D来源:牛客网我们把房间按照笛卡尔坐标系进行建模之后,每个点就有了一个坐标。假设现在房子里有些纸片需要被收集,收集完纸片你还要回归到原来的位置,你需要制定一个策略来使得自己行走的距离最短。你只能沿着 x 轴或 y 轴方向移动,从位置 (i,j) 移动到相邻位置 (i+1,j),(i-1,j),(i,j+1) 或 (i,j-1) 距离增加 1。输入描述:在第一行中给出一个T, 1 \le T \le 10T,1原创 2020-11-07 16:05:26 · 198 阅读 · 1 评论 -
躲藏
链接:https://ac.nowcoder.com/acm/problem/15669来源:牛客网XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏。Cwbc藏在多个不区分大小写的字符串中。好奇的XHRlyb想知道,在每个字符串中Cwbc作为子序列分别出现了多少次。由于Cwbc可能出现的次数过多,你只需要输出每个答案对2000120420010122取模后的结果。聪明的你在仔细阅读题目后,一定可以顺利的解决这个问题!输入描述:输入数据有多行,每行有一个字符串。输出描述:输出数据应有多行,每原创 2020-11-04 20:52:18 · 1433 阅读 · 7 评论 -
区区区间
链接:https://ac.nowcoder.com/acm/contest/3282/E来源:牛客网题目描述KevenKeven 特别喜欢线段树,他给你一个长度为 nn 的序列,对序列进行mm 次操作。操作有两种:1\ l\ r\ k1 l r k :表示将下标在 [l , r][l,r] 区间内的数字替换成 [k,k+1,…,k+r-l][k,k+1,…,k+r−l]2\ l\ r2 l r :表示查询区间 [l , r][l,r] 的区间和输入描述:第一行两个整数 n、mn、m,表示序原创 2020-11-03 15:22:19 · 537 阅读 · 1 评论 -
3的倍数
链接:https://ac.nowcoder.com/acm/contest/3282/D来源:牛客网给你 nn 个字符串,每个字符串最多包含 A - ZA−Z 这26个字母,KevenKeven 现在取了一些字符串,发现每个字母出现的次数都是 33 的倍数,KevenKeven 现在想要知道在满足每个字母出现的次数都是 33 的倍数的前提下,最多能取多少个字符串。输入描述:第一行一个数字 nn,表示字符串的个数(1<=n<=15)(1<=n<=15)接下来 nn 行,每行原创 2020-11-01 21:05:22 · 435 阅读 · 1 评论 -
「土」巨石滚滚
链接:https://ac.nowcoder.com/acm/contest/2272/H来源:牛客网帕秋莉掌握了一种土属性魔法她使用这种魔法建造了一个大型的土球,并让其一路向下去冲撞障碍土球有一个稳定性x,如果x < 0,它会立刻散架每冲撞一个障碍,土球会丧失ai的稳定性,冲撞之后,又会从障碍身上回馈bi的稳定性帕秋莉想知道,如果合理的安排障碍的顺序,在保证土球不散架的情况下,是否可以将障碍全部撞毁呢?输入描述:输入一个整数T,代表T组数据,每组数据中:前一行两个整数n , m,表原创 2020-10-30 22:29:21 · 190 阅读 · 0 评论 -
动态规划求最长公共子序列和子序列具体是什么
**子序列与子串是两种不同的概念,千万不要混淆给定字符串"tzjnbblmp";子串是tzj,bbln等,子串是连在一起的子序列是 tjn,nlmp等,但是子序列中的字符在字符串中不一定是连在一起的。但是顺序在原串是不可颠倒的,比如pml既不是子序列,也不是子串**回到正文什么是最长公共子序列就是两个字符串的最长的公共的子序列例如s1=“wxhnwq”,s2=“xppwyq”最长子序列就是"xwq"我们这样很容易看出来,但是计算机怎么知道呐,动态规划吧;设dp[i][j]表示长度为原创 2020-10-25 11:36:54 · 469 阅读 · 4 评论