文章分类 - 算法蒟蒻
摘要:【树上前缀和】 Compare Tree Weights 【树链剖分+树状数组维护顶点前缀和】 https://atcoder.jp/contests/abc406/tasks/abc406_f #include<bits/stdc++.h> using namespace std; #define
阅读全文
摘要:【树链剖分】 将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链
阅读全文
摘要:【模拟+数论】 随机栈 https://codeforces.com/gym/105158/submit 思路 把p和q分开考虑: (1)p:模拟一遍取数过程,每次都取当前最小值(优先队列) p初始为1 每次*个数 (2)q:每次遇到-1就*一次当前数的个数 代码 #include<bits/std
阅读全文
摘要:【基于贡献的贪心问题】 不要考虑太多因素,仅需考虑变化了之后对于结果的变化 ->操作后会不会使答案变劣 Kousuke's Assignment https://codeforces.com/contest/2033/problem/D 只要相等->交换一定不会使答案变劣 int n; void s
阅读全文
摘要:【0-1BFS】双端队列BFS 适用范围 可转换为边权值的最短路问题 边权值为有/没有 eg 在走迷宫问题中,你可以花 1 个金币走 5 步,也可以不花金币走 1 步 思路 把没有权值的边扩展到的点放到队首,有权值的边扩展到的点放到队尾 ->可保证像普通 BFS 一样整个队列队首到队尾权值单调不下降
阅读全文
摘要:【搜索模拟】 搜索+大模拟 DFS模拟 像素放置 https://www.lanqiao.cn/problems/3508/learning/ 注意搜索中的遍历方式 注意特别处理 x=1 和 y=1 /* 【结论】 当(x,y)被遍历到后,(x-1,y-1)已经确定->需要check 如果是最后一列
阅读全文
摘要:【打表题】 题目都很简单 只需要打一个表就能看出来!!! 一定要想到小范围数打表找规律 召唤数学精灵 https://www.lanqiao.cn/problems/19700/learning/?page=1&first_category_id=1&name=召唤数学精灵 枚举1-1000内的数有
阅读全文