摘要:
English Luli 2023/12/17 单词 phenomenon(现象):指一种普遍出现或引起注意的事物或事件。 hypothesis(假设):指对某事物或现象的推测性解释,需要进一步验证。 facilitate(促进):指使事情更加容易或顺利进行。 coherent(连贯的):指 阅读全文
摘要:
第一次参加正式的大类赛事,在某种程度上挺激动的。我呢,可以说是刚步入竞赛一年,在此期间遇见了一些志同道合的朋友,最重要的是遇见了我的队友。 开始前,我幻想过我们小队可以超常发挥,拿取学校中第一个区域赛奖牌(尽管是菜鸡)。不过现实却很现实,我们队伍共A了一道,那道属于签到题吧。确实挺难受的。最让我不解 阅读全文
摘要:
单词 advocate(倡导):To support or promote a particular view or action. augment(增加):To increase the extent or amount of something. undermine(破坏):To gradual 阅读全文
摘要:
题目链接 题目大一: 保证是一个完整图,输出最小操作数。 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, 第一 阅读全文
摘要:
string 阅读全文
摘要:
题目链接 题目大意: 当然,大家都熟悉井字棋游戏。 这些规则确实很简单。 两个玩家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串。经归纳法可以发现,在进行基 阅读全文
摘要:
题目链接 题目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> 阅读全文
摘要:
题目链接 题意: 多组数据输入也就是C++中的: int n; while (cin >> n) { 代码块 } 对于每个数据输出其阶乘的各位上的数字之和。大眼一看,没有思路,那就百度把。 百度解法: 我们进行大表,队1到1000每个数的阶乘进行计算,然后存储到一个sum数组中去。眨眼一看,好像阶乘 阅读全文
摘要:
在学习完全背包前我们要先学习一下01背包01背包 完全背包 注意: 01背包的转移方程为 完全背包的状转移方程为 f[i][j] = max(f[i - 1][j] , f[i - 1][j - v] + w , f[i - 1][j - 2 * v] + 2 * w , f[i - 1][j - 阅读全文
摘要:
题目链接 题目大意: 给定n个正整数和一个数k,问这n个数的阶乘之和能不能被k的阶乘整除,既:(a[1]!+a[2]!+a[3]!+....+a[n]!) % k! == 0。 题目分析: 对于一个连续的阶乘我们可以对其进行合并。如: 3*2!+ 3*3! = 3!+3*3! = 4*3! = 4! 阅读全文
摘要:
选择排序 void xuanze_sort(int a[], int n) { // 选择排序 for (int i = n; i >= 2; i--) { int mx = 1; for (int j = 1; j <= i; j++) { if (a[j] > a[mx]) mx = j; } 阅读全文
摘要:
题目链接 stl中的一员大将:unique 也就是去重,通俗来讲,这个玩应的用法一般是 unique(数组名,数组名+大小)(没错和sort几乎一模一样) 然后值得注意的有两点:第一点:在unique之前必须保证去重数组有序,也就是得sort一下。第二点:unique并不会生成一个新的数组,而是将原 阅读全文
摘要:
题目链接 组合数: 组合数表示的是从n个物品中选出m个物品的方案数。举个例子,从(1,2,3)(1,2,3)(1,2,3)三个物品中选择两个物品可以有(1,2),(1,3),(2,3)(1,2),(1,3),(2,3)(1,2),(1,3),(2,3)这三种选择方法。 根据组合数的定义,我们可以给 阅读全文
摘要:
题目链接 难点: 首先,不管对于什么语言, 被除数=商*除数+余数, 这是解决问题的关键 例如在C++里,-15%-2=-1,-15/-2=7,而7*-2+(-1)=-15 但是因为我们是不断取余数倒序为转换结果,所以余数不能出现负数,那怎么办呢? 我们只需要将商+1,余数-除数即可,因为余数(绝对 阅读全文
摘要:
int i; i = (~n + 1) & n; 阅读全文
摘要:
欧拉函数: 在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目 int phi[1010]; void euler() { for(int i = 2; i <= 1000; i++) phi[i] = i; for(int i = 2; i <= 1000; i ++) { i 阅读全文
摘要:
const int N = 1e5 + 10; int primes[N], cnt; bool st[N]; void get_primes(int n) { for(int i = 2; i <= n; i++) { if(!st[i]) primes[++cnt] = i; for(int j 阅读全文
摘要:
题目链接 思路: 本题用到了倍增的思想,题目数据量较大, 不推荐使用cin, cout(会超时)。解题思路为,由左到右枚举左端点,然后找最大的有端点。在寻找有端点的时候就用到了倍增思想。 #include<iostream> #include<algorithm> using namespace s 阅读全文
摘要:
定义: 把无穷大集合中的若干个元素映射为有限集合以便于统计的方法。当数据之间差值很大,即使排完序后,两个数之间仍有很大的差值,不适合直接用下标表示,这样会导致数组开的过大,容量不够,且中间有很多空没有用。针对这种情况,就想到把这间距很大的 m 个数据,在映射到 [1-m] 上,这样就会有效的减少数组 阅读全文
摘要:
质数的分布具有特点: 经过证明可以得到,(大于等于5的)质数一定和6的倍数相邻,一定是6x-1或6x-1。利用这种特性。可以对整数进行筛选,只判断那些是6x-1或6x-1的整数是否为质数。 证明过程如下: 令x≥1,将大于等于5的自然数表示如下: ······6x-1,6x,6x+1,6x+2,6x 阅读全文
摘要:
输入两个整数 n和 m,输出一个 n 行m 列的矩阵,将数字1 到 n*m按照回字蛇形填充至矩阵中。 具体矩阵形式可参考样例。 输入格式 输入共一行,包含两个整数 n和m m 输出格式 输出满足要求的矩阵。矩阵占 n行,每行包含 m个空格隔开的整数。 数据范围 0 <= n m <= 100 输入样 阅读全文