![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm刷题
jaune_arc
这个作者很懒,什么都没留下…
展开
-
POJ 1061:青蛙的约会
首先声明,本人在做此题时,完全忘了数论知识了,数论知识与解题思路都是在网上找的,本博客充其量是我对此题的总结以备之后回顾,参考文献附在最后,请自行跳转POJ 1061:青蛙的约会题意中文写的,能看懂。设A B两只青蛙,能分析出来的变量有A B的起始位置,A B的速度(方向+数量),线的总长度(MOD),没了。解题思路设起始位置lAl_AlA和lBl_BlB,速度vAv_AvA和vBv_BvB,正方向向右,希望得到 ttt 使得(vA∗t+lA)%MOD==(vB∗t+lB)%MOD(v_原创 2020-08-11 12:02:44 · 111 阅读 · 0 评论 -
2020-8-11计划——数论+数学
保研机试学习经过快一个月的acm题目学习,我的道路仍然漫长,在此致敬所有前辈和大佬们。今天写一下学习计划作为打卡,希望能够有更好的总结效果。参考ACM必练50题,我今天预计完成其中的数论+数学两部分内容。其实数论和数学部分我是很苦手的,因为自从专业课变多,真正应用数学原理的次数变少只做应用了。我会努力完成今天的任务,并将总结结果发上来。...原创 2020-08-11 11:29:45 · 112 阅读 · 0 评论 -
线段树
线段树线段树的思想很明确,维护一个树状数据结构,每个节点有一个L和R值,表示左右边界,其中有sum、max、min或染色值,表示边界内的特殊值。建树的好处是,插入和查询某个特定的值,都会在logn复杂度下进行了,整体插入n个数复杂度O(nlogn),都插完了查根节点的特殊值只需要O(1),查某个范围内是O(logn)。基本题型:POJ 2352但是不仅仅如此线段树有很多变形,并且可以和许多其他东西组合在一起,比如:POJ 2528:线段树直接构造一个完全二叉树,配合离散化减少L到R的范围。同时使用原创 2020-08-11 11:22:58 · 73 阅读 · 0 评论 -
STL使用——sort
(最近sort老是忘,记录一下)sort使用#include <algorithm>sort(v.begin, v.end, cmp)bool cmp(int a, int b){return a<b;// 默认升序排序}用这个外置比较函数就行,其他的再说吧。(最近真是学的nt了,sort都记不住了)...原创 2020-08-10 12:23:15 · 73 阅读 · 0 评论 -
网络流问题
网络流的问题描述、原理及算法网络流是acm题中的一类数据结构、算法问题。其数据结构为一个有向图G = {V, E},V中有两个特殊的点称为源点和汇点,每条边称为弧,每条边有一个权值(均为正数)称为弧的容量,代表能通过这个弧的最大流量,实际上通过这个边的权值为弧的流量,小于等于容量。一般考察的问题为,从源点到汇点的最大流及其路径。问题特征我们可以注意到网络流问题有以下两个特征。每条弧的流量小于等于容量除了源点与汇点,每个顶点的流入流量之和等于留出流量之和满足这两个特征的网络流我们称之为可行流,原创 2020-07-29 09:23:42 · 486 阅读 · 0 评论 -
染色问题
染色问题二分染色使用BFS和DFS都能做,两种颜色以上在BFS和DFS的一次操作中遍历每种颜色可做,但是时间复杂度大。(未完待续,查染色时看到了覆盖,去看看)原创 2020-07-26 10:03:20 · 346 阅读 · 0 评论 -
连通块判定
连通块判定连通块的判定很容易,使用BFS或DFS即可获得连通的顶点,关键在于连通块的存储,以便于后续操作。在线操作不需要存储,在BFS或DFS遍历过程中进行操作;离线操作需要存储,可选的方式有:数组、队列、链表,同时存储多个连通块需要再加一维,或者按照在线思想处理完一个连通块再处理下一个(加标记),存储需要根据题目的特点进行存储。(未完待续)...原创 2020-07-26 09:58:20 · 339 阅读 · 0 评论 -
最小生成树——prim和kruskal
最小生成树Prim原理:将顶点集分为2个子集,一个为已选顶点集,一个为未选顶点集,初始任意加入一个顶点进入已选顶点集。每次选择已选顶点集连接到未选顶点集的最短边,将该边作为树的一条边,另一顶点也加入已选顶点集。重复上一操作,经过n-1次操作得到最小生成树。Kruskal原理:将边集从小到大排序,遍历边集。对每一条边,如果该边两顶点已经连通,抛弃该边;未连通,将该边作为树的一条边。两条边的连通性用并查集保存。题目POJ: 1258 1789 2485...原创 2020-07-26 09:53:19 · 84 阅读 · 0 评论 -
POJ 2709
原理不知道是啥,网上说是贪心,应该是贪心,每次找最小的3个值。我这方法有点取巧了,可以看看别的大神的解答。题意已知: x毫升灰色颜料需要任何3种颜色各x毫升配出,一套颜料为各颜料数为50毫升(除灰色)(每一套有多少颜色的颜料由n决定)。输入: n个颜料数,m1m_1m1到mnm_nmn为所需要的对应颜色颜料数,G为所需要的灰色颜料数。输出: 所需要的最少的颜料套数。实现#include <iostream>#include <queue>using names原创 2020-07-18 14:33:53 · 61 阅读 · 0 评论 -
哈夫曼编码 POJ 1521
哈夫曼编码习题——POJ 1521哈夫曼编码原理题目理解实现第一篇文章,格式无要求。哈夫曼编码原理哈夫曼编码是一种根据词频变化的变长二进制编码方式,多用于压缩算法(实践中用的也不多,虽然最优但比较古老了)。作为一个比较基础的数学原理,其思想多用于计算机的算法编程实践中。详见:哈弗曼编码的实现题目理解输入: 大写字符串+下划线的集合,下划线代表空格。输出: ascii编码所需2进制长度 哈夫曼编码后长度 压缩率(前者除以后者),遇到END终结。解题思路: 重点在哈夫曼树的实现。实现讲真,这原创 2020-07-18 11:08:50 · 791 阅读 · 0 评论