自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 配置轻量级竞赛刷题环境!VScode上运行C++代码

Ctrl + shift + P 打开搜索,搜Preferences: Open Keyboard Shortcuts (JSON)配置完成后,创建一个cpp文件,敲好代码后直接Ctrl + R运行,会在终端里面执行代码。注意所有文件夹都尽可能不要用中文名,有时候路径有中文会出问题。建一个文件叫c_cpp_properties.json。拓展里面搜C/C++,没有什么后缀,第一个就是。再建一个tasks.json。然后把下面这段复制进去即可。

2023-04-04 17:56:02 804

原创 简单配置VScode轻量级C++竞赛环境

VScode配置C++环境

2024-07-01 17:23:55 252

原创 2024HBCPC:J Iris‘ Food

然而,Iris 还是一只小猫,不宜食用太多的猫粮。天的时间里,每一天 Iris 会在玩 oql 键盘的时候敲下若干个字符,而这些字符恰好全都是。oql 每天可能会给 Iris 喂一定数量的猫粮。对于每一天,输出一行一个整数,表示 Iris 这一天能得到的猫粮对。很简单的一个贪心,因为不能有前导零,所以可以先从。请注意,你需要输出的是最小答案模。中拿出一个最小的数作为第一个数,之后就可以从。现在,问题都解决了,我们只需要预处理出一个数组。猫猫 Iris 又在玩 oql 的键盘了。个,经过重新排列后形成一个。

2024-05-29 08:37:36 925

原创 2024HBCPC:E Breakfast II

请注意,对于每位同学,每个食堂最多只能去购买一次。你们需要进行商量,并决定哪些同学去买早饭、每个同学去哪些食堂、以及这些同学的路线,使得所有同学路线长度之和最小。你们需要选出若干同学,这些同学从各自的宿舍出发,前往食堂购买早饭后,然后将至少。为了防止一个人买太多的早饭,每个人在每间食堂买的包子数和鸡蛋数分别不能超过。分析题目可以得知,可以通过所需购买的包子和鸡蛋的个数推算出至少需要去食堂。次食堂所需的最短距离,问题就转换成了一个很经典的背包模型了。,分别表示每个人在每间食堂可以购买的包子与鸡蛋的上限。

2024-05-28 19:03:20 732

原创 2024HBCPC:C Goose Goose Duck

考虑贪心,我们很容易可以想到按照左端点从小到大排序,那么对于同一人数时,有多个人可以加入游戏,应该选择右端点最小的人参加游戏,实现这个思路则是用优先队列动态维护右端点最小的人即可。假期的时候,大家经常会在群里问有没有人玩鹅鸭杀,并且报出现在已经参与的人数。你认为参与游戏的人越多,游戏将会越有趣,所以你决定给大家安排一个加入顺序,使得加入游戏的人数最多。,表示最多能有多少个人加入游戏。个人,如果当前已经加入游戏的人数处于区间。若有多种加入游戏的方案,你可以输出任意一种。个整数,由空格分隔,第。

2024-05-28 18:27:28 1094 1

原创 快读快写(手动模拟cin和cout非常好用)

【代码】快读快写(手动模拟cin和cout非常好用)

2023-08-11 17:39:43 208

原创 造数据模板

造数据模板。

2023-08-11 14:50:10 113

原创 第十四届蓝桥杯编程题部分代码题解

剩下两题都是LCA好像,不太会,导游暴力Floyd骗分,最后一题没读完题,输出样例后就选择去检查了,上述几题都过了民间数据了,应该问题不大,很好啊,好像省一稳了?噢,原来有人赛时没开long long没关同步流啊,为什么没呢?很简单啊,怕过不了编译,然后就真忘了,我是傻逼。

2023-04-10 19:18:00 810 1

原创 第十届“图灵杯”NEUQ-ACM程序设计竞赛题解(A-I)

图灵杯题解

2023-02-05 22:45:45 813 1

原创 2020年河北省程序设计大赛 7-7 划分

2020年河北省程序设计大赛 7-7 划分题解

2022-10-09 15:14:48 503

原创 Codeforces Round #783 (Div. 2) A - C

A. Direction Change题意:给定一个n∗mn * mn∗m 的方格图,在不能连续朝同一个方向走的前提下,问从 (1,1)(1, 1)(1,1) 走到 (n,m)(n, m)(n,m) 的最少步数为多少做法:先右下右下的走,走到右边界或者下边界,步数为 (min(n,m)−1)∗2(min(n, m) - 1) * 2(min(n,m)−1)∗2 ,再往右或往下走,步数为 (max(n,m)−min(n,m))/2∗2+(max(n,m)−min(n,m))(max(n, m) - min

2022-04-20 09:48:24 120

原创 Educational Codeforces Round 126 (Rated for Div. 2) A - C

A. Array Balancing题意:给定一个操作,可以交换 aiaiai 和 bibibi 使得两序列相邻绝对值的和最小做法:小的放上面,大的放下面#include<bits/stdc++.h>#define int long longusing namespace std;signed main(){ ios::sync_with_stdio(false); cin.tie(0); int t; cin >> t; wh

2022-04-11 17:02:47 360

原创 第十三届西南民族大学程序设计竞赛题解

A. 落花》&&《红衣集》模拟#include<bits/stdc++.h>#define int long longusing namespace std; signed main(){ int n; cin >> n; vector<int> a(n - 1), b(n - 1); for (int i = 0; i < n - 1; i++) cin >> a[i]; for (

2022-04-05 20:28:23 1275

原创 Educational Codeforces Round 125 (Rated for Div. 2) A - C

A. Integer Moves题意:给你一个坐标 (x,y)(x, y)(x,y) ,问你从 (0,0)(0, 0)(0,0) 开始,每次走任意整数长的步,问最少需要几步可以到达做法:特判 (0,0)(0, 0)(0,0),如果可以一步到位就是1,否则是2#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<in

2022-03-23 11:15:32 506

原创 Codeforces Round #778 (Div. 1 + Div. 2) A - C

A. Maximum Cake Tastiness题意:给你一个长度为 nnn 的序列,定义这个序列的权值为相邻两个元素的和,给你一次反转序列的操作,问你该序列的最大权值为多少做法:输出最大值和次大值的和#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N

2022-03-21 11:06:49 549

原创 Codeforces Round #774 (Div. 2) A - C

A. Square Counting题意:给你一个长度为 nnn 的序列,给出总和 sss ,问其中最多能含多少个 n2n^2n2做法:直接输出 s/n2s / n ^2s/n2 即可,因为序列元素可以是0#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int

2022-03-07 15:30:35 221

原创 Codeforces Round #775 (Div. 2) A - C

A. Game题意:你可以在陆地上行走,遇到水坑必须跳过去,且你只能跳一次,问走到最后的最小花费做法:从前往后找到第一个0和从后往前找到第一个0,然后位置相减即可#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 100010;const int

2022-03-07 15:04:29 96

原创 Codeforces Round #773 (Div. 2) A - C

A. Hard Way题意:给你一个三角形的三个点,问你有多长的边上的点沿着 y=0y = 0y=0 这条线往下走会穿过三角形做法:其实就是问你这个三角形是否存在一条水平边,且这条边是三角形区域的上边界#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N

2022-02-24 17:37:05 568

原创 AtCoder Beginner Contest 240 (A - D)

A - Edge Checker题意:已知一个环,给你两个点 aaa 和 bbb ,问你这两个点之间有没有边做法:随便写,意思到位就行#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 100010;int t, n, m; int main(

2022-02-20 23:08:39 468

原创 AtCoder Beginner Contest 239 (A - E)

A - Horizon题意:给你一个 xxx ,输出 x(12800000+x)\sqrt{x(12800000 + x)}x(12800000+x)​ 的值做法:直接输出,注意精度#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 100010;long long t, n, m; int main(voi

2022-02-20 16:19:20 422

原创 Codeforces Round #771 (Div. 2) (A - C)

A. Reverse题意:给你一个排列和一次反转区间的操作,问操作后的最小字典序排列做法:枚举找到第一个和编号不符的位置,然后再找到这个编号的位置,然后反转这个区间即可#include<bits/stdc++.h>using namespace std;int main(){ int t; cin >> t; while (t--) { int n; cin >> n; vect

2022-02-15 13:37:40 367

原创 2022牛客寒假算法基础集训营1题解

牛客寒假训练营1A-九小时九个人九扇门_2022牛客寒假算法基础集训营1 (nowcoder.com)结论:一个数的数字根等于这个数对9取模的结果,特别地,取模得0则数字根为9证明:假设一个数为abcd, 那么:abcd % 9 = (a * 1000 + b * 100 + c * 10 + d * 1) % 9由取模的性质我们可以知道:= ((a % 9) * (1000 % 9) + (b % 9) * (100 % 9) + (c % 9) * (10 % 9) + (d % 9) *

2022-02-14 18:05:08 490

原创 寒假:Day27

Day27二分图问题257. 关押罪犯 - AcWing题库二分图之染色法问题,二分答案,然后用染色法check这个二分图的可行性即可#include<bits/stdc++.h>using namespace std;const int N = 20010, M = 200010;int n, m;int h[N], e[M], ne[M], w[M], idx;int color[N]; // 0表示未染色,1表示白色,2表示黑色void add(int a, in

2022-02-07 23:30:46 332

原创 寒假:Day26

Day26有向图的强连通分量1174. 受欢迎的牛 - AcWing题库TarjanTarjanTarjan算法,将一个有向图中的环都缩点,使得这个新图是有向无环图(DAG),每一个点都属于一个强连通分量中,也就是一个环,最后判断下新图中每一个点的出度,如果只有一个出度为0的点,那么答案就是这个连通分量内的所有点,如果有多个出度为0的点,则答案为0#include<bits/stdc++.h>using namespace std;const int N = 10010, M =

2022-02-06 13:42:33 311

原创 寒假:Day25

Day25最近公共祖先问题(LCA)1172. 祖孙询问 - AcWing题库LCA模板题#include<bits/stdc++.h>using namespace std;const int N = 40010, M = 2 * N;int n, m;int h[N], e[M], ne[M], idx;int depth[N], fa[N][16]; // depth存每个节点的深度,fa存倍增往前走2^i步到哪个点编号int q[N]; // 数组模拟队列void

2022-02-02 22:45:37 344

原创 寒假:Day24

Day24继续图论。346. 走廊泼水节 - AcWing题库Kruskal模板应用,先把每个点看作一个集合,然后从小到大枚举边,每次把两个集合合并时,两个集合互相连边直至成局部完全图即可#include<bits/stdc++.h>using namespace std;const int N = 6010;struct Edge{ int a, b, w; bool operator< (const Edge &t) const {

2022-01-30 18:49:35 669

原创 寒假:Day23

Day23最小生成树开搞!1140. 最短网络 - AcWing题库primprimprim 模板题,因为数据量小,而且是以邻接矩阵的方式给出图,所以用 primprimprim 算法更加方便#include<bits/stdc++.h>using namespace std;const int N = 110;int w[N][N];int dist[N];bool st[N];int n;int prim(){ memset(dist, 0x3f, size

2022-01-23 23:26:25 500

原创 寒假:Day22

Day22340. 通信线路 - AcWing题库#include<bits/stdc++.h>using namespace std;const int N = 1010, M = 20010;int n, m, k;int h[N], e[M], ne[M], w[M], idx;deque<int> q;int dist[N];bool st[N];void add(int a, int b, int c){ e[idx] = b, w[id

2022-01-23 15:28:11 205

原创 寒假:Day21

Day21今天进入图论,为了加快进度,我偏向先自己写,如果写得出来就直接跳过了,写不出来的再去看视频。基础课把这些算法模板都背熟了,提高课直接学习如何建图,这是图论难点。Y总的总结很好用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XP6JjhcQ-1642483693999)(C:\Users\lenovo\AppData\Local\Temp\1642329881043.png)]1127. 香甜的黄油 - AcWing题库第一次用spfa,代码确实简洁,但是可

2022-01-18 13:28:53 186

原创 寒假:Day20

Day20今天把搜索专题弄完,准备进入图论部分!166. 数独 - AcWing题库利用数字的二进制来枚举每一个格子都能填哪些数,先将每一行、每一列、每一个九宫格都初始化成二进制的 111111111111111111111111111 也就是十进制的511,然后如果要用到某一个数字 iii ,那就把二进制上的那一位1变成0,也就是十进制减去 2i2^i2i 即可。利用二进制来枚举表示状态,妙哉!#include <iostream>#include <algorithm>

2022-01-15 11:43:34 297

原创 寒假:Day19

Day19今天开始进入搜索,速度提上来!173. 矩阵距离 - AcWing题库求所有0到最近的1,反过来想就是用1去更新到0的每一个距离,因为有多个1,所以就是多源BFS。#include<bits/stdc++.h>#define x first#define y secondusing namespace std;const int N = 1010;char f[N][N];int g[N][N];bool st[N][N];int n, m;queue<

2022-01-12 19:45:33 142

原创 寒假:Day18

Day181083. Windy数 - AcWing题库数位DP的题的预处理就含有一定的DP方式,预处理可以让你的个数更好的求出来,而且每一道题不同的条件有不同的预处理方式,这也是数位DP的一个难点#include<bits/stdc++.h>using namespace std;const int N = 11;int f[N][N]; // 剩余i位且最高位是j的Windy数的个数void init(){ for (int i = 0; i < 10; i+

2022-01-09 22:43:19 357

原创 寒假:Day17

Day17数位DP数位DP很经典的情况就是问你一段区间内满足某种性质的数的个数,一般如果数据量小的话可以暴搜,但是如果数据范围大了就需要数位DP了1081. 度的数量 - AcWing题库求一段区间满足条件的数的个数,我们可以利用前缀和的思想,求出 dp(x)dp(x)dp(x) 是从 000 到 xxx 满足条件的数,然后答案就能表示为 f(r)−f(l−1)f(r) - f(l - 1)f(r)−f(l−1) ,数位DP的核心思想就是分类讨论,从每一位数字上分类讨论,最后得出结论。#inclu

2022-01-07 23:22:46 493

原创 寒假:Day16

Day16479. 加分二叉树 - AcWing题库区间DP套路模板直接做就好,注意时间复杂度即可#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 35;int t, n, m;int w[N], f[N][N], g[N][N];void

2022-01-06 22:14:05 185

原创 寒假:Day15

Day15继续刷课!加快速度327. 玉米田 - AcWing题库和上一题基本一摸一样,只不过换了个判定条件。但是这个代码实现可以说是很妙了,二进制运用的太好了!#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 14, M = 1 <&lt

2022-01-05 23:02:55 452

原创 寒假:Day14

Day14加快进度,不然感觉要刷不完了1058. 股票买卖 V - AcWing题库因为有冷冻期,所以这个时候两个状态已经无法表示出题目意思,这个时候需要三个状态。状态表示={第i天手上有货f[i,0]第i天手上无货第1天f[i,1]第i天手上无货第≥2天f[i,2]状态表示 = \begin{cases} 第i天手上有货 & f[i, 0]\\\\ 第i天手上无货第1天 &f[i, 1]\\ \\第i天手上无货第≥2天 &f[i, 2] \end{cases}状态表示=

2022-01-04 23:35:34 124

原创 寒假:Day13

Day13元旦放了自己两天假舒舒服服跨个年,今天继续DP,提速提速状态机模型1049. 大盗阿福 - AcWing题库这道题可以用背包问题的思考方式根据第 iii 家商铺选不选划分集合,状态表示也和背包大径相同:f[i]f[i]f[i] 表示前 iii 家商铺最大价值。不选这家那就是 f[i−1]f[i - 1]f[i−1] ,如果选这一家,那前一家必不选,那么就是 f[i−2]+wf[i - 2] + wf[i−2]+w 很好理解状态划分={选第i家店铺f[i−2]+w不选第i家商铺f[i−1]

2022-01-03 23:57:14 237

原创 寒假:Day12

Day12提高课DP背包问题今天赶紧结束!!有依赖的背包问题10. 有依赖的背包问题 - AcWing题库树形DP,利用分组背包思想求每一棵子树的最大价值,然后再加上根节点即可。可以尝试记忆代码!!#include<bits/stdc++.h>using namespace std;const int N = 110;int n, m;int v[N], w[N];int h[N], e[N], ne[N], idx;int f[N][N];void add(int a

2021-12-31 20:09:32 417 1

原创 寒假:Day11

Day11提高课继续,补题从未停止!!关于背包问题的一些问题首先我们必须要清楚它问的是啥:求前 iii 个物品中体积不超过 VVV 的最大价值求前 iii 个物品中体积恰好是 VVV 的最大价值(最小代价)求前 iii 个物品中体积至少是 VVV 的最小代价这里我们以01背包问题,虽然这三种的状态转移方程都大径相同,但是针对不同的问题却有着不同的初始化我们一般是考虑一个不选的情况下有什么不一样的地方,第一个问题 f[0,j]f[0, j]f[0,j] 表示一个都不选且体积不超过 jjj

2021-12-30 23:14:51 441

原创 寒假:Day10

Day10提高课DP继续搞!01背包求方案数278. 数字组合 - AcWing题库状态表示还是 f[i,j]f[i, j]f[i,j] 但是却表示:从前 iii 个物品中选,体积为 jjj 的方案数状态转移={不选第i个物品f[i−1,j]选第i个物品f[i−1,j−v]状态转移 = \left\{\begin{matrix} 不选第i个物品 && f[i - 1, j]\\ \\ 选第i个物品 && f[i - 1, j - v]\end{matrix}\r

2021-12-29 22:59:53 464

空空如也

空空如也

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

TA关注的人

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