随笔分类 -  蓝桥杯

摘要:单点修改+区间查询的分块,主要问题查询和确定左右边界上 #include <bits/stdc++.h> #define LOCAL using namespace std; #define vec vector #define ll long long #define ld long double 阅读全文
posted @ 2022-02-03 22:11 yys_c 阅读(49) 评论(0) 推荐(0)
摘要:凉了 门牌制作 答案:624 既约分数 #include<iostream> #include<cstring> using namespace std; int gcd(int a, int b){ return b ? gcd(b, a % b) : a; } int main(){ int r 阅读全文
posted @ 2020-10-17 18:25 yys_c 阅读(369) 评论(0) 推荐(0)
摘要:写吐了。。。 #include<iostream> using namespace std; #define LL long long LL S(LL n){ return (4 * n + 1) * (n + 1); } int main(){ LL x, y, res = 0; cin >> x 阅读全文
posted @ 2020-10-16 17:17 yys_c 阅读(82) 评论(0) 推荐(0)
摘要:归并排序 #include<iostream> using namespace std; const int N = 100010; int q[N], temp[N]; int n; void merge_sort(int l, int r){ if(l == r) return; int mid 阅读全文
posted @ 2020-10-16 11:20 yys_c 阅读(64) 评论(0) 推荐(0)
摘要:闰年判断:y % 4 == 0 && y % 100 || y % 400 == 0 #include<iostream> using namespace std; int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 阅读全文
posted @ 2020-10-16 10:56 yys_c 阅读(83) 评论(0) 推荐(0)
摘要:题意是求一共淹没几个岛,不是求剩下几个岛(这个更复杂一些,可能会出现岛屿增加的情况),用bfs+flood fill做 #include<iostream> #include<queue> using namespace std; const int N = 1010; #define PII pa 阅读全文
posted @ 2020-10-03 16:34 yys_c 阅读(102) 评论(0) 推荐(0)
摘要:问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 各组的核桃数量必须相同 各组内必须能平分核桃(当然是不能打碎的) 尽量提供满足1,2条件的最小数量(节约闹革命嘛) 输入格式 输入包含三个正整数a, b, c 阅读全文
posted @ 2020-10-03 10:26 yys_c 阅读(134) 评论(0) 推荐(0)
摘要:问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。 输入格式 一个整数N 输出格式 最多可以拿 阅读全文
posted @ 2020-10-02 13:55 yys_c 阅读(98) 评论(0) 推荐(0)
摘要:问题描述 有一条长为n的走廊,小明站在走廊的一端,每次可以跳过不超过p格,每格都有一个权值wi。 小明要从一端跳到另一端,不能回跳,正好跳t次,请问他跳过的方格的权值和最大是多少? 输入格式 输入的第一行包含两个整数n, p, t,表示走廊的长度,小明每次跳跃的最长距离和小明跳的次数。 接下来n个整 阅读全文
posted @ 2020-10-02 12:30 yys_c 阅读(525) 评论(0) 推荐(0)
摘要:证明 求树的直径的方法: 选择树上任意一点,从该点dfs,求其它所有点到x的距离distx[] 从distx[]中选择一个最大的距离所对应的点y,从y开始再次dfs求一个disty[] disty[]中的最大值就是树的直径 求树的直径的bfs/dfs方法的正确性证明: 问题就在第一点:距离x最远的y 阅读全文
posted @ 2020-10-01 20:46 yys_c 阅读(156) 评论(0) 推荐(0)
摘要:弱弱的用bfs过了,双指针再说吧。。。 #include<iostream> #include<queue> using namespace std; #define LL long long typedef struct{ int v, u, idx; }Node; const int N = 1 阅读全文
posted @ 2020-10-01 17:16 yys_c 阅读(200) 评论(0) 推荐(0)
摘要:双指针并非要满足单调性才可以用,他也可以维护滑动窗口 #include<iostream> #include<algorithm> using namespace std; const int N = 100010; int n, d, k; #define PII pair<int, int> # 阅读全文
posted @ 2020-09-25 21:32 yys_c 阅读(101) 评论(0) 推荐(0)
摘要:问题描述 小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径 阅读全文
posted @ 2020-09-22 11:43 yys_c 阅读(127) 评论(0) 推荐(0)
摘要:问题描述 炫炫回了内蒙,肯定要吃羊肉啦,所有他家要宰羊吃。 炫炫家有N只羊,羊圈排成一排,标号1~N。炫炫每天吃掉一只羊(这食量!其实是放生啦),吃掉的羊的邻居会以为它被放生了,然后又会告诉他们的邻居,这样一直传播下去,除非某个邻居已经被“放生”了。每一天,所有知道某羊被“放生”了这个消息的羊都会很 阅读全文
posted @ 2020-09-19 21:01 yys_c 阅读(162) 评论(0) 推荐(0)
摘要:问题描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。 这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。 阅读全文
posted @ 2020-09-18 22:25 yys_c 阅读(236) 评论(0) 推荐(0)
摘要:数据范围10^5, 所以考虑O(nlogn)或者O(n)的复杂度,所以最多枚举一个数组。 到底是枚举数组a,还是b还是c 要求满足ai < bi < ci 如果枚举a,那么由于b和c之间存在限制,即对b和c的选择不独立,所以不可以用乘法原理 而枚举b的话,a和c是独立的, 可以用乘法原理。 前缀和O 阅读全文
posted @ 2020-09-17 11:23 yys_c 阅读(280) 评论(0) 推荐(0)
摘要:a[1] ~ a[N]存储1~N的一个排列 枚举一个区间[l, r]:a[l], a[l + 1], ..., a[r], 如果区间[l, r] 的max - min = r - l可以推出[l, r]为一个连号区间。 证明: $因为数组a存储1到N的全排列,所以a[l] - a[r]中不存在重复元 阅读全文
posted @ 2020-09-17 10:42 yys_c 阅读(142) 评论(0) 推荐(0)
摘要:用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0。(不考虑输入不合法的情况) 输入 1D5 输出 (注意冒号后面有一个空格) Hex: 0x1D5 Decim 阅读全文
posted @ 2020-09-16 17:15 yys_c 阅读(139) 评论(0) 推荐(0)
摘要:问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。 输入格式 输入一行,包含一个表达式。 输出格式 输出这个表达式的值。 样例输入 1-2+3*(4-5) 样例输出 数据规模和约定 表达式长度不超过100,表达式运算合法且运算过程都在int内进行。 算符优先文法的应用 阅读全文
posted @ 2020-09-16 11:44 yys_c 阅读(310) 评论(0) 推荐(0)
摘要:问题描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 第一行为一个整数,表示箱子容量; 第二行为一个整数,表示有n个物品; 接下来n行,每行一个整数表示 阅读全文
posted @ 2020-09-16 09:53 yys_c 阅读(185) 评论(0) 推荐(0)