随笔分类 - 算法大全
摘要:dfs深搜就行,搜到就结束,然后用一个数组来记录路径,重点是回溯 using namespace std; int sum=0; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; int vis[20][20]; char mp[20][20]; char an
阅读全文
摘要:每次都找最小的边,一直到n-1个边为止,是关于边的算法,时间复杂度为mlog(m) using namespace std; const int N=5e5+10; struct edge{ int u,v,w; }edge[N]; int fa[N]; int ans=0; int cnt=0;
阅读全文
摘要:题意是:给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。 ST表的基本功能是对区间进行查询,其核心使用的是倍增的思想 f[i][k]:意思是从第i个数开始往后2^k个数 f[i][k]=max(f[i][k-1],f[i+2^k-1][k-1]) 求【l,r】区间 m
阅读全文
摘要:题意是: 给你一个迷宫,起点为S,终点为T,.表示空格,#表示障碍物无法通过,你每次可以从当前位置上下左右移动(不能出界或者撞到障碍物上)你需要找出从起点到终点的最少步数,如果不存在解,输出-1。 BFS的练手题 using namespace std; int sx,sy,ex,ey; int n
阅读全文
摘要:BFS 训练的好题 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到
阅读全文
摘要:奇怪的电梯 题目背景 感谢 @yummy 提供的一些数据。 题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 \(i\) 层楼(\(1 \le i \le N\))上有一个数字 \(K_i\)(\(0 \le K_i \le N\))。电梯只有四个按钮:
阅读全文
摘要:单点修改+区间查询 I Hate It 题目背景 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 输入格式 第
阅读全文
摘要:于是他错误的点名开始了 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人。 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛 CON900)。 题目描述 这之后校长任命你为特派探员,每天记录他的点名。校长会提供化学竞
阅读全文
摘要:【模板】单源最短路径(标准版) 题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路。 然后呢? \(100 \rightarrow 60\); \(\text{Ag} \rightarrow \text{Cu}\);
阅读全文
摘要:一中校运会之百米跑 题目背景 在一大堆秀恩爱的 ** 之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了 \(100\) 米跑的起点。这时苏大学神发现,百米赛跑的参赛同学实在是太多了,连体育老师也忙不过来。这时体育老师发现了身为体育委员的苏大学神,便来找他帮忙。 可是苏大学神需要热身,不然跑到一
阅读全文
摘要:题目描述 给定一个 \(N \times M\) 方格的迷宫,迷宫里有 \(T\) 处障碍,障碍处不可通过。 在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。 给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。 输入格式 第一行为三个正
阅读全文
摘要:大致解决的问题就是区间查询以及单点的修改 #include<bits/stdc++.h> #define int long long using namespace std; const int N=5e5+10; int a[N],tag[N<<2]; struct{ struct{ int l,
阅读全文
摘要:时间复杂度是O(nlog(n)) #define int long long using namespace std; const int N=1e5+10; int a[N],b[N],t[N]; int n; int lowbit(int x){ return x&-x; } bool cmp(
阅读全文