题意:求一个环的最长回文序列,是序列不是串链接:点我起点是可以任意的,所以只要求出每个区间的最长回文序列之后取max(dp[1][i]+dp[i+1][n]),即可得最终答案本来是想扩展两倍的,但是后来的最大不太好想将 环倍增成链,求出窗口为n的最长子序列,但这不是最终的解,你可以试看看Sample...
分类:
其他好文 时间:
2015-05-07 06:19:47
阅读次数:
114
2243: [SDOI2011]染色Time Limit: 20 SecMemory Limit: 256 MB题目连接http://www.lydsy.com/JudgeOnline/problem.php?id=2243Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、...
分类:
其他好文 时间:
2015-05-04 01:05:13
阅读次数:
225
【分析】
倍增算法 or 线段树。
笔者使用倍增算法。
扩充倍增算法,记录pre[K][N],mn[K][N],mx[K][N],l_r[K][N],r_l[K][N],分别保存对应节点,最小值,最大值,从左到右的答案,从右到左的答案。
首先奠定基础,pre[0][i]=max(i+1,n),mn[0][i]=min(value[i],value[pre[0][i]]),mx同理,l_r[...
分类:
其他好文 时间:
2015-05-02 19:31:57
阅读次数:
171
题意:有一个科学家提出了一个假设,一种虫子只有异性恋,而不是同性恋,然后开始实验来验证猜想,给出了n个虫子,编号从1到n,给出了q组恋爱虫子的编号,问是否验证猜想。
题解:数组倍增,给每个虫子一个异性恋的对象集合,然后每次输入的两个虫子如果不在同一个集合内,就放到对方异性恋集合内,否则无法验证猜想。#include
const int N = 4005;
int n, q, p...
分类:
其他好文 时间:
2015-05-02 18:16:22
阅读次数:
114
Day1: 第一题:裸地二分+网络流:二分答案,连接将每行每列拆成点,对于满足答案的格子行列连边,看是否流量是否大于t即可,可惜第k大看成了第k小,然后100分就没了。 第二题:倍增,考虑贪心算法,就是考虑选了当前的线段,下一次选的必定是左端点小于当前右端点,右端点尽量靠后的线段,因此在化环为链.....
分类:
其他好文 时间:
2015-04-19 22:38:08
阅读次数:
151
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 20487
Accepted: 10784
Description
A rooted tree is a well-known data structure in computer science and engineering. An e...
分类:
其他好文 时间:
2015-04-16 21:59:39
阅读次数:
186
假设树的直径的两个端点为p0,p1。如果对于一次询问(v,k)存在点q满足要求,那么q必然在v到p0或v到p1的路径上。
剩下的就是在树上寻找p了。倍增就好了。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#defi...
分类:
其他好文 时间:
2015-04-16 17:43:34
阅读次数:
131
简述求LCA的倍增算法 对于树上的所有节点,我们可以很轻松地通过dfs求出其直接的父亲节点以及其深度 通过类似RMQ的原理我们可以处理出每个节点的第2^i个父亲 //这个过程既可以在dfs之后双重循环建也可以像树剖模板里那样dfs里直接建 //个人比较推荐后者,会少掉一些不必要的运算,但由于...
分类:
编程语言 时间:
2015-04-15 12:55:45
阅读次数:
148
整天跟数据库打交道的程序员都知道,当数据库的Schema发生改变时是多么痛苦的事情。尤其是一个在不断开发完善的项目,随着需求变化,数据库的schema也会跟着变化,而追踪记录这些变化一向都是费时费力。如果你拥有多个测试环境,那么保证这些环境下的数据库的一致性的难度会成倍增加。Flyway,一款小工具...
分类:
数据库 时间:
2015-04-14 01:53:11
阅读次数:
211