03 2018 档案
发表于 2018-03-29 20:50阅读:4018评论:0推荐:0
摘要:如题,最后一位数好求,他只和最后一位相乘后的最后一位有关,唯一影响我们得是末尾0,而阶乘中末尾0来自于2和5,(10得话可以看成2 * 5),所以有这个思想我们可以筛选出1 * 2 * 3 * .... * n中包含2和5得个数 如下: int get2(int n) { if(n == 0)ret
阅读全文 »
发表于 2018-03-26 20:58阅读:379评论:0推荐:0
摘要:这几天一直再学习这些内容,也没有发一些博客,现在我觉得差不多了 首先基础是Miller_raibin随机化检测素数,顾名思义,随机化也就是有几率不对,但是很低,适用于大数快速检测,因为大数已经超出了我们打表的范围了 对于这个算法基础是费马小定理 和二次探测定理 1. Fermat定理:若n是奇素数,
阅读全文 »
发表于 2018-03-21 21:28阅读:133评论:0推荐:0
摘要:POJ1456 这个题一看好像就是用贪心做啊,一个结构体,拍一下序,vis数组一遍遍扫荡,最后输出值,没错,贪心的确能做出来,而这类题目也能应用并查集,实现得思想也是贪心 #include <iostream> #include <string.h> #include <cstdio> #inclu
阅读全文 »
发表于 2018-03-21 21:17阅读:153评论:0推荐:0
摘要:POJ1182 HDU3038 这两个题比较像(一类题目),属于带权(种类)并查集 poj1182描绘得三种动物种类的关系,按照他一开始给你的关系,优化你的种类关系网络,最后看看再优化的过程中有几处矛盾 #include <iostream> #include <string.h> #include
阅读全文 »
发表于 2018-03-20 19:17阅读:443评论:0推荐:0
摘要:HDU-1272 | HDU-1325 小希的迷宫 | Is it a tree ? http://acm.hdu.edu.cn/showproblem.php?pid=1272 http://acm.hdu.edu.cn/showproblem.php?pid=1325 判断一张图是否是一颗树(连
阅读全文 »
发表于 2018-03-19 21:28阅读:864评论:0推荐:0
摘要:推荐学习顺序 学习机器学习得有个步骤, 下面大家就能按照自己所需, 来探索这个网站. 图中请找到 "Start", 然后依次沿着箭头, 看看有没有不了解/没学过的地方, 接着, 就能在底下的链接中找到对应的链接去往合适自己的地方. 在机器学习前 - (零基础) Python基础语法 了解数据结构 (
阅读全文 »
发表于 2018-03-19 20:49阅读:185评论:0推荐:0
摘要:部分内容摘自以下大佬的博客,感谢他们! http://blog.csdn.net/dm_vincent/article/details/7769159 http://blog.csdn.net/dm_vincent/article/details/7655764 基础得可以去看上面的连接,再此我只记
阅读全文 »
发表于 2018-03-18 20:53阅读:150评论:0推荐:0
摘要:今天做了一些欧拉函数和并查集得题目,总感觉这两天很没有状态啊,效率非常低下,希望早点恢复吧~~毕竟选拔赛马上就要到了 因为状态原因,没有耐下心来去啃一道难题,也没有去学习新的知识点,复习了一下并查集 POJ1611 我一开使嘛,用很常规的思路去做,每一个组得老大为最后一个给出的人,然后我尝试再fin
阅读全文 »
发表于 2018-03-16 21:23阅读:221评论:0推荐:0
摘要:欧拉函数 : 小于n的正整数中与n互质的数的数目(φ(1)=1) 有几个性质:p为质数 * p的欧拉函数的值:p - 1 * p^k的欧拉函数为p^k - p^k-1=p^k(1 - 1/p)[p为质数,k为大于等于1的正整数] 因为p是质数,所以当一个数不包含质数p才可能与n互质,所以一共有p^k
阅读全文 »
发表于 2018-03-16 17:33阅读:1998评论:0推荐:0
摘要:总评一句:Dinic算法的基本思想比较好理解,就是它的当前弧优化的思想,网上的资料也不多,所以对于当前弧的优化,我还是费了很大的功夫的,现在也一知半解,索性就写一篇博客,来发现自己哪里的算法思想还没理解透彻,并解决他 https://www.cnblogs.com/SYCstudio/p/72606
阅读全文 »
发表于 2018-03-15 17:08阅读:328评论:1推荐:0
摘要:本来是继续加强最短路的训练,但是遇到了一个最短路 + 最大流的问题,最大流什么鬼,昨天+今天学习了一下,应该对ek算法有所了解,凭借学习后的印象,自己完成并ac了这个最大流的模板题 题目大意:都是图论,只是这个图给你的关系是网络关系,就是从s到t的路上,你运送的东西的量必须满足所有路径的限制,而题目
阅读全文 »
发表于 2018-03-14 19:44阅读:304评论:0推荐:0
摘要:HDU4725 题目大意:一些节点分布在不同的层上,已知相邻的层可以往来距离为c,在给你一些已知的边,问你点1-n的最短路 分析:越往后做,越觉得最短路的考点已经不是spfa算法还是dijkscar算法了,而是图形的创建,你脑海里既要有他给你描绘出的问题场景图,也要有适应算法而建造的图模型,其实这个
阅读全文 »
发表于 2018-03-13 20:12阅读:670评论:0推荐:0
摘要:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1074 题目大意:给定路径的关系,问你n个点的最短路,如果最短路的值比3小或无法到达,就输出? 又做到一个新类型的题目,但是不算太难,就是在spfa发现一个点的
阅读全文 »
发表于 2018-03-12 19:26阅读:206评论:0推荐:0
摘要:POJ1062 虽然是中文题目但是还是有一定几率都不准题目意思的:1.所有可能降价的措施不是降价多少钱而是降至多少钱2.等级范围:是你所走的那一条路中所有人中最好最低等级差不允许超过limit限制 思路确实没有想好:导致我也苦想冥思了很久,没有想到逆向构思其实这个题意你如果理解了,算起来也是逆向的~
阅读全文 »
发表于 2018-03-12 15:15阅读:165评论:0推荐:0
摘要:POJ2502 题目大意:给你一个二维地图,起点终点,以及多条地铁线路(只有相邻两站才可互通)中的站点坐标。步行以及坐地铁的速度; 思路:难点在于建图,一个多小时磨磨蹭蹭,都是因为思路没捋清楚~~,对于每一条地铁线,在输入站点坐标的过程中我们就可以建立图像了;输入完成后,遍历所有的点再建立,以步行为
阅读全文 »
发表于 2018-03-11 15:57阅读:179评论:0推荐:0
摘要:题意如题目 有几个点1.怪我没读好题目:给出的矩形两个端点不一定都是左上右下,但是肯定能勾勒出一个矩形。 2.现在才发现很多线段相交的判断我都没有仔细考虑这一个问题 bool ssinsert(Point p1,Point p2,Point p3,Point p4) { if(p1.x == p2.
阅读全文 »
发表于 2018-03-11 11:50阅读:149评论:0推荐:0
摘要:POJ1066 题意:给出一个100*100的正方形区域,通过若干连接区域边界的线段将正方形区域分割为多个不规则多边形小区域,然后给出宝藏位置,要求从区域外部开辟到宝藏所在位置的一条路径,使得开辟路径所需要打通的墙壁数最少("打通一堵墙"即在墙壁所在线段中间位置开一空间以连通外界),输出应打通墙壁的
阅读全文 »
发表于 2018-03-11 11:03阅读:165评论:0推荐:0
摘要:POJ2653 题目大意:按顺序放木棒,问最后所有的木棒中上面没有木棒的木棒的索引是…… 思路:按理说线段相交的题目做的听多了,这个应该不算新鲜,但是这个题,还是让我学到了认真读题,面对这个题很容易想到对于新输入的一根木棒,遍历它前面所有的木棒,判断是否有重合的有的话,把那个被重合木棒的索引标记好,
阅读全文 »
发表于 2018-03-10 20:34阅读:197评论:0推荐:0
摘要:POJ1556 题目大意:比较明显的题目,在一个房间中有几堵墙,直着走,问你从(0,5)到(10,5)的最短路是多少 求最短路问题,唯一变化的就是边的获取,需要我们获取边,这就需要判断我们想要走的这条边会不会经过墙 所以创建点集,线段集合 #include <iostream> #include <
阅读全文 »
发表于 2018-03-10 16:41阅读:194评论:0推荐:0
摘要:依旧是叉积的应用 判定重合:也就是判断给定的点是否共线的问题——叉积为0 if(!cross(p1,p2,p3) && !cross(p1,p2,p4))printf("LINE\n"); 因为给的是整数所以用非号来判断 平行也好说,就用高中知识就行了 else if((x1 - x2) * (y3
阅读全文 »
发表于 2018-03-10 10:43阅读:466评论:0推荐:0
摘要:部分内容摘自http://blog.csdn.net/clover_hxy/article/details/53966405 一、精度控制 计算几何经常牵扯到浮点数的运算,所以就会产生精度误差,因此我们需要设置一个eps(偏差值),一般取1e-10之间,并用下面的函数控制精度 加上括号增加容错性 二
阅读全文 »
发表于 2018-03-09 21:07阅读:346评论:0推荐:0
摘要:这几天学了一下计算几何,很多内容以前都接触过,但是这么多得定理和意义却从来没想到过,也是吃惊得学习了一场 叉积(外积)是一个具有大小和方向得量,方向和点a,b所在得平面垂直,满足右手螺旋定则 a * b得叉积是 double cross(Point p0,Point p1,Point p2) { P
阅读全文 »
发表于 2018-03-08 23:07阅读:137评论:0推荐:0
摘要:poj3159 题目大意:分糖,a 能忍受分的糖果数 最多比b少c个,给你一系列这些关系,求x能忍受y最多多几个 学习了差分约束系统,了解了不等式<=以及>=对应得最短路最长路得转化,数形结合,也就很简单了,不过这个题有bug啊,正常得spfa中队列过不去,看了题解才知道都没过去哈哈哈,然后学习了模
阅读全文 »
发表于 2018-03-08 23:00阅读:222评论:0推荐:0
摘要:POJ1511 问你从1到其它点得所有最短路之和 与 其他点到1得所有最短路之和 得总和 思路很明确就是两次最短路,翻转一次地图就好了 一开始就是两次spfa之间处理好数据得更新管理就好 vector结构体数组存储边得数据 dis存储最短路径 vis表示i是否在队列中 id与cnt来链式前向星 需要
阅读全文 »
发表于 2018-03-08 14:21阅读:217评论:0推荐:0
摘要:原文 : http://027xbc.blog.163.com/blog/static/128159658201141371343475/ ACM主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个计划: 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时
阅读全文 »
发表于 2018-03-07 21:32阅读:171评论:0推荐:0
摘要:2240和1860那个题目很像啊 都是问货币能不能增多,钻社会制度得空子啊哈哈 唯一不同得是你的起点是任意一个点,这个比较麻烦了,多了一层循环嘞 处理货币名可以用map分配id 然后就是老套的Billman_ford算法了 这次联系了Stl中得容器,熟悉熟悉
阅读全文 »
发表于 2018-03-07 21:26阅读:840评论:0推荐:0
摘要:POJ3660 对于flord算法得学习,这篇博客写的非常好http://blog.csdn.net/ljhandlwt/article/details/52096932 这个题问你给你n头牛得前后关系,问你一共可以确定多少头牛得位置了,用到了传递闭包 也就是关系得传递比如 3 > 2 ,2 > 1
阅读全文 »
发表于 2018-03-07 20:45阅读:254评论:0推荐:0
摘要:poj3259 题目大意:穿越虫洞可以回到过去(时间--)所以能不能让时间倒流呢,就是判断有没有负权回路这次尝试用SPFA算法,也可以复习一下链式前向星 准备工作,队列q,spfa算法得有点就在于这个队列,相对于bellman_ford算法来讲,spfa算法并不是盲目得去做松弛操作,而是对队列中的点
阅读全文 »
发表于 2018-03-07 19:22阅读:208评论:0推荐:0
摘要:POJ1860 题目大意:你在某一点有一些钱,给定你两点之间钱得兑换规则,问你有没有办法使你手里的钱增多。就是想看看转一圈我的钱能不能增多,出现这一点得条件就是有兑换钱得正权回路,所以选择用bellman_ford得算法 准备工作,bellman_ford得更新是根据已知边得数据来的,所以需要存住边
阅读全文 »
发表于 2018-03-06 17:35阅读:174评论:0推荐:0
摘要:这个题得主要考点在于给你的图是去了再回来得有向图,如何模块化解决呢就是转变图的方向,我们根据初始得放心求出每个点到x得最短路,然后转变所有路得方向再求出所有点到x得最短路,最后一相加就是最后的来回了~~实现得时候我用到了数组指针,感觉非常得方便 #include <iostream> #includ
阅读全文 »
发表于 2018-03-06 15:41阅读:132评论:0推荐:0
摘要:POJ1797点击打开链接 这个题很是不错我感觉 很容易把这个题和上一个青蛙跳的题联系起来做,我也确实联系起来了,可还是没能完整得Ac,是因为我的算法思路还是最短路,这里错了 这个题目得要求是,从1到n得公路,最大承载量是多少,不仅仅是求最大值,你得确保那个值在这一个通路上都能满足承载得值比如限制1
阅读全文 »
发表于 2018-03-02 17:04阅读:166评论:0推荐:0
摘要:记住这张图,getnext就是对一个已知的待匹配的串进行分析,nex【i】表示当a【i】匹配失败后我能跳到哪里,继续尝试匹配,而不是每一次失败都从头再来,先来看看代码 const int maxn = 1e5; int net[maxn]; char a[maxn]; void get_next(i
阅读全文 »
发表于 2018-03-01 20:42阅读:182评论:0推荐:0
摘要:for(int i = 1;i <= n;i++) { int dpmax = 0; for(int j = 1;j <= m;j++) { dp[i][j] = dp[i-1][j]; if(a[i] > b[j] && dpmax < dp[i-1][j])dpmax = dp[i-1][j];
阅读全文 »
发表于 2018-03-01 20:38阅读:372评论:0推荐:0
摘要:正常的莫比乌斯反演写出后,对应某些题目实践尽然还会被卡,证明还有优化得余地,面对这个反演函数我们能在哪做文章呢?? 求和?NO,莫比函数?NO,F(d)may be? F(d)是我们最不费力的一个,特就是b/i,d/i(b,d是区间上限),但注意这是相除后去余的,所以你模拟一下,看一看 b i b
阅读全文 »