最小生成树kruskal

离散里学过原理了,就是避圈法,将边排序,不断选取最小的,并且不能形成圈(这个就是用并查集来判断)直至全部选完。 自己手写了个代码,差不多就是白书上的,没有检查正确性 const int maxn = 100000 + 5; const int inf = 0x3f3f3f3f; int ran...

2017-06-29 10:38:20

阅读数 106

评论数 0

状态压缩dp学习 + poj3254(最简单的状态压缩dp)

初学状压就找个比较简单的dp,应该是最好想的状态压缩了。 状态压缩dp也就是如果正常开数组,必然会导致内存过大,所有需要另外找一种办法来代替这个问题,那么就用二进制来替代,这应该就是对于状态压缩最通俗的解释了。关于一些二进制的操作比如 1 如何判断数字x第i位是否为1    1 2 将一个数字x二...

2017-06-28 16:21:19

阅读数 448

评论数 0

Codefores 460C-Present(二分+贪心)

在打哈尔滨理工大学个人训练赛做到的题目。 觉得挺不错的,挺锻炼思维的。 题目大意:给定n朵花,每朵花的高度不一样,还有m天,有一种神奇的水可以使相邻的w朵花每天长高1,每天只能浇一次,问最矮的花最后最高能多少。 遇到这种最矮的最高问题,应该很快想到二分才对,但是又没想到。 然后想到二分应该怎么继续...

2017-06-26 21:59:06

阅读数 210

评论数 0

Codefores Round #419 (Div.2) - C. Karen and Game(暴力模拟)

一定要记录一下这道题,因为这是我第一次一点没看题解把一个题AC了。虽然中间WA了一次,看了下错误样例才知道自己错哪(不过确实挺坑的),很兴奋,老泪纵横。 题目大意,给你一个n*m的矩阵,上面有很多数字,这些数字是每次在矩阵某一行或者某一列同时加上1得出的和,必须是一整行或者一整列加1,问你能不能推...

2017-06-26 19:35:25

阅读数 165

评论数 0

POJ 3104(二分)

怎么说呢这题,我觉得二分还是比较好想的,一开始时候直接暴力TLE,但是出乎意料的是思路是对的,用到了k-1,更神奇的是居然后来也想到了二分,但是不会处理,后来想想结合一开始的做就好了, 题目大意就是有n个衣服,每一个物品有一个权值ni,表示其有多少水,每一分钟自然烘干1,然后有一台洗衣机,可以更...

2017-06-16 00:39:11

阅读数 115

评论数 0

欧拉函数

欧拉函数求的是小于n且与n互素的个数(包括1),用到了唯一分解定理。记作φ(n) φ(n) = n(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(k)),其中p1-pk为n的所有质因子,比如12=2×2×3; int oula(int n) {...

2017-06-13 00:01:07

阅读数 102

评论数 0

树状数组BIT

对于树状数组其实是对于二进制的运用。 在平衡二叉树里面将所有结点的右结点删除,然后剩下的结点从左往右编号。  (图是网上找的) 比如给定一个数组arr[8],让你求其中某一段的和,那么树段数组就能运用了。 首先有一个规律就是每个结点(c1、c2等等)对应的二进制与区间长度的关系。 ...

2017-06-01 18:19:48

阅读数 137

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭