会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
FuTaimeng
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
···
10
下一页
2016年7月9日
最近公共祖先 LCA 倍增算法
摘要: 倍增算法可以在线求树上两个点的LCA,时间复杂度为nlogn 预处理:通过dfs遍历,记录每个节点到根节点的距离dist[u],深度d[u] init()求出树上每个节点u的2^i祖先p[u][i] 求最近公共祖先,根据两个节点的的深度,如不同,向上调整深度大的节点,使得两个节点在同一层上,如果正好
阅读全文
posted @ 2016-07-09 12:29 FuTaimeng
阅读(10496)
评论(1)
推荐(6)
2016年7月8日
code1105 过河
摘要: dp方程很简单: f[i] = min{ f[i-j] } + stone[i] 但是数据10^9太大了,超时超空间,这样只能过30% 来自:http://blog.csdn.net/w19960702123/article/details/40478187 当我们看到10^9与100块石头,和s,
阅读全文
posted @ 2016-07-08 17:38 FuTaimeng
阅读(345)
评论(0)
推荐(0)
code3286 火柴排队
摘要: 这道题目相当于是让我们把a,b对齐,即a中第i大的数与b中第i大的数下标相同一看到交换次数,很容易让人想到归并排序我的做法是这样的就样例而言:a:1 3 4 2b:1 7 2 4读进来之后先处理a,b 把a,b按大小离散成1..n离散之后a:1 3 4 2 b:1 4 2 3那么我们现在的问题就变成
阅读全文
posted @ 2016-07-08 12:13 FuTaimeng
阅读(151)
评论(0)
推荐(0)
逆序对 分治nlogn
摘要: 定义:A是包含n个元素的有序序列{a1,a2 … an},若ai > aj 且 i < j ,则称 (ai , aj)是A的一个逆序对。求逆序对是指求出A中存在逆序对的数量。 这个算法是归并排序的演化,仅需加上一行,就可以求逆序对个数。 简单的概括是:在把两个子序列合并时(两个子序列已经有序),如果
阅读全文
posted @ 2016-07-08 12:12 FuTaimeng
阅读(745)
评论(1)
推荐(0)
code1135 选择客栈
摘要: 首先,预处理三个数组。 pre[x]表示在此之前颜色为x的客栈有多少个。 f[x]表示在此之前的客栈中,某个点c,c的颜色为x,并且从c点到已经读入的点之间有费用小于p的客栈,这样的c点的个数 last[x]表示上一个颜色为x的客栈出现在哪 那么接下来的事情就很显然了。 首先读进去一个客栈,如果这个
阅读全文
posted @ 2016-07-08 09:59 FuTaimeng
阅读(240)
评论(0)
推荐(0)
code3289 花匠
摘要: 题目大意是求一个最长的抖动的子序列 题解中有一个大神写下了这样的代码: a、b分别表示当前最长的末尾是上升的、下降的子序列的长度,根据每次当前节点x和上一个y的关系更新a、b 好聪明... 感觉我经常把题想难...
阅读全文
posted @ 2016-07-08 09:09 FuTaimeng
阅读(110)
评论(0)
推荐(0)
2016年7月6日
code1167 树网的核
摘要: floyd+枚举 看点: 1.floyd同时用数组p记录转移节点k,这样知道线段的端点u v就可以得到整条线段 2.任意一点c到线段a b的距离=(d[a][c]+d[c][b]-d[a][b])/2 3.枚举直径st en的所有子线段a b: for(int a=en;a;a=p[st][a])
阅读全文
posted @ 2016-07-06 16:57 FuTaimeng
阅读(180)
评论(0)
推荐(0)
2016年7月5日
线段树
摘要: #include #include #define Size 1000005 using namespace std; struct Node{ int l,r,mid; long long sum,tag; }tree[Size]; void build(int num,int l,int r){//建树 tree[num].l=l; tree[num].r...
阅读全文
posted @ 2016-07-05 08:51 FuTaimeng
阅读(138)
评论(0)
推荐(0)
2016年7月2日
二分图 and code1170 双栈排序
摘要: 6.6二分图 二分图是这样一个图: 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边直接相连接。 无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。 判断二分图的常见方法是染色法: 开始对任意一未染色的顶点染色,之后判断其相邻的顶点中,若未染色
阅读全文
posted @ 2016-07-02 21:57 FuTaimeng
阅读(171)
评论(0)
推荐(0)
2016年6月23日
code1001 舒适的路线
摘要: n次最小生成树kruskal 将所有的边排序,权值小的在前。 设排序后第i条边为路径中的最长边,那么这条路径一定是由1~i中的一些边组成 因为最高速和最低速的差尽量小,最高速确定了,最低速应尽量大。 所以j从i downto 1,将边j加入边集,如果此时s和t联通了(s t在并查集的一个集合中),那
阅读全文
posted @ 2016-06-23 18:27 FuTaimeng
阅读(1148)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
10
下一页
公告