题意:给定一个单链表,判断该链表中是否存在环,如果存在,返回环开始的节点
思路:
1.定义两个指针,快指针fast每次走两步,慢指针s每次走一次,如果它们在非尾结点处相遇,则说明存在环
2.若存在环,设环的周长为r,相遇时,慢指针走了 slow步,快指针走了 2s步,快指针在环内已经走了 n环,
则有等式 2s = s + nr => s = nr
3.在相遇的时候,另设一个每次走一步的慢指针slow2从链表开头往前走。因为 s = nr,所以两个慢指针会在环的开始点相遇
复杂度:时间O(n)
struct...
分类:
其他好文 时间:
2014-08-30 23:07:40
阅读次数:
187
题目链接:点击打开链接
题意:
给了一棵树
每个点有点权
操作1 : 1 u 表示询问 gcd(Valueof(u), Valueof(v) ) != 1 的所有v 点中深度最大的点
[ v是 path(u, root); && v!=u ]
操作2 : 2 u w 修改点权
因为操作2的个数不超过50个,所以每次更新点权后都把所有答案预处理一遍。这样回答是O(1...
分类:
其他好文 时间:
2014-08-30 21:49:00
阅读次数:
404
UVA 1391 - Astronauts
题目链接
题意:给定一些宇航员,年龄小于平均数能做A和C,大于等于能做B和C,现在知道一些宇航员互相憎恨,不能让他们做同一个任务,问一直种安排方法满足条件
思路:2set问题,如果两种宇航员类型相同,就两个宇航员做不一样,加一条真或真,和假或假的边,如果类型不同,就加一条真或真的边
代码:
#include
#includ...
分类:
其他好文 时间:
2014-08-30 21:46:30
阅读次数:
224
Codeforces Round #264 (Div. 2)[ABCDE]
ACM
题目地址: Codeforces Round #264 (Div. 2)
这场只出了两题TAT,C由于cin给fst了,D想到正解快敲完了却game over了...
掉rating掉的厉害QvQ...
A - Caisa and Sugar【模拟】
题意:
Cai...
分类:
其他好文 时间:
2014-08-30 21:46:20
阅读次数:
403
题目链接:
huangjing
题意:
给n个数,然后有两种操作。
【1】Q a b 询问a到b区间的和。
【2】C a b c将区间a到b的值都增加c。
思路:
线段树成段更新的入门题目。。学会使用lazy即可。还需要注意的是,lazy的时候更改是累加,而不是直接修改。。有可能连续几次进行修改操作。。注意这一点就好了。。。
题目:
Language:
De...
分类:
其他好文 时间:
2014-08-30 21:46:10
阅读次数:
298
1 /* 2 题意:给你一个n*n的格子,每一个格子都有一个数值!将两只bishops放在某一个格子上, 3 每一个bishop可以攻击对角线上的格子(主对角线和者斜对角线),然后会获得格子上的 4 数值(只能获取一次)。要求输出两个bishops获取的最大值以及它们所在的...
分类:
其他好文 时间:
2014-08-30 21:41:00
阅读次数:
236
题意: 给出最多5个序列,问这几个序列的最长公共子序列的长度是多少。solution : 脑抽级别我是,第一个序列每个数字位置固定,这样只要维护一个k-1维的偏序集就好了。然后在保证每个位置合法的情况下走一遍最长上升子序列就好了。1#include2usingnamespacestd;3consti...
分类:
其他好文 时间:
2014-08-30 21:33:20
阅读次数:
173
A. Caisa and Sugar题意:你有s美元,有n样东西,找钱的零钱会换为糖,1美分=1糖,只能买一样东西的一个,求最多获得多少个糖果题解:模拟即可。因为c++语法问题fst了。。。 论掌握一门语言的重要性。。。代码: 1 #include 2 #include 3 #include ...
分类:
其他好文 时间:
2014-08-30 20:18:39
阅读次数:
358
A题 我只想说题意很坑,一不小心就会wa,哎,不机智的我竟然在最后判题的过程中错了,少加一个判断语句。错的值了,你说呢?
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define pi acos(-1.0)
#define inf 0xfffffff
#define max...
分类:
其他好文 时间:
2014-08-30 19:07:19
阅读次数:
140
UVA 1146 - Now or later
题目链接
题意:n个飞机,每个飞机有一个早到时间和一个晚到时间,问怎么安排飞机,使得飞机到的间隔的最小值最大
思路:二分答案,然后利用2-set去判断,如果两个飞机的两个时刻间隔比这个时刻小,那么就是表示不能同时满足这两个条件,就加一条xi^xj的边进去,然后利用2-SET判定一下
代码:
#include
#includ...
分类:
其他好文 时间:
2014-08-30 16:29:39
阅读次数:
209