随笔分类 - loj
摘要:Jennie 分块,对于每一个块,排个序 就可以了 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<stack> #include<algorithm>
阅读全文
摘要:Lisa 这个不如先简简单单看成n,然后可知,且不如令代入原式子,可知 那么a,b就是它的一对因子了 #include<iostream> #include<cstdio> #include<algorithm> #inc
阅读全文
摘要:blackpink yyds 这道题目还是很有意思的,叫什么最短路径生成树。 显然的一个做法就是用类似于prim的方法,维护一个已经和1联通的集合以及所有点到1的最短路 然后按照距离dis的距离进行枚举,每次从集合里找到可以在加进去之后令新点补全。 然后这个过程可以懒得维护,直接检查每一个点和他周围
阅读全文
摘要:Archie 练习一下树刨 只要记录一下到链顶的距离以及到父亲的距离就行了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n,m; struct e
阅读全文
摘要:Archie 线段树精简版 没有lazy,没有pushdown #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define int long long using namespace std; c
阅读全文
摘要:Archie 区间加和单点查询 很简单的思路就是查询,就像线段树一样搞。一个tag #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std
阅读全文
摘要:矩阵乘法板子 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define int long long #define ll long long using namespace std; const
阅读全文
摘要:Aimee 很显然我们并不知道到底会搜索出多少层 但是最优解一定不会太大 那么迭代加深搜索会是一个好的选择 迭代加深要限制层数,这很显然 那么就此来说,当就剩下一个分数可以选的时候 我们要判断这个分数是不是单位分数,如果他是,再判断一下是不是最优解 这样就解决了dfs中的一半(体积意义上)的问题 i
阅读全文
摘要:Aimeeeee 把原图改造一下那么权值为1,反之为0 然后跑最长路,如果最长路不小于0,那么就可行,反之不行 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queu
阅读全文
摘要:(Miku)[https://loj.ac/problem/10013] 画个图就知道,f(x)还是个单峰函数 三分起 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace st
阅读全文
摘要:链接:Miku 一个map干过去 #include <map> #include <cstring> #include <cstdio> #include <cstdio> #include <algorithm> #include <iostream> using namespace std; s
阅读全文