10 2016 档案

摘要:http://codeforces.com/problemset/problem/731/F 其实是暴力枚举,但是有些小技巧,直接保存每个数的数量。 枚举每个起点时,然后依次加上起点大小的分段的数量的值,用前缀和效率很高,并且能巧妙跳过重复元素。 阅读全文
posted @ 2016-10-17 00:17 zzzzzzzzhu 阅读(481) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/731/C 并查集,然后找每个集合里颜色的最大数量,求集合中元素数量-这个最大数量,最后总数相加即答案。 阅读全文
posted @ 2016-10-17 00:13 zzzzzzzzhu 阅读(240) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/731/B 模拟模拟。 阅读全文
posted @ 2016-10-17 00:11 zzzzzzzzhu 阅读(190) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/731/A 每次操作总共4种情况,判断一下就好了。 阅读全文
posted @ 2016-10-17 00:09 zzzzzzzzhu 阅读(133) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1222 直接用GCD就可以了,gcd大于1表明每次一周后偏移量为0。 阅读全文
posted @ 2016-10-13 17:24 zzzzzzzzhu 阅读(106) 评论(0) 推荐(0)
摘要:http://acm.xidian.edu.cn/problem.php?id=1035 本来想用goto优化一下的,不知道什么情况,加了goto就wa了。 阅读全文
posted @ 2016-10-12 16:04 zzzzzzzzhu 阅读(194) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3450 直接暴力枚举第一行的每一个字串,在下面的字符串中查找就行了,注意不符合就及时break。 然后试了一下strstr,发现效率是KMP的3-4倍。 还可以先排序找出最短的字符串,然后暴力,但是sort好像不能对char的二维数组排序,只能用 阅读全文
posted @ 2016-10-11 19:33 zzzzzzzzhu 阅读(234) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2185 求最小覆盖矩阵,把KMP扩展到二维,行一次,列一次,取最小覆盖线段相乘即可。 阅读全文
posted @ 2016-10-11 16:49 zzzzzzzzhu 阅读(207) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2752 求字符串的字串,使前缀后缀都为这个字串,按字母数量排序输出数量。 用了KMP的未优化的next数组。 阅读全文
posted @ 2016-10-10 20:07 zzzzzzzzhu 阅读(134) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/492/E 题目规定了gcd=1,可以在纸上模拟一下,发现每一个起点,都会经历过n个点,n个点都是不同行不同列。可以把这n个点归为一组,一共n组。 我们按照纵坐标来编号,然后求出每一组的数量就可以得出答案了。 阅读全文
posted @ 2016-10-10 17:35 zzzzzzzzhu 阅读(250) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/338/D 中国剩余定理的应用,思路是确定可能符合的最小行和最小列,然后判断是否符合。若不符合则后面的(最小的倍数)也不会符合。 寻找最小行和最小列就用了非互质中国剩余定理模版。 阅读全文
posted @ 2016-10-10 16:01 zzzzzzzzhu 阅读(204) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/327/C 等比求和相加,有mod的出现,所以要算逆元。 阅读全文
posted @ 2016-10-10 00:24 zzzzzzzzhu 阅读(191) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1006 中国剩余定理用来解求模方程组,用到了逆元。 这题三个数互质,直接用扩展欧几里德可得逆元。 阅读全文
posted @ 2016-10-09 22:00 zzzzzzzzhu 阅读(152) 评论(0) 推荐(0)
摘要:一道拖了很久了题,用bool开的vis不会爆内存,dfs回溯的话会超时,于是有了一个很巧妙的dfs。 阅读全文
posted @ 2016-10-09 16:47 zzzzzzzzhu 阅读(378) 评论(3) 推荐(0)
摘要:http://codeforces.com/problemset/problem/334/C 求不能凑整n,和最小,数量最多的数量。 阅读全文
posted @ 2016-10-08 23:45 zzzzzzzzhu 阅读(193) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 直接set做就好了,注意set的迭代器只能--之类的操作。 OJ崩了,也不知道对错。 阅读全文
posted @ 2016-10-06 19:50 zzzzzzzzhu 阅读(225) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5145 初探莫队,就是离线排序后的暴力,但是效率大大提高,中间要除法取模,所以用到了逆元。 阅读全文
posted @ 2016-10-06 19:09 zzzzzzzzhu 阅读(183) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5058 set容器的使用,set中保持元素的唯一性和有序性。 也可以用排序加离散化来模拟。 阅读全文
posted @ 2016-10-06 01:20 zzzzzzzzhu 阅读(146) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5057 分块,保存每个块中每位对应数字的和,复杂的是getmum,左右下标所在的块不能直接读取block数组,要重新自己计算。 阅读全文
posted @ 2016-10-06 00:48 zzzzzzzzhu 阅读(241) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 分块基础题,初次接触,很巧妙。 OJ好像挂了,没法提交。 阅读全文
posted @ 2016-10-05 22:03 zzzzzzzzhu 阅读(148) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1166 树状数组入门题。 阅读全文
posted @ 2016-10-05 01:34 zzzzzzzzhu 阅读(149) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5692 这道题真的是看了题解还搞了一天,把每条路径后序遍历按1-n重新标号,储存每个点在哪些路径中出现过(l和r数组),然后转化成线段树来更新和取最大值。 注意,如果使用递归建线段树,数组要开4n才能保证不超。 刚 阅读全文
posted @ 2016-10-05 01:16 zzzzzzzzhu 阅读(130) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1394 线段树入门题,每次读入一个数,就寻找在树中比它大的值的个数,然后更新树,把个数相加就是逆序数,每移动一个数,相当于当前逆序数加上比首元素大的数的数量,减去比首元素小的数的数量。 阅读全文
posted @ 2016-10-04 14:04 zzzzzzzzhu 阅读(122) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/723/D dfs找出每个湖,保存坐标和大小,按大小排序,填充湖即可,注意湖的数量最多会有1250个。 阅读全文
posted @ 2016-10-04 01:49 zzzzzzzzhu 阅读(147) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/723/C 将n个数替换为1-m内的数,使得1-m的个数的最小值最大,并且替换步骤最少。注意,不必将每个数都替换!! 阅读全文
posted @ 2016-10-03 23:48 zzzzzzzzhu 阅读(197) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/723/B 求括号内单词数和括号外最大单词长度,注意细心,尤其是ok和sum的置0。 阅读全文
posted @ 2016-10-03 23:46 zzzzzzzzhu 阅读(205) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/723/A 取中间那个数就可以了,答案为最大值减最小值。 阅读全文
posted @ 2016-10-03 23:45 zzzzzzzzhu 阅读(106) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4456 第一道二维树状数组就这么麻烦,题目要计算的是一个菱形范围内的和,于是可以把原来的坐标系旋转45度,就是求一个正方形范围内的和,这里还涉及到坐标系平移和放大,由于题目数据较大,用了离散化来保存需要处理的点,放 阅读全文
posted @ 2016-10-03 18:56 zzzzzzzzhu 阅读(301) 评论(0) 推荐(0)