关闭

树状数组(二维)

今天学习了一维的数组数组,就又学了学二维的树状数组,其实,二维树状数组和一维的套路差不多,就是在处理的时候有一点点不同而已。。一维树状数组更新是这样的:void add(int x,int val) { for(;x<=n;x+=lowbit(x)) { num[x]+=val; } } 二维树状数组更新是这样的:void add(...
阅读(89) 评论(0)

树状数组(一维)

今天学习了一天的树状数组,感觉有点小懂,但是理解还不够透彻,大致现在博客上写写心得,下回不会再回过头来看,,,,ORZ先讲讲一维的树状数组:·以下有引用到大牛博客:http://blog.csdn.net/int64ago/article/details/7429868一维树状数组解决的大致问题就是:修改某点的值、求某个区间的和,,引用大牛的一段话: 树状数组是干什么的? 平...
阅读(93) 评论(0)

HDU-4462(状态压缩,枚举)

题目:hdu-4462欢迎转载,转载请注明出处。。。题目大意:n*n(<=50)的地图上有稻草,有m(<=10)个点没有稻草可以放稻草人,问最少放几个稻草人,能守卫所有稻草。不能守卫所有稻草输出-1。 思路:枚举所有情况,就是枚举取多少个地方放稻草人,也就是:C(n,1)+C(n,2)+……C(n,n)=1<#include #include #include...
阅读(75) 评论(0)

HDU-4460(bfs搜索)

题目大意:有n个人,m个关系,A认识B经过最少的人数为A到B的关系长度,问在这n个人中,任意两个人相互认识的最长关系长度为多少。如果有两个人无法通过关系认识则输出-1。换句话解释题意就是说求最短路的最大值(相邻两点的距离为1),数据范围是点数 1000 ,边数20000, 难道要求所有点之间的最短路再求最大值, O(n^3) 有点大。怎么办呢? 其实是可以优化的,从一个源点用BFS一圈一圈地向外扩...
阅读(72) 评论(0)

CodeForces - 766C(基础dp)

题目链接:https://vjudge.net/contest/170950#problem/C题目大意:给一串字符串,只包含26个字母,可以把这串字符串分成若干个子串,但是限定每个字母只能出现在长度Ax的子串里,问最多有多少种分割方案,方案数对1e9+7取膜,以及分割子串最大长度,和最少分割子串数量。思路:设dp[i]为从0到i这段字符串的分割方案数,为了满足字符a[i]的限定条件,我们只能在i-...
阅读(118) 评论(0)

UVA-1422(贪心+二分+优先队列)

今天怕是石乐志。。。。题目:UVA-1422题目大意:给你n个任务,每个任务要在【l,r】的时间内完成w个工作量,注意坑点*就是这个任务可以分段完成,就是先完成一部分再在另外一个时间完成另一部分*,那么这题肯定是贪心,将完成时间靠前的先考虑,然后二分工作速度,就是每分钟做多少个工作量,然后枚举每一秒,在每一秒内,找到任务开始时间在这时间里的那些任务,优先做那些结束时间早的任务,所以要用优先队列维护。...
阅读(108) 评论(0)

欧拉函数应用

题目:https://vjudge.net/contest/173827#problem/E(UVA:11426)这题真是值得反省自己,之前做过一遍,比赛的时候硬是没想起来怎么做的,完全没有思路,这就很难受,很绝望,所以这回认认真真的把这个题又补了一遍。。。题意: G=0; for(i=1;iphi[1]=1; for(int i=2; i<maxn; i++) {...
阅读(88) 评论(0)

最小生成树总结

最小生成树算法: Prim算法和Kruskal算法prim算法:1).输入:一个加权连通图,其中顶点集合为V,边集合为E;2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;3).重复下列操作,直到Vnew = V:a.在集合E中选取权值最小的边#include #include #include...
阅读(79) 评论(0)

区间dp

区间dp题目链接:https://vjudge.net/contest/169127#problem/F这是我做的第一个区间dp,个人觉得,区间dp就是根据区间的变化来反映整个区间的变化,通过一个个小区间的动归的递推,很容易得出最后的整个区间。题意:告诉有n场晚会中需要穿的衣服,衣服是可以套在其他衣服外面的,告诉了序列顺序之后求出最少需要穿多少次衣服。解题思路:使用dp[i][j]来表示区间 i~j...
阅读(131) 评论(0)

kmp算法总结

kmp算法推荐博客:(1)http://blog.csdn.net/starstar1992/article/details/54913261(2)http://www.cnblogs.com/c-cloud/p/3224788.html前几天学习了kmp算法,今天发现自己理解得还不是很透彻,所以今天就又回头翻了翻大佬们的博客,,,kmp算法用途:给你一个主字符串T,和一个目标字符串P,要求你从T中...
阅读(156) 评论(0)

拓扑排序

拓扑排序此代码来自于我的队友kls ,原博客:dlkkill.top,拓扑排序,是一种按照一定的先后规则,来进行排序。 一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)...
阅读(205) 评论(0)

卢卡斯定理(Lucas)

Lucas题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3037题目大意:求C(n,m)%p;题目思路:卢卡斯定理#include #include using namespace std; typedef long long ll; ll a[100000+10]; ll quick_mod(int a,int...
阅读(119) 评论(0)

容斥原理

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2906本题大致意思是讲:给定一个广场,把它分为M行N列的正方形小框。现在给定有K个拉拉队员,每一个拉拉队员需要站在小框内进行表演。但是表演过程中有如下要求:(1)每一个小框只能站立一个拉拉队员;(2...
阅读(69) 评论(0)

好久不做cf感到难受

反省篇。。。。最近由于期末考试,好久没有做cf那些题了,感觉热情好像有点下降,是时候反省反省,毕竟考试并不是不学不敲的理由。于是我决定给自己立个flag,考完试好好敲代码,先学两个周的图论,结合离散课上学习的几种图的算法,感觉对图的理解又加深了不少,所以打算趁热打铁,先学两个周的图论,然后看看效果怎么样,接着再去搞搞dp、就这样吧,先把各门考试考好再说。。。...
阅读(278) 评论(0)

二分图最大独立集

最大独立集题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1083匈牙利算法详解链接:http://blog.csdn.net/dark_scope/article/details/8880547思路:用匈牙利算法算出二分图的最大匹配数,然后求得最大独立集=节点数-二分图最大匹配数/2;二分图最大匹配数代码如下#include #i...
阅读(103) 评论(0)
71条 共5页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:8980次
    • 积分:771
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:2篇
    • 译文:0篇
    • 评论:3条