11 2022 档案
摘要:题目链接 题目大一: 保证是一个完整图,输出最小操作数。 AC代码:、 #include <bits/stdc++.h> #define mod 1000000007 using namespace std; int e[4010][4010], fa[4010]; int ff(int x) {
阅读全文
摘要:vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() [] 支持比较运算,按字典序 pair<int, int> first, 第一
阅读全文
摘要:题目链接 题目大意: 当然,大家都熟悉井字棋游戏。 这些规则确实很简单。 两个玩家A、B轮流在3x3的方格的单元格中画符号(玩家A总是画“X”,玩家B总是画“0”)。 首先在水平、垂直或对角线上出现3个相同的符号的玩家获胜,比赛结束。 玩家A总是为先手。 如果3x3的方格被填满,但是在所有水平、垂直
阅读全文
摘要:题目链接 题目大意: 给一个序列,序列里面会有左括号、问号、右括号。对于一个‘?’而言,可以将其替换为一个‘(’,也可以替换成一个‘)’,但是都有相应的代价。问:如何替换使得代价最小。前提是替换之后的序列中,括号是匹配的。如果不能替换为一个括号匹配的序列则输出-1。 输入 第一行是序列,序列长度不超
阅读全文
摘要:题目链接 题目大意: 有一辆载重量为 v 的货车, 准备运送两种物品。 物品 A 的重量为 1, 物体 B 的重量为 2, 每个物品都有一个价值。 求货车可以运送的物品的最大价值。 输入格式 第一个行包含两个整数 n 和 v,分别表示有 n 个物品, 货车的载重量为 v。 (1 ≤ n ≤ 10^5
阅读全文
摘要:题目链接 题目大意: 人们常用的电子表格软件(比如: Excel)采用如下所述的坐标系统: 第一列被标为 A,第二列为 B,以此类推,第 262626 列为 Z。接下来为由两个字母构成的列号: 第 272727 列为 AA,第 282828 列为 AB ⋯\cdots⋯ 在标为 ZZ 的列之后则由三
阅读全文
摘要:题目链接 题目大意: 在一个8x8的方格中你每次可以将一行全部涂成红色或者将一列涂成蓝色。问最后一次操作是什么操作: 如果是行操作就输出R 如果是列操作就输出B 解题思路: 我们可一枚举每行每列,如果有一行全部是红色的话那就说明最后一次操作是行操作,否则是列操作。反正数据量不大,不过就是16次而已。
阅读全文
摘要:题目链接 题目大意: 给一串字符串(只包含0~9),定义一个最优子串的定义:如果该子串同字符种类数大于最最多字符出现数,那么这个子串可以被称为最优子串。 解题思路: 大眼一看这个数据范围他用n^2的算法他不就超时了嘛。确实会超时,不过我们向里面去思考一下,字符因为限制为0~9了,所以子串超过100的
阅读全文
摘要:题目链接 题目大意: 给定n个数,你可以对数值为0的数改变其为任意值,问最后前缀和为0的个数的最大值。 思路: 这题比较可惜,自己的思路没有问题,但是他少了一些东西。对数组进行前缀和处理,我们可以发现改变当前值只会对当前及后面的前缀和发生影响,也就是说改变值为零的数值并不会使其前面数的前缀和发生变化
阅读全文
摘要:算法学习到了图论的位置了,虽然之前有学习过图论的一些小知识,但是 确实对我来说他确定还有一定的难度。不过我相信我这次一定可以将图论AK。学习吗,不逼自己一把你是不会知道自己的潜力的。 今天还有一件比较失败的地方,晚上6点班长要进行班会,我原本记得的,克斯可是到时候却忘记了,结束了我才记起还有一个会议
阅读全文
摘要:题目链接 题目大意: 给你两个字符串只有01组成,你可以选取区间[l, r],对字符串a在区间里面进行异或操作,对字符串b非区间值进行异或操作,问能否将两个字符串变为全0串。如果可以输出YES, 操作次数, 操作区间。 思路: 将他们全部变成0,等价于将全0变成a, b串。经归纳法可以发现,在进行基
阅读全文
摘要:第一次参加正式的大类赛事,在某种程度上挺激动的。我呢,可以说是刚步入竞赛一年,在此期间遇见了一些志同道合的朋友,最重要的是遇见了我的队友。 开始前,我幻想过我们小队可以超常发挥,拿取学校中第一个区域赛奖牌(尽管是菜鸡)。不过现实却很现实,我们队伍共A了一道,那道属于签到题吧。确实挺难受的。最让我不解
阅读全文
摘要:题目链接 题目AC代码: #include <bits/stdc++.h> #define int long long using namespace std; const int N = 2e5 + 10; int m, p; struct Node { int l, r; int v; //区间
阅读全文
摘要:题目链接 思路: 在某一段区间是否连续可以求出区间的最大最小值,让他们相减,再与区间端点相减,如果他们的值相等的话,那该区间就是一段连续的区间。当然,他也是有局限性的的,如果区间有重复元素的话,该方法就不在适用了。要具体问题具体分析。 本题AC代码: #include<bits/stdc++.h>
阅读全文