学习笔记
Charlemagnescl
这个作者很懒,什么都没留下…
展开
-
牛客网寒假算法基础训练营2学习笔记
处女座的签到题一道计算几何题;考点在于知道三角形的坐标如何求其面积以及如何在一串无序数据中找到顺序第k的值;○1那么这里使用的计算三角形面积的方法是叉积,也就是向量乘法(将同一点引出的两边作为向量)面积即为两向量相乘的绝对值的二分之一。○2如何找到顺序第k的值是有o(n)的算法的,其核心思想类似于快速排序(二分递归,每次找一个数,把比他小的数放左边,比他大的放右边,再两边递归来继续排序)只...原创 2019-02-03 22:24:27 · 322 阅读 · 0 评论 -
Abandoned country
A Abandoned country最小生成树 + 树上任意点对距离之和树上任意点对距离之和:计算时考虑每一个边,它的贡献值为它的 左端点以左的点的个数 * 右端点以右的点的个数 * 该边的权值。代码:#include <iostream>#include <cstdio>#include <cstring>#include <algor...原创 2019-04-25 17:59:15 · 201 阅读 · 0 评论 -
2019 南昌邀请赛 Distance on the tree
2019 南昌邀请赛 Distance on the tree主席树+lca#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>using namespace std;typedef long ...原创 2019-04-28 00:57:09 · 172 阅读 · 0 评论 -
HDU 3718 Similarity
HDU 3718 Similaritykm最优匹配(百度)建图的时候对应位置的边权值加一(最后建出来的图是[A-Z]->[A-Z],而不是字符串位置对应字符串位置),km匹配完之后把匹配成功的边的权值加起来除以n就是答案。代码:#include <iostream>#include <cstring>#include <cstdio>#inc...原创 2019-04-27 17:20:11 · 143 阅读 · 0 评论 -
HDU 3713 Go deeper
HDU 3713 Go deeper二分+2Sat问题由于它的m值并不会很大且具有单调性,故可以二分枚举最大m取值,然后每一个m的情况对应的就是一个2-sat问题(百度)。代码:#include <iostream>#include <vector>#include <algorithm>#include <cstring>#incl...原创 2019-04-26 00:32:43 · 168 阅读 · 0 评论 -
The Preliminary Contest for ICPC China Nanchang National Invitational 补题
I Max Answer考虑每一个点作为区间最小值扩展。单调队列找到该区间左右端点。线段树或rmq询问左右半区间的前缀和最大最小值线段树#include <iostream>#include <cstring>#include <cstdio>#include <stack>#include <algorithm>...原创 2019-04-21 11:16:51 · 110 阅读 · 0 评论 -
2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛)补题笔记
A Chino with Geometry#include <iostream>#include <cmath>#include <cstdio>#include <algorithm>using namespace std;double dis(double x1,double y1,double x2,double y2){ ...原创 2019-04-07 09:23:33 · 320 阅读 · 0 评论 -
2019广工赛补题
B:HDU 6462 人类史上最大最好的希望事件斐波那契数列平方和加前缀和(或者斐波那契数列平方和等于fn*fn+1)关键是取模比较坑。。。数学菜是原罪。。。代码:#include <iostream>#include <algorithm>#include <cmath>using namespace std;typedef long long...原创 2019-03-18 16:00:47 · 216 阅读 · 0 评论 -
The 36th ACM/ICPC Asia Regional Shanghai Site —— Warmup补题
F - Magic Bitwise And Operation HDU 4016暴力剪枝1:a&b<=min(a,b)故最大值可以边dfs边更新2:预处理:将数组排序,提前处理出后缀与数组,然后用当前值与当前后缀与,如果得到的结果仍小于记录的最小值,该情况舍去代码如下:#include <iostream>#include <cstdio>#i...原创 2019-03-25 12:24:41 · 203 阅读 · 0 评论 -
省赛训2
C:uva 11691贪心or状压dp贪心思路:利用优先队列,每次将最长的两段拿出来,尽可能的互相覆盖后把余下的部分(还能再放段落的部分)压回队列;代码#include &amp;amp;lt;iostream&amp;amp;gt;#include &amp;amp;lt;cstdio&amp;amp;gt;#include &amp;amp;lt;cmath&amp;amp;gt;原创 2019-03-11 19:29:55 · 112 阅读 · 0 评论 -
牛客寒假算法基础集训营6学习笔记
出题一道数学题;首先可以判断出一中显然无解的情况,即总分大于全为9分或总分小于全为6分。由此可以得到启发,我们可以枚举全取某一道题的情况,得出该情况的总分,与实际总分对比。比如按照样例,我们全取7分的话,是35分,而实际是34分,很明显的必须出现一道6分题,才能取到34分。由此,做法就明确了,当总分大于等于全取7分时就为0道,小于时做差即可,无解的情况早已给出(上方)代码如下(注意数据范...原创 2019-02-05 21:31:37 · 238 阅读 · 0 评论 -
差分约束系统学后总结
差分约束系统总结写在前面什么是差分约束系统原理、第一个要点写在前面在我看来,差分约束系统就是利用图论来直观的解决多种逻辑关系叠加的方法。类似的方法还有2-SAT问题(我只学过这两种),你可以发现这两种问题的共同点都是极其繁多的约束条件,而且彼此之间交互联系,错综复杂,如果采用线性的思维一个一个去递进解决的话花费的时间以及精力是巨大的。因此我们迫切的需要解决这类问题的方法,于是差分约束系统就诞生...原创 2019-07-05 19:45:27 · 321 阅读 · 1 评论