摘要:
接触机器学习有一段时间了,对于“似然”与“交叉熵”这两个概念,有多位老师都讲到过,但我对这两个概念的理解一直不怎么清晰,看网上的各种资料也是一头雾水,这两天复习的时候终于有所开悟了,于是记录下自己对这两个概念的一点理解 考虑如下一类问题:给定数据集$[\bm{x_1},\bm{x_2},...,\b 阅读全文
摘要:
题意:n根杆子,每根杆子由一定数量的砖组成,现要使这些砖一样高,添加一块砖花费A,去掉一块砖花费B,移动一块砖花费C,求最小花费 通过观察可知最终所有杆子的高度与花费的关系是个凸函数,三分高度找极值点即可(其实就是二分斜率) 1 #include<bits/stdc++.h> 2 using nam 阅读全文
摘要:
傻逼题,能不能AC取决于眼力够不够好能看到“询问次数不超过2000”这一限制 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef double db; 5 const int N=200 阅读全文
摘要:
题意:01序列,区间反转,版本回退,求和 主席树(可持久化线段树)裸题,貌似我还没有写过带pushdown操作的主席树板子,就先贴一个在这里 注意在修改和pushdown操作的时候要新建结点 1 #include<bits/stdc++.h> 2 using namespace std; 3 typ 阅读全文
摘要:
题意:求无向图从起点到终点最多停留k次的最短路 设d[i][j]表示走了i步后到达点j的最小代价,看似最短路,实则dp,因为求解过程中i是递增的,不存在环,直接递推求解即可 什么?你说最短路也属于dp?那没事了 1 #include<bits/stdc++.h> 2 using namespace 阅读全文
摘要:
题意:多组询问,每组询问求无向图中两个结点间最小瓶颈路的最大边权 算是带权并查集的一道板子题吧,首先用kruskal算法构建最小生成树,构建过程中并查集按秩合并,同时每个点记录一个cost值,表示把该点与父亲结点合并所需的最小代价,那么两点间最小瓶颈路的最大边权就是带权并查集上两点之间路径的最大边权 阅读全文
摘要:
题目链接 蓝书上的例题,题意是给定一个有向图,边带权,每次操作可以选择一个点,把以该点为终点的边权都-1,以该点为起点的边权都+1,要使得最小的边权最大,问最大值是多少 题解是转化成差分约束问题求解,但实际通过观察可发现,每个环的边权是固定的,因此相当于求平均值最小的环,二分+判负环即可 SPFA判 阅读全文
摘要:
有这样一类问题(例:loj121,122),要求在无向图中实现如下操作: 1.增加一条边 2.删除一条边 3.询问两点是否连通 这类问题有离线做法和在线做法,两者的思想完全不同 离线做法的思想是,考虑到每一条边存在的时间范围是一个区间,在线段树对应的区间打上标记,然后从根节点自顶向下dfs,每访问一 阅读全文
摘要:
题目链接 Floyed动态加点, 每加一个点,求经过这个点的最小环,取min即可 注意inf相加溢出 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef double db; 5 con 阅读全文
摘要:
题目链接 题意:求无向图最小环(n<=8000,m<=4000) 动态把边加进去跑Dij,在加入一条边(u,v,c)之前,先求出mindis(u,v),更新答案ans=min(ans,mindis(u,v)+c),复杂度$O(m^2logn)$ 1 #include<bits/stdc++.h> 2 阅读全文