上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 57 下一页

2016年10月13日

线段树 & 题目

摘要: 首先说下我写的线段树吧。 我是按照线段树【完全版】那个人的写法来写的,因为网上大多数题解都是按照他的写法来写。 确实比较飘逸,所以就借用了。 节点大小是maxn是4倍,准确来说是大于maxn的2^x次方的最小值的两倍。 lson 和 rson 用宏定义写了。因为是固定的量。 线段树不必保存自身的区间 阅读全文

posted @ 2016-10-13 00:00 stupid_one 阅读(344) 评论(0) 推荐(0) 编辑

2016年10月9日

POJ 3735 Training little cats 矩阵快速幂

摘要: http://poj.org/problem?id=3735 给定一串操作,要这个操作连续执行m次后,最后剩下的值。 记矩阵T为一次操作后的值,那么T^m就是执行m次的值了。(其实这个还不太理解,但是数据一相乘,就是ans) 构造一个0--n的单位矩阵,用第0行作为各个猫的值,这样的话,用A={1, 阅读全文

posted @ 2016-10-09 15:55 stupid_one 阅读(223) 评论(0) 推荐(0) 编辑

B. Batch Sort

摘要: http://codeforces.com/contest/724/problem/B 被坑了,一开始以为如果有一行已经是排好序了,然后有一行需要转换的次数 >= 2的话,那就直接no了。 因为一开始以后转换次数>=2必定需要用了转换列,然后就搞乱了排序好的哪一行,但是排序好的那一行可以用交换两个数 阅读全文

posted @ 2016-10-09 00:00 stupid_one 阅读(150) 评论(0) 推荐(0) 编辑

2016年10月7日

D. Blocks 数学题

摘要: Panda has received an assignment of painting a line of blocks. Since Panda is such an intelligent boy, he starts to think of a math problem of paintin 阅读全文

posted @ 2016-10-07 13:26 stupid_one 阅读(441) 评论(0) 推荐(0) 编辑

2016年10月6日

后缀数组 & 题目

摘要: 后缀数组被称为字符串处理神器,要解决字符串问题,一定要掌握它。(我这里的下标全部都是从1开始) 首先后缀数组要处理出两个数组,一个是sa[],sa[i]表示排名第i为的后缀的起始位置是什么,rank[i]表示第i个字符为起始点的后缀,它的排名是什么。可以知道sa[rank[i]] = i; rank 阅读全文

posted @ 2016-10-06 03:06 stupid_one 阅读(951) 评论(1) 推荐(0) 编辑

Codeforces Round #375 (Div. 2) D. Lakes in Berland 并查集

摘要: http://codeforces.com/contest/723/problem/D 这题是只能把小河填了,题目那里有写,其实如果读懂题这题是挺简单的,预处理出每一块的大小,排好序,从小到大填就行了。 以前找这些块的个数用的是dfs。现在这次用并查集做下。 首先要解决的是,二维坐标怎么并查集,以前 阅读全文

posted @ 2016-10-06 00:43 stupid_one 阅读(257) 评论(0) 推荐(0) 编辑

2016年10月5日

Sum vs XOR

摘要: https://www.hackerrank.com/contests/hourrank-13/challenges/arthur-and-coprimes 要求找出所有x <= n x + n = x ^ n的个数。 首先如果n的二进制是100101010 n = 298 这样的话 先考虑最高位的 阅读全文

posted @ 2016-10-05 02:13 stupid_one 阅读(226) 评论(0) 推荐(0) 编辑

2016年10月3日

Codeforces Round #375 (Div. 2) Polycarp at the Radio 优先队列模拟题 + 贪心

摘要: http://codeforces.com/contest/723/problem/C 题目是给出一个序列 a[i]表示第i个歌曲是第a[i]个人演唱,现在选出前m个人,记b[j]表示第j个人演唱歌曲的数量, 现在你可以改变a[]这个数组,使得前m个人的演唱歌曲的数量的最小值最大。 很明显对于前m个 阅读全文

posted @ 2016-10-03 22:51 stupid_one 阅读(177) 评论(0) 推荐(0) 编辑

2016年10月2日

HDU 2473 Junk-Mail Filter 并查集,虚拟删除操作

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2473 给定两种操作 第一种是合并X Y 第二种是把X分离出来,就是从原来的集合中分离出来,其它的关系不变。 关键是怎么分离,可以考虑把它变成一个其它值。HASH[i] = other_val 然后用新值去做并查集 阅读全文

posted @ 2016-10-02 22:54 stupid_one 阅读(204) 评论(0) 推荐(0) 编辑

C. Destroying Array 并查集,逆向思维

摘要: 用并查集维护线段,从后往前枚举没个删除的位置id[i] 那么,现在删除了这个,就是没有了的,但是上一个id[i + 1]就是还没删除的。 然后现在进行合并 int left = id[i + 1];(相当于每次都加入一个元素a[left]) 它在这个位置,如果能和左右的合并,就是左右邻居都有元素,那 阅读全文

posted @ 2016-10-02 15:53 stupid_one 阅读(216) 评论(0) 推荐(0) 编辑

上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 57 下一页

导航