头像

欢迎来到我的博客

分享题解与总结

摘要: 七段码 思路 二进制枚举 首先 7段数码管:亮/不亮,一共只有\(2^7\)种可能 枚举\(x∈[1,2^7]\),对x进行拆位 例如:0101001——选择2,4,7这几段数码管 BFS检查(这几段数码管的)连通性 int e[N][N],isIn[N],book[N],maxi,sx,len,a 阅读全文
posted @ 2026-03-28 22:11 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 黑白棋 思路: 注意:题目说了“部分格子”已填充 按从左到右,从上到下的顺序放,下标\(0->n*n-1\) 将下标映射成\((x,y)\) 放完下标为\(idx\)的棋子之后,先check,再继续搜索 check: 刚放的棋子\((x,y)\),是不是和\((x-2,y)\)和\((x-1,y)\ 阅读全文
posted @ 2026-03-26 12:42 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 这并非题解,这是疑问 (有一个样例没过,但是我又调不出错) #include<bits/stdc++.h> #define N 3000 using ll=long long; using namespace std; ll n,len,prefix[N]; char ans[N]; string 阅读全文
posted @ 2026-03-24 22:06 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 完全二叉树的权值 思路 设立一个指针,一次走一层 计算每层元素个数(1<<f) ll n,a[N],p,flr,cnt,sum,maxi=LLONG_MIN,idx=-1; ll nodenum(ll f) { return (1<<f); } int main() { cin>>n; for(ll 阅读全文
posted @ 2026-03-24 22:05 king_steph1209 阅读(1) 评论(0) 推荐(0)
摘要: 题目 思路: 搜索 数据规模->BFS 想“两棵树同时扩展” 核心:二元组(u,v)表示 ​ 树1:root->u 与 树2:root->v,经过的权值序列完全相同 ​ (满足:u和v在同一层,c[u]=d[v]) 从当前状态(u,v)扩展到下一个状态: 寻找:u的子结点权值 = v的子结点权值 如 阅读全文
posted @ 2026-03-21 22:10 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 疑问: 为什么在已有缆车中放不下的情况下,开新缆车还需要回溯? 难道不是必然吗? 能否帮我构造一个反例(我自己尝试了多次,...) #include<bits/stdc++.h> #define N 25 using namespace std; using ll=long long; ll n,m 阅读全文
posted @ 2026-03-19 17:25 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 混境之地 思路: BFS 结点携带“剩余可使用喷气背包次数”的信息struct node{int x,y,step,rem;//remain-times}; 判断是否可走: 高度单调不增√ 或者当前结点还可以使用喷气背包,且使用后高度够得着√ 其余× 图解 代码 int n,m,k,sx,sy,ex 阅读全文
posted @ 2026-03-17 22:09 king_steph1209 阅读(3) 评论(0) 推荐(0)
摘要: 飞机降落 思路 dfs 遍历每一种可能 按照到达时间+盘旋时间排序遍历——先到达+盘旋短->先下降 (快速找到最优解) 但是排序后的选择方案,也不一定最优,所以需要找每一种可能,然后剪枝 n架飞机的信息:struct node{int t,d,l;} dfs(int num,int step,int 阅读全文
posted @ 2026-03-17 21:46 king_steph1209 阅读(3) 评论(0) 推荐(0)
摘要: 传递闭包 思路: Warshall算法求传递闭包 用原始二元关系\(R[i][j]\)给\(T[i][j]\)赋初值 类似Floyd-Warshall算法,三层循环 用外层k,更新 \(i->j\) 这里的更新指的是:假如\(T[i][k]=1\)且\(T[k][j]=1\),则\(T[i][j]\ 阅读全文
posted @ 2026-03-15 20:36 king_steph1209 阅读(2) 评论(0) 推荐(0)
摘要: 灾后重建 思路: 理解Floyd的核心是: 最外层执行到k(还没进入内层循环)表示,只用[1,k-1]作为中转,\(i->j\) 的最短路 执行k时,意思是:尝试用新加入的k点,缩短 \(i->j\) 的距离 灾后重建: q表示当前询问,p指向本次询问之前,第一个尚未重建完成的村庄\(a_s\) ( 阅读全文
posted @ 2026-03-15 19:54 king_steph1209 阅读(1) 评论(0) 推荐(0)